Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 34 additions & 5 deletions builds/msvc/properties/Common.props
Original file line number Diff line number Diff line change
@@ -1,21 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<PropertyGroup>
<_PropertySheetDisplayName>Common Settings</_PropertySheetDisplayName>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>

<ImportGroup Label="PropertySheets">
<Import Project="$(Platform).props" />
</ImportGroup>
</ImportGroup>

<PropertyGroup Label="Configuration">
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>

<ItemDefinitionGroup>
<ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PreprocessorDefinitions>UNICODE;_UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
</ClCompile>

<!-- General -->
<!-- WarningLevel:EnableAllWarnings produce warning flood (mostly from STL/Boost). -->
<WarningLevel>Level4</WarningLevel>
<CompileAsManaged>false</CompileAsManaged>
<CompileAsWinRT>false</CompileAsWinRT>
<MultiProcessorCompilation>true</MultiProcessorCompilation>

<!-- Language -->
<!-- /Zc is conformance mode. -->
<AdditionalOptions>/Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
<EnforceTypeConversionRules>true</EnforceTypeConversionRules>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<OpenMPSupport>false</OpenMPSupport>
<EnableModules>false</EnableModules>
<LanguageStandard_C>stdc11</LanguageStandard_C>
<LanguageStandard Condition="'$(PlatformToolset)' == 'v141'">stdcpp14</LanguageStandard>
<LanguageStandard Condition="'$(PlatformToolset)' == 'v142'">stdcpp17</LanguageStandard>
<LanguageStandard Condition="'$(PlatformToolset)' == 'v143'">stdcpp20</LanguageStandard>
<ConformanceMode Condition="'$(PlatformToolset)' == 'v141'">false</ConformanceMode>
<ConformanceMode Condition="'$(PlatformToolset)' == 'v142'">true</ConformanceMode>
<ConformanceMode Condition="'$(PlatformToolset)' == 'v143'">true</ConformanceMode>

<!-- External Includes -->
<!-- ExternalWarningLevel:EnableAllWarnings produce warning flood (mostly from STL/Boost). -->
<!-- Language extensions are enabled by default (required for STL/Boost). -->
<ExternalWarningLevel>Level4</ExternalWarningLevel>
</ClCompile>
</ItemDefinitionGroup>

</Project>
1 change: 1 addition & 0 deletions builds/msvc/properties/Debug.props
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

<ItemDefinitionGroup>
<ClCompile>
<!-- This is 'both' in VS opions, incompatible with Optimization::MaxSpeed. -->
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<FunctionLevelLinking>true</FunctionLevelLinking>
Expand Down
4 changes: 3 additions & 1 deletion builds/msvc/properties/Messages.props
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@
</PropertyGroup>

<Target Name="ConfigInfo" BeforeTargets="PrepareForBuild">
<Message Text="Visual Studio : $(VisualStudioVersion)" Importance="high"/>
<Message Text="PlatformToolset : $(PlatformToolset)" Importance="high"/>
<Message Text="ConfigurationType : $(ConfigurationType)" Importance="high"/>
<Message Text="Configuration : $(Configuration)" Importance="high"/>
<Message Text="PlatformToolset : $(PlatformToolset)" Importance="high"/>
<Message Text="Processor : $(ProcessorArchitecture)" Importance="high"/>
<Message Text="TargetPath : $(TargetPath)" Importance="high"/>
</Target>

Expand Down
34 changes: 22 additions & 12 deletions builds/msvc/properties/Release.props
Original file line number Diff line number Diff line change
Expand Up @@ -11,31 +11,41 @@
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>

<!-- DebugInformationFormat and GenerateDebugInformation were formerly disabled. -->
<!-- This is why we were not getting symbols in release builds (update nuget). -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalOptions>/Oy- %(AdditionalOptions)</AdditionalOptions>
<!--<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>-->
<!-- performance -->
<BufferSecurityCheck>false</BufferSecurityCheck>
<!-- Breaks boost.test. -->
<!--<CallingConvention>FastCall</CallingConvention>-->
<ControlFlowGuard>false</ControlFlowGuard>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<FunctionLevelLinking>true</FunctionLevelLinking>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<MinimalRebuild>false</MinimalRebuild>
<OmitFramePointers>true</OmitFramePointers>
<Optimization>MaxSpeed</Optimization>

<!-- SSE4/AVX2 (also AVX512) -->
<!--TODO: these should be integrated with the HAVE build options.-->
<!--<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>-->
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>

<!-- Other. -->
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<StringPooling>true</StringPooling>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<!--<GenerateDebugInformation>true</GenerateDebugInformation>-->
<GenerateDebugInformation>true</GenerateDebugInformation>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>

<ItemDefinitionGroup Condition="'$(Processor)' == 'x86'">
<ClCompile>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
</ClCompile>
</ItemDefinitionGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,6 @@
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(ProjectDir)..\..\properties\$(Configuration).props" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,6 @@
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(ProjectDir)..\..\properties\$(Configuration).props" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,6 @@
<ConfigurationType Condition="$(Configuration.IndexOf('DLL')) != -1">DynamicLibrary</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(ProjectDir)..\..\properties\$(Configuration).props" />
Expand Down