-
Notifications
You must be signed in to change notification settings - Fork 133
/
hhmain.props
149 lines (149 loc) · 7.68 KB
/
hhmain.props
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
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Note: this is a manually authored file that captures many common build settings across projects. -->
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_PropertySheetDisplayName>hhmain</_PropertySheetDisplayName>
</PropertyGroup>
<PropertyGroup>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<!-- See MSBuild Conditions: https://learn.microsoft.com/en-us/visualstudio/msbuild/msbuild-conditions -->
<PropertyGroup Condition="'$(LocalRoot)'==''">
<LocalRoot>..</LocalRoot> <!-- default; most of my projects live in an immediate subfolder -->
</PropertyGroup>
<PropertyGroup Condition="'$(MeshRoot)'==''">
<MeshRoot>$(LocalRoot)</MeshRoot>
</PropertyGroup>
<PropertyGroup Condition="'$(ExeRoot)'==''">
<ExeRoot>$(LocalRoot)</ExeRoot>
</PropertyGroup>
<PropertyGroup>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>HH_NO_IMAGE_IO;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'false'=='true'">
<ClCompile>
<PreprocessorDefinitions>HH_IMAGE_IO_TOO;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<!-- base properties -->
<ItemDefinitionGroup>
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<AdditionalIncludeDirectories>$(MeshRoot);$(MeshRoot)\libHwWindows;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HH_NO_LAPACK;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_CRT_DECLARE_NONSTDC_NAMES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<FloatingPointModel>Fast</FloatingPointModel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<!-- <OpenMPSupport>true</OpenMPSupport> -->
<UseFullPaths>true</UseFullPaths>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<TreatWarningAsError>true</TreatWarningAsError>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
<!-- Warning C6319: Use of the comma-operator in a tested expression causes the left argument to be ignored when it has no side-effects -->
<DisableSpecificWarnings Condition="'$(VisualStudioVersion)'>='17.0'">6319</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalLibraryDirectories>$(LocalRoot)\lib\$(Platform)\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<!-- <AdditionalDependencies>libjpeg.lib;libpng.lib;libz.lib;librecipes.lib;%(AdditionalDependencies)</AdditionalDependencies> -->
<!-- <AdditionalDependencies>liblapack.lib;libF77.lib;libI77.lib;libBLAS.lib;%(AdditionalDependencies)</AdditionalDependencies> -->
</Link>
</ItemDefinitionGroup>
<!-- x86 (32-bit) properties -->
<ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
<ClCompile>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
</ClCompile>
</ItemDefinitionGroup>
<!-- x64 (64-bit) properties -->
<ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
<ClCompile>
<!-- Note that this option cannot be set explicitly to StreamingSIMDExtensions2 in x64 -->
<!-- The default (not set) on x64 is to use StreamingSIMDExtensions2 (SSE2), which is nicely portable -->
<!-- Setting to AdvancedVectorExtensions2 enables AVX+AVX2, but is less portable -->
<!-- <EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet> -->
</ClCompile>
<Link>
<!-- #pragma referenced: mkl_intel_lp64_dll.lib mkl_intel_thread_dll.lib mkl_core_dll.lib libiomp5md.lib -->
</Link>
</ItemDefinitionGroup>
<!-- Release properties -->
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release' OR '$(Configuration)'=='ReleaseMD'">
<ClCompile>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BufferSecurityCheck>false</BufferSecurityCheck>
</ClCompile>
<Link>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<!-- Debug properties -->
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug' OR '$(Configuration)'=='DebugMD'">
<ClCompile>
<Optimization>Disabled</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
</ClCompile>
</ItemDefinitionGroup>
<!-- dll (link to non-static libraries) properties -->
<ItemDefinitionGroup Condition="'$(Configuration)' == 'ReleaseMD'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)' == 'DebugMD'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
</ClCompile>
</ItemDefinitionGroup>
<!-- extra -->
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32' OR '$(Configuration)|$(Platform)'=='DebugMD|Win32'">
<OutDir>$(ExeRoot)\bin\Win32\debug\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64' OR '$(Configuration)|$(Platform)'=='DebugMD|x64'">
<OutDir>$(ExeRoot)\bin\debug\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32' OR '$(Configuration)|$(Platform)'=='ReleaseMD|Win32'">
<OutDir>$(ExeRoot)\bin\Win32\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64' OR '$(Configuration)|$(Platform)'=='ReleaseMD|x64'">
<OutDir>$(ExeRoot)\bin\</OutDir>
</PropertyGroup>
<!-- precompiled headers -->
<!-- I give up on using a shared precompiled header across multiple projects using msbuild
<ItemDefinitionGroup Condition="'$(Configuration)' == 'Release' OR '$(Configuration)' == 'ReleaseMD'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>$(MeshRoot)\libHh\precompiled_libHh.h</PrecompiledHeaderFile>
<ForcedIncludeFiles>$(MeshRoot)\libHh\precompiled_libHh.h</ForcedIncludeFiles>
<- This still fails:
<AdditionalOptions>/Fp$(MeshRoot)\libHh\$(IntDir)precompiled_libHh.pch</AdditionalOptions>
c:\hh\src\filtera3d\filtera3d.cpp : error C2859: c:\hh\src\filtera3d\x64\releasemd\vc120.pdb is not the pdb file that was used when this precompiled header was created, recreate the precompiled header. [c:\hh\src\Filtera3d\Filtera3d.vcxproj]
->
<- When using this option, msbuild removes the libHh *.pch file before starting build of non-libHh projects
<PrecompiledHeaderOutputFile>$(MeshRoot)\libHh\$(IntDir)precompiled_libHh.pch</PrecompiledHeaderOutputFile>
->
</ClCompile>
</ItemDefinitionGroup>
-->
</Project>
<!-- For Emacs:
Local Variables:
nxml-child-indent: 2
End:
-->