2020-12-14 20:20:45 +08:00
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
2021-07-12 18:35:57 +08:00
|
|
|
<Project ToolsVersion="4.0"
|
|
|
|
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
2020-12-14 20:20:45 +08:00
|
|
|
|
|
|
|
<!-- Project configurations -->
|
|
|
|
<ItemGroup Label="ProjectConfigurations">
|
|
|
|
<ProjectConfiguration Include="Debug|x64">
|
|
|
|
<Configuration>Debug</Configuration>
|
|
|
|
<Platform>x64</Platform>
|
|
|
|
</ProjectConfiguration>
|
|
|
|
<ProjectConfiguration Include="Release|x64">
|
|
|
|
<Configuration>Release</Configuration>
|
|
|
|
<Platform>x64</Platform>
|
|
|
|
</ProjectConfiguration>
|
2022-08-27 07:17:20 +08:00
|
|
|
<ProjectConfiguration Include="Debug|ARM64">
|
|
|
|
<Configuration>Debug</Configuration>
|
|
|
|
<Platform>ARM64</Platform>
|
|
|
|
</ProjectConfiguration>
|
|
|
|
<ProjectConfiguration Include="Release|ARM64">
|
|
|
|
<Configuration>Release</Configuration>
|
|
|
|
<Platform>ARM64</Platform>
|
|
|
|
</ProjectConfiguration>
|
2020-12-14 20:20:45 +08:00
|
|
|
</ItemGroup>
|
2021-07-12 18:35:57 +08:00
|
|
|
|
2022-12-10 08:09:26 +08:00
|
|
|
<!-- Run code analysis locally and in PR CI, but not on release CI -->
|
|
|
|
<PropertyGroup Condition="'$(SkipCppCodeAnalysis)' == ''">
|
|
|
|
<RunCodeAnalysis>true</RunCodeAnalysis>
|
|
|
|
<CodeAnalysisRuleSet>$(MsbuildThisFileDirectory)\CppRuleSet.ruleset</CodeAnalysisRuleSet>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
2020-12-14 20:20:45 +08:00
|
|
|
<!-- C++ source compile-specific things for all configurations -->
|
2021-07-12 18:35:57 +08:00
|
|
|
<PropertyGroup>
|
2022-09-05 20:39:56 +08:00
|
|
|
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
2022-12-16 07:40:29 +08:00
|
|
|
<PreferredToolArchitecture Condition="'$(PROCESSOR_ARCHITECTURE)' == 'ARM64' or '$(PROCESSOR_ARCHITEW6432)' == 'ARM64'">arm64</PreferredToolArchitecture>
|
2022-08-27 07:17:20 +08:00
|
|
|
<VcpkgEnabled>false</VcpkgEnabled>
|
2022-10-26 00:33:23 +08:00
|
|
|
<ExternalIncludePath>$(MSBuildThisFileFullPath)\..\deps\;$(MSBuildThisFileFullPath)\..\packages\;$(ExternalIncludePath)</ExternalIncludePath>
|
2023-10-04 22:40:01 +08:00
|
|
|
<!-- Enable control flow guard for C++ projects that don't consume any C++ files -->
|
|
|
|
<!-- This covers the case where a .dll exports a .lib, but doesn't have any ClCompile entries. -->
|
|
|
|
<LinkControlFlowGuard>Guard</LinkControlFlowGuard>
|
2021-07-12 18:35:57 +08:00
|
|
|
</PropertyGroup>
|
2020-12-14 20:20:45 +08:00
|
|
|
<ItemDefinitionGroup>
|
|
|
|
<ClCompile>
|
2024-03-22 18:29:14 +08:00
|
|
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
|
|
<PrecompiledHeader Condition="'$(UsePrecompiledHeaders)' != 'false'">Use</PrecompiledHeader>
|
2022-11-09 22:41:14 +08:00
|
|
|
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
2022-11-09 00:27:24 +08:00
|
|
|
<WarningLevel>Level4</WarningLevel>
|
2023-10-19 22:04:09 +08:00
|
|
|
<DisableSpecificWarnings>4679;5271;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
2021-07-12 18:35:57 +08:00
|
|
|
<DisableAnalyzeExternal >true</DisableAnalyzeExternal>
|
|
|
|
<ExternalWarningLevel>TurnOffAllWarnings</ExternalWarningLevel>
|
2020-12-14 20:20:45 +08:00
|
|
|
<ConformanceMode>false</ConformanceMode>
|
2020-12-21 23:51:48 +08:00
|
|
|
<TreatWarningAsError>true</TreatWarningAsError>
|
2020-12-14 20:20:45 +08:00
|
|
|
<LanguageStandard>stdcpplatest</LanguageStandard>
|
2023-10-04 22:40:01 +08:00
|
|
|
<BuildStlModules>false</BuildStlModules>
|
2020-12-14 20:20:45 +08:00
|
|
|
<AdditionalOptions>/await %(AdditionalOptions)</AdditionalOptions>
|
2023-10-19 22:04:09 +08:00
|
|
|
<!-- TODO: _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING for compatibility with VS 17.8. Check if we can remove. -->
|
|
|
|
<PreprocessorDefinitions>_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
2023-10-04 22:40:01 +08:00
|
|
|
<!-- CLR + CFG are not compatible >:{ -->
|
|
|
|
<ControlFlowGuard Condition="'$(CLRSupport)' == ''">Guard</ControlFlowGuard>
|
|
|
|
<DebugInformationFormat Condition="'%(ControlFlowGuard)' == 'Guard'">ProgramDatabase</DebugInformationFormat>
|
2023-11-23 01:52:32 +08:00
|
|
|
<SDLCheck>true</SDLCheck>
|
2020-12-14 20:20:45 +08:00
|
|
|
</ClCompile>
|
|
|
|
<Link>
|
|
|
|
<SubSystem>Windows</SubSystem>
|
2021-07-12 18:35:57 +08:00
|
|
|
</Link>
|
2020-12-21 23:51:48 +08:00
|
|
|
<Lib>
|
|
|
|
<TreatLibWarningAsErrors>true</TreatLibWarningAsErrors>
|
2021-07-12 18:35:57 +08:00
|
|
|
</Lib>
|
2020-12-14 20:20:45 +08:00
|
|
|
</ItemDefinitionGroup>
|
|
|
|
|
|
|
|
<!-- C++ source compile-specific things for Debug/Release configurations -->
|
2022-04-20 06:24:58 +08:00
|
|
|
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
|
2020-12-14 20:20:45 +08:00
|
|
|
<ClCompile>
|
|
|
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
|
|
<Optimization>Disabled</Optimization>
|
|
|
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
|
|
|
</ClCompile>
|
|
|
|
<Link>
|
|
|
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
2021-07-12 18:35:57 +08:00
|
|
|
</Link>
|
2020-12-14 20:20:45 +08:00
|
|
|
</ItemDefinitionGroup>
|
2022-04-20 06:24:58 +08:00
|
|
|
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
|
2020-12-14 20:20:45 +08:00
|
|
|
<ClCompile>
|
|
|
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
|
|
<Optimization>MaxSpeed</Optimization>
|
|
|
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
|
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
|
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
2021-07-12 18:35:57 +08:00
|
|
|
</ClCompile>
|
2020-12-14 20:20:45 +08:00
|
|
|
<Link>
|
|
|
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
|
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
|
|
<OptimizeReferences>true</OptimizeReferences>
|
2021-07-12 18:35:57 +08:00
|
|
|
</Link>
|
2020-12-14 20:20:45 +08:00
|
|
|
</ItemDefinitionGroup>
|
|
|
|
|
|
|
|
<!-- Global props -->
|
2022-08-27 07:17:20 +08:00
|
|
|
<PropertyGroup Label="Globals"
|
|
|
|
Condition="'$(OverrideWindowsTargetPlatformVersion)'!='True'">
|
2023-07-20 07:12:46 +08:00
|
|
|
<WindowsTargetPlatformVersion>10.0.20348.0</WindowsTargetPlatformVersion>
|
|
|
|
<TargetPlatformVersion>10.0.20348.0</TargetPlatformVersion>
|
|
|
|
<WindowsTargetPlatformMinVersion>10.0.19041.0</WindowsTargetPlatformMinVersion>
|
2020-12-14 20:20:45 +08:00
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<!-- Props that are constant for both Debug and Release configurations -->
|
|
|
|
<PropertyGroup Label="Configuration">
|
2022-02-07 22:08:30 +08:00
|
|
|
<PlatformToolset Condition="'$(OverridePlatformToolset)'!='True'">v143</PlatformToolset>
|
2020-12-14 20:20:45 +08:00
|
|
|
<CharacterSet>Unicode</CharacterSet>
|
2022-08-27 07:17:20 +08:00
|
|
|
<DesktopCompatible>true</DesktopCompatible>
|
2023-11-23 01:52:32 +08:00
|
|
|
<SpectreMitigation>Spectre</SpectreMitigation>
|
2020-12-14 20:20:45 +08:00
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<!-- Debug/Release props -->
|
2022-08-27 07:17:20 +08:00
|
|
|
<PropertyGroup Condition="'$(Configuration)'=='Debug'"
|
|
|
|
Label="Configuration">
|
2021-07-12 18:35:57 +08:00
|
|
|
<UseDebugLibraries>true</UseDebugLibraries>
|
|
|
|
<LinkIncremental>true</LinkIncremental>
|
|
|
|
</PropertyGroup>
|
2022-08-27 07:17:20 +08:00
|
|
|
<PropertyGroup Condition="'$(Configuration)'=='Release'"
|
|
|
|
Label="Configuration">
|
2021-07-12 18:35:57 +08:00
|
|
|
<UseDebugLibraries>false</UseDebugLibraries>
|
|
|
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
|
|
<LinkIncremental>false</LinkIncremental>
|
|
|
|
</PropertyGroup>
|
2020-12-14 20:20:45 +08:00
|
|
|
|
2022-12-16 07:40:29 +08:00
|
|
|
</Project>
|