Skip to content

Commit fb208c2

Browse files
committed
Added option in Windows/MSVC to build unit test applications from installed (via vcpkg) library (with "-installed" after debug / release) OR from code in cloned repo (without "-installed" after debug / release). Updated gitignore to ignore new build directories.
1 parent a1422b6 commit fb208c2

File tree

3 files changed

+174
-0
lines changed

3 files changed

+174
-0
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -454,3 +454,5 @@ workspace.xml
454454
/out/build/x64-Debug/.cmake/api/v1/query/client-MicrosoftVS
455455
/out/build/x64-Debug
456456
/uint128_test_app/src/WinInt128/base_test*.txt
457+
/uint128_test_app/src/Debug-Installed
458+
/uint128_test_app/src/Release-Installed

uint128_test_app/src/WinInt128.sln

+12
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,30 @@ Global
99
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1010
Debug|x64 = Debug|x64
1111
Debug|x86 = Debug|x86
12+
Debug-Installed|x64 = Debug-Installed|x64
13+
Debug-Installed|x86 = Debug-Installed|x86
1214
Release|x64 = Release|x64
1315
Release|x86 = Release|x86
16+
Release-Installed|x64 = Release-Installed|x64
17+
Release-Installed|x86 = Release-Installed|x86
1418
EndGlobalSection
1519
GlobalSection(ProjectConfigurationPlatforms) = postSolution
1620
{007F09F8-D52D-4E6D-9C24-B6132C4B14A9}.Debug|x64.ActiveCfg = Debug|x64
1721
{007F09F8-D52D-4E6D-9C24-B6132C4B14A9}.Debug|x64.Build.0 = Debug|x64
1822
{007F09F8-D52D-4E6D-9C24-B6132C4B14A9}.Debug|x86.ActiveCfg = Debug|Win32
1923
{007F09F8-D52D-4E6D-9C24-B6132C4B14A9}.Debug|x86.Build.0 = Debug|Win32
24+
{007F09F8-D52D-4E6D-9C24-B6132C4B14A9}.Debug-Installed|x64.ActiveCfg = Debug-Installed|x64
25+
{007F09F8-D52D-4E6D-9C24-B6132C4B14A9}.Debug-Installed|x64.Build.0 = Debug-Installed|x64
26+
{007F09F8-D52D-4E6D-9C24-B6132C4B14A9}.Debug-Installed|x86.ActiveCfg = Debug-Installed|Win32
27+
{007F09F8-D52D-4E6D-9C24-B6132C4B14A9}.Debug-Installed|x86.Build.0 = Debug-Installed|Win32
2028
{007F09F8-D52D-4E6D-9C24-B6132C4B14A9}.Release|x64.ActiveCfg = Release|x64
2129
{007F09F8-D52D-4E6D-9C24-B6132C4B14A9}.Release|x64.Build.0 = Release|x64
2230
{007F09F8-D52D-4E6D-9C24-B6132C4B14A9}.Release|x86.ActiveCfg = Release|Win32
2331
{007F09F8-D52D-4E6D-9C24-B6132C4B14A9}.Release|x86.Build.0 = Release|Win32
32+
{007F09F8-D52D-4E6D-9C24-B6132C4B14A9}.Release-Installed|x64.ActiveCfg = Release-Installed|x64
33+
{007F09F8-D52D-4E6D-9C24-B6132C4B14A9}.Release-Installed|x64.Build.0 = Release-Installed|x64
34+
{007F09F8-D52D-4E6D-9C24-B6132C4B14A9}.Release-Installed|x86.ActiveCfg = Release-Installed|Win32
35+
{007F09F8-D52D-4E6D-9C24-B6132C4B14A9}.Release-Installed|x86.Build.0 = Release-Installed|Win32
2436
EndGlobalSection
2537
GlobalSection(SolutionProperties) = preSolution
2638
HideSolutionNode = FALSE

uint128_test_app/src/WinInt128/WinInt128.vcxproj

