-
-
Notifications
You must be signed in to change notification settings - Fork 150
Expand file tree
/
Copy pathPhobos.props
More file actions
161 lines (161 loc) · 8.84 KB
/
Copy pathPhobos.props
File metadata and controls
161 lines (161 loc) · 8.84 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
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<PropertyGroup>
<GenerateManifest>false</GenerateManifest>
<IntDir>$(Configuration)\IntDir\</IntDir>
<IncludePath>$(ExpandedIncludePath);$(MSBuildThisFileDirectory)src\;$(YRppDir);$(IntDir)Generated;$(VC_IncludePath)</IncludePath>
<LinkIncremental>false</LinkIncremental>
<OutDir>$(Configuration)\</OutDir>
<CoreLibraryDependencies></CoreLibraryDependencies>
<PhobosExtraLibs>dbghelp.lib;onecore.lib</PhobosExtraLibs>
</PropertyGroup>
<!-- Global -->
<ItemDefinitionGroup>
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<SDLCheck />
<ConformanceMode>true</ConformanceMode>
<PreprocessorDefinitions>SYR_VER=2;HAS_EXCEPTIONS=0;NOMINMAX;_CRT_SECURE_NO_WARNINGS;_WIN32_WINNT=0x0601;NTDDI_VERSION=0x06010000;%(PreprocessorDefinitions);%(AdditionalDefinitions);PHOBOS_DLL="$(ProjectName).dll"</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>false</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<StructMemberAlignment>8Bytes</StructMemberAlignment>
<BufferSecurityCheck>false</BufferSecurityCheck>
<ControlFlowGuard>false</ControlFlowGuard>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<EnforceTypeConversionRules>true</EnforceTypeConversionRules>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<LanguageStandard>stdcpp20</LanguageStandard>
<AssemblerListingLocation>$(IntDir)\%(Directory)</AssemblerListingLocation>
<ObjectFileName>$(IntDir)\%(Directory)</ObjectFileName>
<CallingConvention>StdCall</CallingConvention>
<DisableSpecificWarnings>4100;4201;4530;4731;4740;4458;4819;5103;5105</DisableSpecificWarnings>
<EnableModules>true</EnableModules>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<OpenMPSupport>true</OpenMPSupport>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>$(PhobosExtraLibs);%(AdditionalDependencies)</AdditionalDependencies>
<SubSystem>Windows</SubSystem>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<ProfileGuidedDatabase>$(IntDir)$(TargetName).pgd</ProfileGuidedDatabase>
<ImportLibrary>$(IntDir)$(TargetName).lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<!-- Release -->
<ItemDefinitionGroup Condition="$(Configuration.Contains('Release'))">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<OmitFramePointers>true</OmitFramePointers>
<!-- <WholeProgramOptimization>true</WholeProgramOptimization> -->
</ClCompile>
<Link>
<!-- <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> -->
</Link>
</ItemDefinitionGroup>
<!-- Debug -->
<ItemDefinitionGroup Condition="$(Configuration.Contains('Debug'))">
<ClCompile>
<PreprocessorDefinitions>DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization>Disabled</Optimization>
<OmitFramePointers>false</OmitFramePointers>
<DisableSpecificWarnings>4100;4201;4530;4731;4740;4458;4819;5103;5105;26495</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<!--
Git stamping. GitCommit / GitRef / GitDirty are derived from the local repository at
build time (the ref, e.g. refs/heads/develop), so local and CI builds
are stamped alike with no external input. The properties can still be overridden from the
command line. The values are written into a generated header in a target rather than baked
into an ItemDefinitionGroup because they are only known after the props are evaluated.
stderr is redirected to nul so a missing or failing git cannot fail the build nor leak error
text into the version - it only results in an unstamped build with an informational message.
-->
<Target Name="ComputeGitInfo" BeforeTargets="ClCompile;ResourceCompile">
<Exec Command="git rev-parse --short HEAD 2>nul" WorkingDirectory="$(MSBuildProjectDirectory)"
ConsoleToMsBuild="true" IgnoreExitCode="true" StandardOutputImportance="Low"
Condition="'$(GitCommit)' == ''">
<Output TaskParameter="ConsoleOutput" PropertyName="GitCommit" />
</Exec>
<Exec Command="git symbolic-ref HEAD 2>nul" WorkingDirectory="$(MSBuildProjectDirectory)"
ConsoleToMsBuild="true" IgnoreExitCode="true" StandardOutputImportance="Low"
Condition="'$(GitRef)' == ''">
<Output TaskParameter="ConsoleOutput" PropertyName="GitRef" />
</Exec>
<!-- On a detached HEAD (e.g. CI checkouts of a pull request merge or a tag), symbolic-ref
yields nothing, so fall back to the ref(s) pointing at HEAD. The %(refname) format string
lives in scripts\get_git_ref.cmd because the Exec task would re-expand a %(refname)
written inline - even %25-escaped - as item metadata, mangling it into `(refname)`. -->
<Exec Command=""$(MSBuildThisFileDirectory)scripts\get_git_ref.cmd"" WorkingDirectory="$(MSBuildProjectDirectory)"
ConsoleToMsBuild="true" IgnoreExitCode="true" StandardOutputImportance="Low"
Condition="'$(GitRef)' == ''">
<Output TaskParameter="ConsoleOutput" PropertyName="GitRef" />
</Exec>
<Exec Command="git status --porcelain 2>nul" WorkingDirectory="$(MSBuildProjectDirectory)"
ConsoleToMsBuild="true" IgnoreExitCode="true" StandardOutputImportance="Low"
Condition="'$(GitDirty)' == '' and '$(GitCommit)' != ''">
<Output TaskParameter="ConsoleOutput" PropertyName="GitStatusPorcelain" />
</Exec>
<PropertyGroup>
<GitDirty Condition="'$(GitDirty)' == '' and '$(GitStatusPorcelain)' != ''">true</GitDirty>
</PropertyGroup>
<Message Condition="'$(GitCommit)' == '' and '$(GitRef)' == ''" Importance="High"
Text="Could not determine the Git commit/ref - this build will not be stamped with Git info." />
<!-- Write the git info into a generated header included by Phobos.version.h instead of
passing it as defines on every translation unit's command line. This keeps the git info
off the command lines, so a changed commit only rebuilds the few units that include the
header; WriteOnlyWhenDifferent keeps the header timestamp stable when nothing changed. -->
<ItemGroup>
<GitHeader Include="// Generated by ComputeGitInfo - do not edit." />
<GitHeader Include="#define STR_GIT_COMMIT "$(GitCommit)"" Condition="'$(GitCommit)' != ''" />
<GitHeader Include="#define STR_GIT_REF "$(GitRef)"" Condition="'$(GitRef)' != ''" />
<GitHeader Include="#define STR_GIT_DIRTY "-dirty"" Condition="'$(GitDirty)' == 'true'" />
</ItemGroup>
<MakeDir Directories="$(IntDir)Generated" />
<WriteLinesToFile File="$(IntDir)Generated\Phobos.Git.h" Lines="@(GitHeader)" Overwrite="true" WriteOnlyWhenDifferent="true" />
</Target>
<!-- BuildType -->
<ItemDefinitionGroup Condition="'$(BuildType)' == 'NIGHTLY'">
<ClCompile>
<PreprocessorDefinitions>NIGHTLY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NIGHTLY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(BuildType)' == 'RELEASE'">
<ClCompile>
<PreprocessorDefinitions>RELEASE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>RELEASE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>