Skip to content

Commit 8a4c893

Browse files
authored
CMake update for version 3.20 (#154)
1 parent c4866d1 commit 8a4c893

File tree

2 files changed

+156
-2
lines changed

2 files changed

+156
-2
lines changed

CMakeLists.txt

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Copyright (c) Microsoft Corporation.
22
# Licensed under the MIT License.
33

4-
cmake_minimum_required (VERSION 3.14)
4+
cmake_minimum_required (VERSION 3.20)
55

66
set(DIRECTXMATH_VERSION 3.1.8)
77

@@ -67,3 +67,25 @@ install(FILES
6767
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}-config.cmake
6868
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}-config-version.cmake
6969
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PACKAGE_NAME})
70+
71+
#--- Test suite
72+
if (DEFINED VCPKG_TARGET_ARCHITECTURE)
73+
set(DXMATH_ARCHITECTURE ${VCPKG_TARGET_ARCHITECTURE})
74+
elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Ww][Ii][Nn]32$")
75+
set(DXMATH_ARCHITECTURE x86)
76+
elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Xx]64$")
77+
set(DXMATH_ARCHITECTURE x64)
78+
elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Aa][Rr][Mm]$")
79+
set(DXMATH_ARCHITECTURE arm)
80+
elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Aa][Rr][Mm]64$")
81+
set(DXMATH_ARCHITECTURE arm64)
82+
elseif(NOT DXMATH_ARCHITECTURE)
83+
set(DXMATH_ARCHITECTURE "x64")
84+
endif()
85+
86+
#--- Test suite
87+
include(CTest)
88+
if(BUILD_TESTING AND WIN32 AND (NOT WINDOWS_STORE) AND (EXISTS "${CMAKE_CURRENT_LIST_DIR}/Tests/CMakeLists.txt"))
89+
enable_testing()
90+
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/Tests)
91+
endif()

CMakePresets.json

Lines changed: 133 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,34 @@
1717
"value": "x64",
1818
"strategy": "external"
1919
},
20+
"cacheVariables": { "DXMATH_ARCHITECTURE": "x64" },
21+
"hidden": true
22+
},
23+
{
24+
"name": "x86",
25+
"architecture": {
26+
"value": "x86",
27+
"strategy": "external"
28+
},
29+
"cacheVariables": { "DXMATH_ARCHITECTURE": "x86" },
30+
"hidden": true
31+
},
32+
{
33+
"name": "ARM",
34+
"architecture": {
35+
"value": "arm",
36+
"strategy": "external"
37+
},
38+
"cacheVariables": { "DXMATH_ARCHITECTURE": "arm" },
39+
"hidden": true
40+
},
41+
{
42+
"name": "ARM64",
43+
"architecture": {
44+
"value": "arm64",
45+
"strategy": "external"
46+
},
47+
"cacheVariables": { "DXMATH_ARCHITECTURE": "arm64" },
2048
"hidden": true
2149
},
2250

@@ -25,6 +53,37 @@
2553
"cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" },
2654
"hidden": true
2755
},
56+
{
57+
"name": "Release",
58+
"cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo" },
59+
"hidden": true
60+
},
61+
62+
{
63+
"name": "OneCore",
64+
"cacheVariables": { "BUILD_FOR_ONECORE": true },
65+
"hidden": true
66+
},
67+
{
68+
"name": "AVX",
69+
"cacheVariables": { "BUILD_AVX_TEST": true },
70+
"hidden": true
71+
},
72+
{
73+
"name": "AVX2",
74+
"cacheVariables": { "BUILD_AVX2_TEST": true },
75+
"hidden": true
76+
},
77+
{
78+
"name": "F16C",
79+
"cacheVariables": { "BUILD_F16C_TEST": true },
80+
"hidden": true
81+
},
82+
{
83+
"name": "NI",
84+
"cacheVariables": { "BUILD_NO_INTRINSICS": true },
85+
"hidden": true
86+
},
2887

