forked from chakra-core/ChakraCore
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCommon.Build.props
More file actions
186 lines (162 loc) · 10.5 KB
/
Copy pathCommon.Build.props
File metadata and controls
186 lines (162 loc) · 10.5 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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<Midl>
<StructMemberAlignment Condition="'%(Midl.StructMemberAlignment)' == ''">8</StructMemberAlignment>
<DefaultCharType>Unsigned</DefaultCharType>
<IdlType>Ole</IdlType>
<!-- Default Idl type -->
<!-- Force all MIDL compiles to be treated as English unless otherwise specified -->
<LocaleID>1033</LocaleID>
<!-- Disable the settings comment to make the headers more diff-able. Only available in midl 8. razzle build already have this -->
<AdditionalOptions Condition="'$(BuildingWithBuildExe)'!='true'">%(AdditionalOptions) /no_settings_comment</AdditionalOptions>
<!--Disable midl timestamps wherever possible, razzle build already have this-->
<AdditionalOptions Condition="'$(BuildingWithBuildExe)'!='true'">%(AdditionalOptions) /no_stamp</AdditionalOptions>
<SuppressStartupBanner>true</SuppressStartupBanner>
<!-- Other defaults -->
<HeaderFileName>%(Filename).h</HeaderFileName>
<OutputDirectory>$(IntDir)</OutputDirectory>
<!-- ======== makefiledef ======== -->
<AdditionalOptions>%(AdditionalOptions) -sal</AdditionalOptions>
<!-- ======== sources.inc ======== -->
<!-- generates SAL annotations for our interface -->
<AdditionalOptions>%(AdditionalOptions) -sal_local</AdditionalOptions>
<PreprocessorDefinitions>%(PreprocessorDefinitions);WINVER=$(Win32_WinNTVersion)</PreprocessorDefinitions>
</Midl>
<ClCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions);NOMINMAX;USE_EDGEMODE_JSRT</PreprocessorDefinitions>
<!-- Some of our STDMETHOD can throw
TODO: Code review STDMETHOD and separate out API that can throw and those that can't -->
<PreprocessorDefinitions>%(PreprocessorDefinitions);COM_STDMETHOD_CAN_THROW</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(RuntimeLib)'=='static_library'">%(PreprocessorDefinitions);USE_STATIC_RUNTIMELIB</PreprocessorDefinitions>
<!-- Add any preprocessor definitions passed using msbuild environment -->
<PreprocessorDefinitions Condition="'$(AdditionalPreprocessorDefinitions)'!=''">%(PreprocessorDefinitions);$(AdditionalPreprocessorDefinitions)</PreprocessorDefinitions>
<!-- MIDL generate code uses this define -->
<PreprocessorDefinitions Condition="'$(Platform)'=='ARM'">%(PreprocessorDefinitions);_ARM_</PreprocessorDefinitions>
<!-- /W4 -->
<WarningLevel>Level4</WarningLevel>
<!-- /WX -->
<TreatWarningAsError>true</TreatWarningAsError>
<!-- /GR- -->
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<!-- /Zi -->
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DebugInformationFormat Condition="'%(MultiProcessorCompilation)' == 'true'">OldStyle</DebugInformationFormat>
<!-- /EHsc- -->
<ExceptionHandling>SyncCThrow</ExceptionHandling>
<!-- /Gz -->
<CallingConvention Condition="'$(Platform)'=='Win32' or '$(Platform)'=='chpe'">StdCall</CallingConvention>
<!-- /Zp8 -->
<StructMemberAlignment>8Bytes</StructMemberAlignment>
<!-- /GS -->
<BufferSecurityCheck>true</BufferSecurityCheck>
<!-- /Gy -->
<FunctionLevelLinking>true</FunctionLevelLinking>
<!-- /GF -->
<ControlFlowGuard Condition="'$(Platform)'!='ARM'">Guard</ControlFlowGuard>
<!-- /guard:cf -->
<StringPooling>true</StringPooling>
<!-- /MD -->
<RuntimeLibrary Condition="'$(RuntimeLib)'!='static_library'">MultiThreadedDLL</RuntimeLibrary>
<RuntimeLibrary Condition="'$(RuntimeLib)'=='static_library'">MultiThreaded</RuntimeLibrary>
<!-- We don't use any metadata -->
<AdditionalUsingDirectories />
<AdditionalOptions>%(AdditionalOptions) /Zm125</AdditionalOptions>
<AdditionalOptions>%(AdditionalOptions) /Yl$(TargetName)</AdditionalOptions>
<!-- Separate global variable for linker -->
<AdditionalOptions>%(AdditionalOptions) /Gw</AdditionalOptions>
<!-- Enable warnings not included in W4 by default -->
<AdditionalOptions>%(AdditionalOptions) /w44242 /w44254</AdditionalOptions>
<ProgramDataBaseFileName Condition="'$(ConfigurationType)'=='StaticLibrary'">$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<ProgramDataBaseFileName Condition="'$(ConfigurationType)'!='StaticLibrary'">$(IntDir)</ProgramDataBaseFileName>
<!-- ======== For Code Coverage ======== -->
<PreprocessorDefinitions Condition="'$(ENABLE_CODECOVERAGE)'=='true'">
%(PreprocessorDefinitions);
BYTECODE_TESTING=1
</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(BuildWabt)'=='true'">%(PreprocessorDefinitions);CAN_BUILD_WABT=1</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(ChakraVersionBuildNumber)'!=''">%(PreprocessorDefinitions);CHAKRA_VERSION_BUILD_NUMBER=$(ChakraVersionBuildNumber)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(ChakraVersionBuildQFENumber)'!=''">%(PreprocessorDefinitions);CHAKRA_VERSION_BUILD_QFE=$(ChakraVersionBuildQFENumber)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(ChakraVersionBuildCommit)'!=''">%(PreprocessorDefinitions);CHAKRA_VERSION_BUILD_COMMIT=$(ChakraVersionBuildCommit)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(ChakraVersionBuildDate)'!=''">%(PreprocessorDefinitions);CHAKRA_VERSION_BUILD_DATE=$(ChakraVersionBuildDate)</PreprocessorDefinitions>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions Condition="'$(ChakraVersionBuildNumber)'!=''">%(PreprocessorDefinitions);CHAKRA_VERSION_BUILD_NUMBER=$(ChakraVersionBuildNumber)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(ChakraVersionBuildQFENumber)'!=''">%(PreprocessorDefinitions);CHAKRA_VERSION_BUILD_QFE=$(ChakraVersionBuildQFENumber)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(ChakraVersionBuildCommit)'!=''">%(PreprocessorDefinitions);CHAKRA_VERSION_BUILD_COMMIT=$(ChakraVersionBuildCommit)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(ChakraVersionBuildDate)'!=''">%(PreprocessorDefinitions);CHAKRA_VERSION_BUILD_DATE=$(ChakraVersionBuildDate)</PreprocessorDefinitions>
</ResourceCompile>
<MASM>
<!-- /Cx -->
<PreserveIdentifierCase>3</PreserveIdentifierCase>
</MASM>
<Link>
<TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding Condition="'$(OptimizedBuild)'=='true' AND '$(ENABLE_CODECOVERAGE)'!='true'">true</EnableCOMDATFolding>
<OptimizeReferences Condition="'$(OptimizedBuild)'=='true'">true</OptimizeReferences>
<MinimumRequiredVersion Condition="'$(NtTargetVersion)'=='$(NtTargetVersion_Win7)'" >6.1</MinimumRequiredVersion>
<MinimumRequiredVersion Condition="'$(NtTargetVersion)'=='$(NtTargetVersion_Win8)'" >6.2</MinimumRequiredVersion>
<MinimumRequiredVersion Condition="'$(NtTargetVersion)'=='$(NtTargetVersion_WinBlue)'" >6.3</MinimumRequiredVersion>
<MinimumRequiredVersion Condition="'$(NtTargetVersion)'=='$(NtTargetVersion_Win10)'" >10.00</MinimumRequiredVersion>
<!-- Always set the checksum -->
<AdditionalOptions>%(AdditionalOptions) /release</AdditionalOptions>
<!-- Ignore Linker warning: This object file does not define any previously undefined public symbols -->
<AdditionalOptions>%(AdditionalOptions) /ignore:4221</AdditionalOptions>
<!-- ======== For Code Coverage ======== -->
<AdditionalOptions Condition="'$(ENABLE_CODECOVERAGE)'=='true'">%(AdditionalOptions) /DEBUGTYPE:CV,FIXUP</AdditionalOptions>
</Link>
<Lib>
<!-- Ignore Linker warning: This object file does not define any previously undefined public symbols -->
<AdditionalOptions>%(AdditionalOptions) /ignore:4221</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<!--Optimization flags-->
<ItemDefinitionGroup Condition="'$(OptimizedBuild)'!='true' OR '$(ENABLE_CODECOVERAGE)'=='true'">
<ClCompile>
<Optimization>Disabled</Optimization>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(OptimizedBuild)'=='true' AND '$(ENABLE_CODECOVERAGE)'!='true'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<!-- HYB-TODO: When a CHPE toolchain arrives that supports LTCG, remove this condition. -->
<WholeProgramOptimization Condition="'$(Platform)' != 'chpe'">true</WholeProgramOptimization>
</ClCompile>
</ItemDefinitionGroup>
<!-- chk build flags -->
<ItemDefinitionGroup Condition="'$(DebugBuild)'=='true'">
<ClCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions);_DEBUG;DBG;DBG_DUMP</PreprocessorDefinitions>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions);DBG;ENABLE_DEBUG_CONFIG_OPTIONS=1</PreprocessorDefinitions>
</ResourceCompile>
<Midl>
<PreprocessorDefinitions>%(PreprocessorDefinitions);DBG</PreprocessorDefinitions>
</Midl>
</ItemDefinitionGroup>
<!-- fre and fretest build flags -->
<ItemDefinitionGroup Condition="'$(DebugBuild)'!='true'">
<ClCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions);NDEBUG</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)'=='Test'">%(PreprocessorDefinitions);ENABLE_DEBUG_CONFIG_OPTIONS=1</PreprocessorDefinitions>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions Condition="'$(Configuration)'=='Test'">%(PreprocessorDefinitions);ENABLE_DEBUG_CONFIG_OPTIONS=1</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<LinkTimeCodeGeneration Condition="'$(PlatformToolset)'=='v120' OR '$(TF_BUILD)'!=''">UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<LinkTimeCodeGeneration Condition="'$(PlatformToolset)'!='v120' AND '$(TF_BUILD)'==''">UseFastLinkTimeCodeGeneration</LinkTimeCodeGeneration>
</Link>
<Lib>
<LinkTimeCodeGeneration Condition="'$(Platform)' != 'chpe'">true</LinkTimeCodeGeneration>
</Lib>
</ItemDefinitionGroup>
<ItemGroup Condition="'$(ConfigurationType)'=='DynamicLibrary' OR '$(ConfigurationType)'=='Application'">
<Clean Include="$(OutDir)$(TargetName).lib" />
<Clean Include="$(OutDir)$(TargetName).exp" />
<Clean Include="$(OutDir)$(TargetName).ipdb" />
<Clean Include="$(OutDir)$(TargetName).iobj" />
</ItemGroup>
</Project>