Skip to content

Commit b404898

Browse files
committed
Updated CMake to use GNUInstallDirs
1 parent c40dc75 commit b404898

File tree

2 files changed

+58
-14
lines changed

2 files changed

+58
-14
lines changed

CMakeLists.txt

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ project(DirectXMath
1111
HOMEPAGE_URL "https://go.microsoft.com/fwlink/?LinkID=615560"
1212
LANGUAGES CXX)
1313

14+
include(GNUInstallDirs)
15+
1416
#--- Library
1517
set(LIBRARY_HEADERS
1618
Inc/DirectXCollision.h
@@ -28,38 +30,37 @@ add_library(${PROJECT_NAME} INTERFACE)
2830

2931
target_include_directories(${PROJECT_NAME} INTERFACE
3032
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/Inc>
31-
$<INSTALL_INTERFACE:include/${PROJECT_NAME}>)
33+
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
3234

3335
#--- Package
3436
include(CMakePackageConfigHelpers)
3537

3638
string(TOLOWER ${PROJECT_NAME} PACKAGE_NAME)
3739

3840
write_basic_package_version_file(
39-
${PROJECT_BINARY_DIR}/cmake/${PACKAGE_NAME}-config-version.cmake
41+
${PACKAGE_NAME}-config-version.cmake
4042
VERSION ${DIRECTXMATH_VERSION}
4143
COMPATIBILITY AnyNewerVersion)
4244

4345
install(TARGETS ${PROJECT_NAME}
4446
EXPORT ${PROJECT_NAME}-targets
45-
ARCHIVE DESTINATION lib
46-
LIBRARY DESTINATION lib
47-
RUNTIME DESTINATION bin)
47+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
48+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
49+
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
4850

4951
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/.nuget/${PROJECT_NAME}-config.cmake.in
50-
${PROJECT_BINARY_DIR}/cmake/${PACKAGE_NAME}-config.cmake
51-
INSTALL_DESTINATION cmake/})
52+
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}-config.cmake
53+
INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PACKAGE_NAME}/cmake/})
5254

5355
install(EXPORT ${PROJECT_NAME}-targets
5456
FILE ${PROJECT_NAME}-targets.cmake
5557
NAMESPACE Microsoft::
56-
DESTINATION cmake/)
58+
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PACKAGE_NAME}/cmake/)
5759

5860
install(FILES ${LIBRARY_HEADERS}
59-
DESTINATION include/${PROJECT_NAME})
61+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
6062

61-
install(
62-
FILES
63-
${PROJECT_BINARY_DIR}/cmake/${PACKAGE_NAME}-config.cmake
64-
${PROJECT_BINARY_DIR}/cmake/${PACKAGE_NAME}-config-version.cmake
65-
DESTINATION cmake/)
63+
install(FILES
64+
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}-config.cmake
65+
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}-config-version.cmake
66+
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PACKAGE_NAME}/cmake/)

CMakePresets.json

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{
2+
"version": 2,
3+
"configurePresets": [
4+
{
5+
"name": "base",
6+
"displayName": "Basic Config",
7+
"description": "Basic build using Ninja generator",
8+
"generator": "Ninja",
9+
"hidden": true,
10+
"binaryDir": "${sourceDir}/out/build/${presetName}",
11+
"cacheVariables": { "CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}" }
12+
},
13+
14+
{
15+
"name": "x64",
16+
"architecture": {
17+
"value": "x64",
18+
"strategy": "external"
19+
},
20+
"hidden": true
21+
},
22+
23+
{
24+
"name": "Debug",
25+
"cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" },
26+
"hidden": true
27+
},
28+
29+
{
30+
"name": "MSVC",
31+
"hidden": true,
32+
"cacheVariables": {
33+
"CMAKE_CXX_COMPILER": "cl.exe"
34+
},
35+
"toolset": {
36+
"value": "host=x64",
37+
"strategy": "external"
38+
}
39+
},
40+
41+
{ "name": "x64-Debug" , "description": "MSVC for x64 (Debug) for Windows 8", "inherits": [ "base", "x64", "Debug", "MSVC" ] }
42+
]
43+
}

0 commit comments

Comments
 (0)