+160
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,26 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<ItemGroup Label="ProjectConfigurations">
4+
<ProjectConfiguration Include="Debug-Installed|Win32">
5+
<Configuration>Debug-Installed</Configuration>
6+
<Platform>Win32</Platform>
7+
</ProjectConfiguration>
8+
<ProjectConfiguration Include="Debug-Installed|x64">
9+
<Configuration>Debug-Installed</Configuration>
10+
<Platform>x64</Platform>
11+
</ProjectConfiguration>
412
<ProjectConfiguration Include="Debug|Win32">
513
<Configuration>Debug</Configuration>
614
<Platform>Win32</Platform>
715
</ProjectConfiguration>
16+
<ProjectConfiguration Include="Release-Installed|Win32">
17+
<Configuration>Release-Installed</Configuration>
18+
<Platform>Win32</Platform>
19+
</ProjectConfiguration>
20+
<ProjectConfiguration Include="Release-Installed|x64">
21+
<Configuration>Release-Installed</Configuration>
22+
<Platform>x64</Platform>
23+
</ProjectConfiguration>
824
<ProjectConfiguration Include="Release|Win32">
925
<Configuration>Release</Configuration>
1026
<Platform>Win32</Platform>
@@ -32,26 +48,52 @@
3248
<PlatformToolset>v142</PlatformToolset>
3349
<CharacterSet>Unicode</CharacterSet>
3450
</PropertyGroup>
51+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Installed|Win32'" Label="Configuration">
52+
<ConfigurationType>Application</ConfigurationType>
53+
<UseDebugLibraries>true</UseDebugLibraries>
54+
<PlatformToolset>v142</PlatformToolset>
55+
<CharacterSet>Unicode</CharacterSet>
56+
</PropertyGroup>
3557
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
3658
<ConfigurationType>Application</ConfigurationType>
3759
<UseDebugLibraries>false</UseDebugLibraries>
3860
<PlatformToolset>v142</PlatformToolset>
3961
<WholeProgramOptimization>true</WholeProgramOptimization>
4062
<CharacterSet>Unicode</CharacterSet>
4163
</PropertyGroup>
64+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Installed|Win32'" Label="Configuration">
65+
<ConfigurationType>Application</ConfigurationType>
66+
<UseDebugLibraries>false</UseDebugLibraries>
67+
<PlatformToolset>v142</PlatformToolset>
68+
<WholeProgramOptimization>true</WholeProgramOptimization>
69+
<CharacterSet>Unicode</CharacterSet>
70+
</PropertyGroup>
4271
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
4372
<ConfigurationType>Application</ConfigurationType>
4473
<UseDebugLibraries>true</UseDebugLibraries>
4574
<PlatformToolset>v142</PlatformToolset>
4675
<CharacterSet>Unicode</CharacterSet>
4776
</PropertyGroup>
77+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Installed|x64'" Label="Configuration">
78+
<ConfigurationType>Application</ConfigurationType>
79+
<UseDebugLibraries>true</UseDebugLibraries>
80+
<PlatformToolset>v142</PlatformToolset>
81+
<CharacterSet>Unicode</CharacterSet>
82+
</PropertyGroup>
4883
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
4984
<ConfigurationType>Application</ConfigurationType>
5085
<UseDebugLibraries>false</UseDebugLibraries>
5186
<PlatformToolset>v142</PlatformToolset>
5287
<WholeProgramOptimization>true</WholeProgramOptimization>
5388
<CharacterSet>Unicode</CharacterSet>
5489
</PropertyGroup>
90+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Installed|x64'" Label="Configuration">
91+
<ConfigurationType>Application</ConfigurationType>
92+
<UseDebugLibraries>false</UseDebugLibraries>
93+
<PlatformToolset>v142</PlatformToolset>
94+
<WholeProgramOptimization>true</WholeProgramOptimization>
95+
<CharacterSet>Unicode</CharacterSet>
96+
</PropertyGroup>
5597
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
5698
<ImportGroup Label="ExtensionSettings">
5799
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
@@ -61,52 +103,100 @@
61103
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
62104
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
63105
</ImportGroup>
106+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Installed|Win32'" Label="PropertySheets">
107+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
108+
</ImportGroup>
64109
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
65110
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
66111
</ImportGroup>
112+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Installed|Win32'" Label="PropertySheets">
113+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
114+
</ImportGroup>
67115
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
68116
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
69117
</ImportGroup>
118+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Installed|x64'" Label="PropertySheets">
119+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
120+
</ImportGroup>
70121
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
71122
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
72123
</ImportGroup>
124+
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Installed|x64'" Label="PropertySheets">
125+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
126+
</ImportGroup>
73127
<PropertyGroup Label="UserMacros" />
74128
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
75129
<LinkIncremental>true</LinkIncremental>
76130
<IncludePath>$(SolutionDir)/headers/;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(SolutionDir)/../../src/include</IncludePath>
77131
</PropertyGroup>
132+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Installed|Win32'">
133+
<LinkIncremental>true</LinkIncremental>
134+
<IncludePath>$(SolutionDir)/headers/;$(VC_IncludePath);$(WindowsSDK_IncludePath)</IncludePath>
135+
</PropertyGroup>
78136
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
79137
<LinkIncremental>false</LinkIncremental>
80138
<IncludePath>$(SolutionDir)/headers/;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(SolutionDir)/../../src/include</IncludePath>
81139
</PropertyGroup>
140+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Installed|Win32'">
141+
<LinkIncremental>false</LinkIncremental>
142+
<IncludePath>$(SolutionDir)/headers/;$(VC_IncludePath);$(WindowsSDK_IncludePath)</IncludePath>
143+
</PropertyGroup>
82144
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
83145
<LinkIncremental>true</LinkIncremental>
84146
<IncludePath>$(SolutionDir)/headers/;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(SolutionDir)/../../src/include</IncludePath>
85147
</PropertyGroup>
148+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Installed|x64'">
149+
<LinkIncremental>true</LinkIncremental>
150+
<IncludePath>$(SolutionDir)/headers/;$(VC_IncludePath);$(WindowsSDK_IncludePath)</IncludePath>
151+
</PropertyGroup>
86152
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
87153
<LinkIncremental>false</LinkIncremental>
88154
<IncludePath>$(SolutionDir)/headers/;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(SolutionDir)/../../src/include</IncludePath>
89155
</PropertyGroup>
156+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Installed|x64'">
157+
<LinkIncremental>false</LinkIncremental>
158+
<IncludePath>$(SolutionDir)/headers/;$(VC_IncludePath);$(WindowsSDK_IncludePath)</IncludePath>
159+
</PropertyGroup>
90160
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
91161
<VcpkgUseStatic>true</VcpkgUseStatic>
92162
<VcpkgEnabled>true</VcpkgEnabled>
93163
<VcpkgTriplet>x64-windows-static-cjmdev</VcpkgTriplet>
94164
</PropertyGroup>
165+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Installed|x64'" Label="Vcpkg">
166+
<VcpkgUseStatic>true</VcpkgUseStatic>
167+
<VcpkgEnabled>true</VcpkgEnabled>
168+
<VcpkgTriplet>x64-windows-static</VcpkgTriplet>
169+
</PropertyGroup>
95170
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
96171
<VcpkgUseStatic>true</VcpkgUseStatic>
97172
<VcpkgEnabled>true</VcpkgEnabled>
98173
<VcpkgTriplet>x86-windows-static-cjmdev</VcpkgTriplet>
99174
</PropertyGroup>
175+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Installed|Win32'" Label="Vcpkg">
176+
<VcpkgUseStatic>true</VcpkgUseStatic>
177+
<VcpkgEnabled>true</VcpkgEnabled>
178+
<VcpkgTriplet>x86-windows-static</VcpkgTriplet>
179+
</PropertyGroup>
100180
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
101181
<VcpkgUseStatic>true</VcpkgUseStatic>
102182
<VcpkgEnabled>true</VcpkgEnabled>
103183
<VcpkgTriplet>x86-windows-static-cjmdev</VcpkgTriplet>
104184
</PropertyGroup>
185+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Installed|Win32'" Label="Vcpkg">
186+
<VcpkgUseStatic>true</VcpkgUseStatic>
187+
<VcpkgEnabled>true</VcpkgEnabled>
188+
<VcpkgTriplet>x86-windows-static</VcpkgTriplet>
189+
</PropertyGroup>
105190
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
106191
<VcpkgUseStatic>true</VcpkgUseStatic>
107192
<VcpkgEnabled>true</VcpkgEnabled>
108193
<VcpkgTriplet>x64-windows-static-cjmdev</VcpkgTriplet>
109194
</PropertyGroup>
195+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Installed|x64'" Label="Vcpkg">
196+
<VcpkgUseStatic>true</VcpkgUseStatic>
197+
<VcpkgEnabled>true</VcpkgEnabled>
198+
<VcpkgTriplet>x64-windows-static</VcpkgTriplet>
199+
</PropertyGroup>
110200
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
111201
<ClCompile>
112202
<WarningLevel>Level3</WarningLevel>
@@ -122,6 +212,21 @@
122212
<GenerateDebugInformation>true</GenerateDebugInformation>
123213
</Link>
124214
</ItemDefinitionGroup>
215+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Installed|Win32'">
216+
<ClCompile>
217+
<WarningLevel>Level3</WarningLevel>
218+
<SDLCheck>true</SDLCheck>
219+
<PreprocessorDefinitions>CJM_NUMERICS_UINT128_VALIDATE_UINT128_CONCEPT_COMPLIANCE_DEV;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
220+
<ConformanceMode>true</ConformanceMode>
221+
<LanguageStandard>stdcpplatest</LanguageStandard>
222+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
223+
<IntrinsicFunctions>true</IntrinsicFunctions>
224+
</ClCompile>
225+
<Link>
226+
<SubSystem>Console</SubSystem>
227+
<GenerateDebugInformation>true</GenerateDebugInformation>
228+
</Link>
229+
</ItemDefinitionGroup>
125230
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
126231
<ClCompile>
127232
<WarningLevel>Level3</WarningLevel>
@@ -141,6 +246,25 @@
141246
<GenerateDebugInformation>true</GenerateDebugInformation>
142247
</Link>
143248
</ItemDefinitionGroup>
249+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Installed|Win32'">
250+
<ClCompile>
251+
<WarningLevel>Level3</WarningLevel>
252+
<FunctionLevelLinking>true</FunctionLevelLinking>
253+
<IntrinsicFunctions>true</IntrinsicFunctions>
254+
<SDLCheck>true</SDLCheck>
255+
<PreprocessorDefinitions>CJM_NUMERICS_UINT128_VALIDATE_UINT128_CONCEPT_COMPLIANCE_DEV;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
256+
<ConformanceMode>true</ConformanceMode>
257+
<LanguageStandard>stdcpplatest</LanguageStandard>
258+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
259+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
260+
</ClCompile>
261+
<Link>
262+
<SubSystem>Console</SubSystem>
263+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
264+
<OptimizeReferences>true</OptimizeReferences>
265+
<GenerateDebugInformation>true</GenerateDebugInformation>
266+
</Link>
267+
</ItemDefinitionGroup>
144268
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
145269
<ClCompile>
146270
<WarningLevel>Level3</WarningLevel>
@@ -157,6 +281,22 @@
157281
<GenerateDebugInformation>true</GenerateDebugInformation>
158282
</Link>
159283
</ItemDefinitionGroup>
284+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Installed|x64'">
285+
<ClCompile>
286+
<WarningLevel>Level3</WarningLevel>
287+
<SDLCheck>true</SDLCheck>
288+
<PreprocessorDefinitions>CJM_NUMERICS_UINT128_VALIDATE_UINT128_CONCEPT_COMPLIANCE_DEV;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
289+
<ConformanceMode>true</ConformanceMode>
290+
<LanguageStandard>stdcpplatest</LanguageStandard>
291+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
292+
<IntrinsicFunctions>true</IntrinsicFunctions>
293+
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
294+
</ClCompile>
295+
<Link>
296+
<SubSystem>Console</SubSystem>
297+
<GenerateDebugInformation>true</GenerateDebugInformation>
298+
</Link>
299+
</ItemDefinitionGroup>
160300
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
161301
<ClCompile>
162302
<WarningLevel>Level3</WarningLevel>
@@ -177,6 +317,26 @@
177317
<GenerateDebugInformation>true</GenerateDebugInformation>
178318
</Link>
179319
</ItemDefinitionGroup>
320+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Installed|x64'">
321+
<ClCompile>
322+
<WarningLevel>Level3</WarningLevel>
323+
<FunctionLevelLinking>true</FunctionLevelLinking>
324+
<IntrinsicFunctions>true</IntrinsicFunctions>
325+
<SDLCheck>true</SDLCheck>
326+
<PreprocessorDefinitions>NDEBUG;_CONSOLE;CJM_NUMERICS_UINT128_VALIDATE_UINT128_CONCEPT_COMPLIANCE_DEV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
327+
<ConformanceMode>true</ConformanceMode>
328+
<LanguageStandard>stdcpplatest</LanguageStandard>
329+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
330+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
331+
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
332+
</ClCompile>
333+
<Link>
334+
<SubSystem>Console</SubSystem>
335+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
336+
<OptimizeReferences>true</OptimizeReferences>
337+
<GenerateDebugInformation>true</GenerateDebugInformation>
338+
</Link>
339+
</ItemDefinitionGroup>
180340
<ItemGroup>
181341
<ClCompile Include="..\cpp\int128_tests.cpp" />
182342
<ClCompile Include="..\cpp\int128_test_switches.cpp" />

0 commit comments

Comments
 (0)