2018-04-28 04:50:47 -06:00
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
2022-04-18 02:05:21 -06:00
|
|
|
<Project>
|
2022-07-31 01:39:35 -06:00
|
|
|
<!--
|
|
|
|
This file is included by *everything* (Externals and Dolphin code).
|
|
|
|
If you want to define something that only applies to Dolphin code, use Base.Dolphin.props
|
|
|
|
-->
|
2020-08-18 18:34:06 -06:00
|
|
|
<Import Project="Base.Macros.props" Condition="'$(BaseMacrosImported)'==''" />
|
2013-12-07 13:12:02 -07:00
|
|
|
<PropertyGroup>
|
|
|
|
<IntDir>$(BuildRootDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
|
|
|
<OutDir>$(IntDir)bin\</OutDir>
|
2022-04-18 15:34:54 -06:00
|
|
|
<!--Set link /INCREMENTAL:NO to remove some entropy from builds (assists with deterministic build)-->
|
2020-08-28 00:59:22 -06:00
|
|
|
<LinkIncremental>false</LinkIncremental>
|
2024-03-13 09:36:42 -06:00
|
|
|
<!--Disable vcpkg to avoid accidentally linking to its packages-->
|
|
|
|
<VcpkgEnabled>false</VcpkgEnabled>
|
2013-12-07 13:12:02 -07:00
|
|
|
</PropertyGroup>
|
|
|
|
<ItemDefinitionGroup>
|
|
|
|
<!--ClCompile Base-->
|
|
|
|
<ClCompile>
|
2021-06-03 16:42:23 -06:00
|
|
|
<!--Base external header policy: ignore all warnings except template instantiations, and disable analyzer-->
|
|
|
|
<ExternalWarningLevel>TurnOffAllWarnings</ExternalWarningLevel>
|
|
|
|
<ExternalTemplatesDiagnostics>true</ExternalTemplatesDiagnostics>
|
|
|
|
<DisableAnalyzeExternal>true</DisableAnalyzeExternal>
|
2021-11-13 11:23:22 -07:00
|
|
|
<TreatAngleIncludeAsExternal>true</TreatAngleIncludeAsExternal>
|
2022-07-31 01:39:35 -06:00
|
|
|
|
2017-06-07 05:43:08 -06:00
|
|
|
<WarningLevel>Level4</WarningLevel>
|
2014-08-19 21:20:29 -06:00
|
|
|
<TreatWarningAsError>true</TreatWarningAsError>
|
2013-12-07 13:12:02 -07:00
|
|
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
|
|
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
2020-08-27 04:20:54 -06:00
|
|
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
2013-12-07 13:12:02 -07:00
|
|
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
2022-07-23 23:11:12 -06:00
|
|
|
<!--This doesn't seem required but nice to be future-proof-->
|
|
|
|
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
2017-05-26 10:03:32 -06:00
|
|
|
<!--Enable latest C++ standard-->
|
|
|
|
<LanguageStandard>stdcpplatest</LanguageStandard>
|
2023-05-23 18:07:56 -06:00
|
|
|
<BuildStlModules>false</BuildStlModules>
|
2017-05-26 06:36:33 -06:00
|
|
|
<!--Enable Standard Conformance-->
|
2019-08-15 09:47:55 -06:00
|
|
|
<ConformanceMode>true</ConformanceMode>
|
2020-08-27 22:58:48 -06:00
|
|
|
<!--Enforce some behaviors as standards-conformant when they don't default as such.-->
|
2023-02-22 14:22:08 -07:00
|
|
|
<AdditionalOptions>/Zc:__cplusplus,enumTypes,externConstexpr,preprocessor,templateScope,throwingNew /volatile:iso %(AdditionalOptions)</AdditionalOptions>
|
2014-08-19 21:06:27 -06:00
|
|
|
<!--Enable detailed debug info-->
|
2017-06-02 04:28:33 -06:00
|
|
|
<AdditionalOptions>/Zo %(AdditionalOptions)</AdditionalOptions>
|
|
|
|
<!--Treat sources as utf-8-->
|
|
|
|
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
2014-08-15 00:51:13 -06:00
|
|
|
<DebugInformationFormat>OldStyle</DebugInformationFormat>
|
2017-06-02 17:38:41 -06:00
|
|
|
<DiagnosticsFormat>Caret</DiagnosticsFormat>
|
2020-08-28 02:39:38 -06:00
|
|
|
<!--
|
|
|
|
A (currently) hidden switch, like /Brepro, furthermore enabling warnings about non-deterministic code.
|
|
|
|
This may be advantageous over /Brepro, which inits __DATE__, __TIME__, etc. equal to 1 (and allows
|
|
|
|
them to be redefined), which could have unexpected results.
|
|
|
|
-->
|
|
|
|
<AdditionalOptions>/experimental:deterministic %(AdditionalOptions)</AdditionalOptions>
|
2022-04-18 15:43:15 -06:00
|
|
|
<!--
|
|
|
|
pathmap replaces path prefixes of source files with a hardcoded value, assisting with keeping output
|
|
|
|
files uniform even if actually built from different locations. The mapped path doesn't really need full
|
|
|
|
drive prefix, but it keeps things human readable. Note the trailing "\" is actually to be escaped by a
|
|
|
|
preceeding "\" in the expanded variable.
|
|
|
|
-->
|
|
|
|
<AdditionalOptions>/pathmap:"$(DolphinRootDir)\"=d:\ %(AdditionalOptions)</AdditionalOptions>
|
|
|
|
<AdditionalOptions>/pathmap:"$(WindowsSdkDir)\"=w:\ %(AdditionalOptions)</AdditionalOptions>
|
|
|
|
<AdditionalOptions>/pathmap:"$(VCToolsetsDir)\"=v:\ %(AdditionalOptions)</AdditionalOptions>
|
2013-12-07 13:12:02 -07:00
|
|
|
</ClCompile>
|
|
|
|
<!--ClCompile Debug-->
|
|
|
|
<ClCompile Condition="'$(Configuration)'=='Debug'">
|
2022-04-02 16:22:27 -06:00
|
|
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
2013-12-07 13:12:02 -07:00
|
|
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
|
|
|
<Optimization>Disabled</Optimization>
|
|
|
|
</ClCompile>
|
2020-08-18 22:54:08 -06:00
|
|
|
<ClCompile Condition="'$(Configuration)'=='Debug' And '$(EnableASAN)'=='true'">
|
|
|
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
|
|
|
</ClCompile>
|
2013-12-07 13:12:02 -07:00
|
|
|
<!--ClCompile Release-->
|
|
|
|
<ClCompile Condition="'$(Configuration)'=='Release'">
|
|
|
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
|
|
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
|
|
|
<OmitFramePointers>true</OmitFramePointers>
|
|
|
|
<StringPooling>true</StringPooling>
|
|
|
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
|
|
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
2023-02-22 14:22:08 -07:00
|
|
|
<AdditionalOptions>/Gw /Zc:checkGwOdr %(AdditionalOptions)</AdditionalOptions>
|
2020-08-27 04:20:54 -06:00
|
|
|
<WholeProgramOptimization Condition="'$(DolphinRelease)'=='true'">true</WholeProgramOptimization>
|
2013-12-07 13:12:02 -07:00
|
|
|
</ClCompile>
|
|
|
|
<!--Link Base-->
|
|
|
|
<Link>
|
|
|
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
|
|
<TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
|
2022-04-18 15:34:54 -06:00
|
|
|
<AdditionalOptions>/experimental:deterministic %(AdditionalOptions)</AdditionalOptions>
|
2013-12-07 13:12:02 -07:00
|
|
|
</Link>
|
|
|
|
<!--Link Release-->
|
|
|
|
<Link Condition="'$(Configuration)'=='Release'">
|
|
|
|
<LinkTimeCodeGeneration Condition="'$(DolphinRelease)'=='true'">UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
|
|
|
<OptimizeReferences>true</OptimizeReferences>
|
|
|
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
|
|
</Link>
|
|
|
|
<Lib>
|
|
|
|
<TreatLibWarningAsErrors>true</TreatLibWarningAsErrors>
|
|
|
|
<LinkTimeCodeGeneration Condition="'$(DolphinRelease)'=='true'">true</LinkTimeCodeGeneration>
|
2022-04-18 15:34:54 -06:00
|
|
|
<AdditionalOptions>/experimental:deterministic %(AdditionalOptions)</AdditionalOptions>
|
2013-12-07 13:12:02 -07:00
|
|
|
</Lib>
|
|
|
|
</ItemDefinitionGroup>
|
|
|
|
<ItemGroup />
|
2014-05-27 22:43:49 -06:00
|
|
|
</Project>
|