-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmsvc_common.props
More file actions
129 lines (117 loc) · 6.1 KB
/
msvc_common.props
File metadata and controls
129 lines (117 loc) · 6.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup>
<OutDir>$(SolutionDir)msvc_out\</OutDir>
<TargetName>$(ProjectName)-$(Configuration)</TargetName>
<IntDir>$(SolutionDir)msvc_build\$(ProjectName)\$(Configuration)\</IntDir>
<IncludePath>$(SolutionDir)include;$(SolutionDir)deps;$(SolutionDir)ext_include;$(IncludePath)</IncludePath>
<LibraryPath>$(SolutionDir)msvc_out;$(SolutionDir)ext_lib;$(LibraryPath)</LibraryPath>
<BeTestMode>none</BeTestMode>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='debug'">
<UseDebugLibraries>true</UseDebugLibraries>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='release'">
<TargetName>$(ProjectName)</TargetName>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="$(ProjectName.EndsWith('-test'))">
<BeTestMode>test</BeTestMode>
</PropertyGroup>
<PropertyGroup Condition="$(ProjectName.EndsWith('-perf'))">
<BeTestMode>perf</BeTestMode>
</PropertyGroup>
<PropertyGroup>
<!-- These need to be after the configuration-specific PropertyGroups in case we changed $(TargetName) -->
<LocalDebuggerWorkingDirectory>$(SolutionDir)stage\</LocalDebuggerWorkingDirectory>
<LocalDebuggerCommand>$(SolutionDir)stage\$(TargetName)$(TargetExt)</LocalDebuggerCommand>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<EnableCOMDATFolding>false</EnableCOMDATFolding>
<OptimizeReferences>false</OptimizeReferences>
<DiagnosticsFormat>Column</DiagnosticsFormat>
<EnforceTypeConversionRules>true</EnforceTypeConversionRules>
<LanguageStandard>stdcpplatest</LanguageStandard>
<AdditionalIncludeDirectories>$(ProjectDir)include;</AdditionalIncludeDirectories>
<AssemblerListingLocation>$(IntDir)%(RelativeDir)</AssemblerListingLocation>
<ObjectFileName>$(IntDir)%(RelativeDir)</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)pdb\$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.hpp</PrecompiledHeaderFile>
<PreprocessorDefinitions>BE_TARGET=$(ProjectName);BE_ID_EXTERNS;Z_SOLO;ZLIB_CONST;GLM_FORCE_SSE3;GLM_ENABLE_EXPERIMENTAL;GLFW_INCLUDE_NONE;BOOST_NO_TYPEID;BOOST_NO_RTTI;SQLITE_WIN32_GETVERSIONEX=0;_WIN32;WIN32;_WIN32_WINNT=0x0601;NOMINMAX;_HAS_AUTO_PTR_ETC=1;_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING;_SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING;_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING;BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4065;4100;4201;4310;4324;4458;4503;4505;4592;5030</DisableSpecificWarnings>
<AdditionalOptions>/permissive- /w15038 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Lib>
<AdditionalOptions>/IGNORE:4221 %(AdditionalOptions)</AdditionalOptions>
</Lib>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
</Link>
</ItemDefinitionGroup>
<!-- Ignore source files with no exported symbols (ie. tests) when building libraries -->
<ItemDefinitionGroup Condition="'$(ConfigurationType)'=='StaticLibrary'">
<ClCompile>
<PreprocessorDefinitions>BE_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<!-- Copy .exes and .dlls to stage/ -->
<ItemDefinitionGroup Condition="'$(ConfigurationType)'!='StaticLibrary'">
<PostBuildEvent>
<Command>copy /Y "$(TargetPath)" "$(SolutionDir)stage\" >nul</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<!-- Test/Perf Projects -->
<ItemDefinitionGroup Condition="'$(BeTestMode)'=='test' Or '$(BeTestMode)'=='perf'">
<ClCompile>
<DisableSpecificWarnings>4100;4201;4310;4324;4458;4503;4592;4702;5030</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(BeTestMode)'=='test'">
<ClCompile>
<PreprocessorDefinitions>BE_TEST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(BeTestMode)'=='perf'">
<ClCompile>
<PreprocessorDefinitions>BE_TEST_PERF;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<!-- Debug Configurations -->
<ItemDefinitionGroup Condition="'$(Configuration)'=='debug'">
<ClCompile>
<PreprocessorDefinitions>_DEBUG;DEBUG;BE_DEBUG;BE_DEBUG_TIMERS;BE_ENABLE_MAIN_THREAD_ASSERTIONS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<FullProgramDatabaseFile>false</FullProgramDatabaseFile>
</Link>
</ItemDefinitionGroup>
<!-- Release configurations -->
<ItemDefinitionGroup Condition="'$(Configuration)'=='release'">
<ClCompile>
<Optimization>Full</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PreprocessorDefinitions>NDEBUG;GSL_UNENFORCED_ON_CONTRACT_VIOLATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<!-- Make sure we only optimize exports for apps so we don't lose any symbol exports from our static libs -->
<ItemDefinitionGroup Condition="'$(Configuration)'=='release' And '$(ConfigurationType)'=='Application'">
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
</Project>