2988
{
3089
"name": "MSVC",
@@ -37,7 +96,80 @@
3796
"strategy": "external"
3897
}
3998
},
99+
{
100+
"name": "Clang",
101+
"hidden": true,
102+
"cacheVariables": {
103+
"CMAKE_CXX_COMPILER": "clang-cl.exe"
104+
},
105+
"toolset": {
106+
"value": "host=x64",
107+
"strategy": "external"
108+
}
109+
},
110+
{
111+
"name": "GNUC",
112+
"hidden": true,
113+
"cacheVariables": {
114+
"CMAKE_CXX_COMPILER": "g++.exe"
115+
},
116+
"toolset": {
117+
"value": "host=x64",
118+
"strategy": "external"
119+
}
120+
},
121+
{
122+
"name": "Intel",
123+
"hidden": true,
124+
"cacheVariables": {
125+
"CMAKE_CXX_COMPILER": "icl.exe"
126+
},
127+
"toolset": {
128+
"value": "host=x64",
129+
"strategy": "external"
130+
}
131+
},
132+
{
133+
"name": "IntelLLVM",
134+
"hidden": true,
135+
"cacheVariables": {
136+
"CMAKE_CXX_COMPILER": "icx.exe"
137+
},
138+
"toolset": {
139+
"value": "host=x64",
140+
"strategy": "external"
141+
}
142+
},
143+
144+
{ "name": "x64-Debug" , "description": "MSVC for x64 (Debug) - SSE/SSE2", "inherits": [ "base", "x64", "Debug", "MSVC" ] },
145+
{ "name": "x64-Release" , "description": "MSVC for x64 (Release) - SSE/SSE2", "inherits": [ "base", "x64", "Release", "MSVC" ] },
146+
{ "name": "x86-Debug" , "description": "MSVC for x86 (Debug) - SSE/SSE2", "inherits": [ "base", "x86", "Debug", "MSVC" ] },
147+
{ "name": "x86-Release" , "description": "MSVC for x86 (Release) - SSE/SSE2", "inherits": [ "base", "x86", "Release", "MSVC" ] },
148+
{ "name": "arm-Debug" , "description": "MSVC for ARM (Debug) - ARM-NEON", "inherits": [ "base", "ARM", "Debug", "MSVC" ] },
149+
{ "name": "arm-Release" , "description": "MSVC for ARM (Release) - ARM-NEON", "inherits": [ "base", "ARM", "Release", "MSVC" ] },
150+
{ "name": "arm64-Debug" , "description": "MSVC for ARM64 (Debug) - ARM-NEON", "inherits": [ "base", "ARM64", "Debug", "MSVC" ] },
151+
{ "name": "arm64-Release", "description": "MSVC for ARM64 (Release) - ARM-NEON", "inherits": [ "base", "ARM64", "Release", "MSVC" ] },
152+
153+
{ "name": "x64-Debug-Clang" , "description": "Clang/LLVM for x64 (Debug) - SSE/SSE2", "inherits": [ "base", "x64", "Debug", "Clang" ] },
154+
{ "name": "x64-Release-Clang" , "description": "Clang/LLVM for x64 (Release) - SSE/SSE2", "inherits": [ "base", "x64", "Release", "Clang" ] },
155+
{ "name": "x86-Debug-Clang" , "description": "Clang/LLVM for x86 (Debug) - SSE/SSE2", "inherits": [ "base", "x86", "Debug", "Clang" ], "environment": { "CXXFLAGS": "-m32" } },
156+
{ "name": "x86-Release-Clang" , "description": "Clang/LLVM for x86 (Release) - SSE/SSE2", "inherits": [ "base", "x86", "Release", "Clang" ], "environment": { "CXXFLAGS": "-m32" } },
157+
{ "name": "arm64-Debug-Clang" , "description": "Clang/LLVM for AArch64 (Debug) - ARM-NEON", "inherits": [ "base", "ARM64", "Debug", "Clang" ], "environment": { "CXXFLAGS": "--target=arm64-pc-windows-msvc" } },
158+
{ "name": "arm64-Release-Clang", "description": "Clang/LLVM for AArch64 (Release) - ARM-NEON", "inherits": [ "base", "ARM64", "Release", "Clang" ], "environment": { "CXXFLAGS": "--target=arm64-pc-windows-msvc" } }
159+
],
160+
"testPresets": [
161+
{ "name": "x64-Debug" , "configurePreset": "x64-Debug" },
162+
{ "name": "x64-Release" , "configurePreset": "x64-Release" },
163+
{ "name": "x86-Debug" , "configurePreset": "x86-Debug" },
164+
{ "name": "x86-Release" , "configurePreset": "x86-Release" },
165+
{ "name": "arm64-Debug" , "configurePreset": "arm64-Debug" },
166+
{ "name": "arm64-Release", "configurePreset": "arm64-Release" },
40167

41-
{ "name": "x64-Debug" , "description": "MSVC for x64 (Debug) for Windows 8", "inherits": [ "base", "x64", "Debug", "MSVC" ] }
168+
{ "name": "x64-Debug-Clang" , "configurePreset": "x64-Debug-Clang" },
169+
{ "name": "x64-Release-Clang" , "configurePreset": "x64-Release-Clang" },
170+
{ "name": "x86-Debug-Clang" , "configurePreset": "x86-Debug-Clang" },
171+
{ "name": "x86-Release-Clang" , "configurePreset": "x86-Release-Clang" },
172+
{ "name": "arm64-Debug-Clang" , "configurePreset": "arm64-Debug-Clang" },
173+
{ "name": "arm64-Release-Clang", "configurePreset": "arm64-Release-Clang" }
42174
]
43175
}

0 commit comments

Comments
 (0)