Skip to content

Commit d937504

Browse files
committed
Update cmake-format config file
1 parent dee63cb commit d937504

File tree

3 files changed

+20
-7
lines changed

3 files changed

+20
-7
lines changed

.cmake-format

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,13 @@ parse:
5151
NAMESPACE: 1
5252
INCLUDE_DIR: 1
5353
INCLUDE_DESTINATION: 1
54+
INCLUDE_HEADER_PATTERN: 1
5455
BINARY_DIR: 1
5556
COMPATIBILITY: 1
5657
VERSION_HEADER: 1
58+
EXPORT_HEADER: 1
59+
DISABLE_VERSION_SUFFIX: 1
60+
CPACK: 1
61+
RUNTIME_DESTINATION: 1
5762
DEPENDENCIES: +
63+
HEADER_SETS: +

CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@ target_link_libraries(${PROJECT_NAME} PRIVATE fmt::fmt)
7979
set(GREETER_VERSION \"${PROJECT_VERSION}\")
8080
string(TOUPPER ${PROJECT_NAME} UPPERCASE_PROJECT_NAME)
8181
configure_file(${PACKAGE_PROJECT_ROOT_PATH}/version.h.in ${VERSION_HEADER_LOCATION} @ONLY)
82-
add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
8382
8483
if(CMAKE_SKIP_INSTALL_RULES)
84+
add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
8585
return()
8686
endif()
8787
@@ -93,9 +93,9 @@ packageProject(
9393
VERSION ${PROJECT_VERSION}
9494
NAMESPACE ${PROJECT_NAME}
9595
BINARY_DIR ${PROJECT_BINARY_DIR}
96-
INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include
97-
# XXX INCLUDE_DESTINATION include/${PROJECT_NAME}-${PROJECT_VERSION} XXX VERSION_HEADER
98-
# "${VERSION_HEADER_LOCATION}"
96+
# Not used! INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include
9997
COMPATIBILITY SameMajorVersion
98+
RUNTIME_DESTINATION /
10099
DEPENDENCIES "fmt 11.1.4"
100+
HEADER_SETS public_headers
101101
)

cmake/PackageProject.cmake

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1-
cmake_minimum_required(VERSION 3.14)
1+
cmake_minimum_required(VERSION 3.14...3.31)
22

33
set(PACKAGE_PROJECT_ROOT_PATH
44
"${CMAKE_CURRENT_LIST_DIR}"
55
CACHE INTERNAL "The path to the PackageProject directory"
66
)
77

8+
# if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.31.0") cmake_policy(SET CMP0177 NEW) endif()
9+
810
function(packageProject)
911
include(CMakePackageConfigHelpers)
1012
include(GNUInstallDirs)
@@ -13,7 +15,7 @@ function(packageProject)
1315
PROJECT
1416
""
1517
"NAME;VERSION;INCLUDE_DIR;INCLUDE_DESTINATION;BINARY_DIR;COMPATIBILITY;EXPORT_HEADER;VERSION_HEADER;NAMESPACE;DISABLE_VERSION_SUFFIX;ARCH_INDEPENDENT;INCLUDE_HEADER_PATTERN;CPACK;RUNTIME_DESTINATION"
16-
"DEPENDENCIES"
18+
"DEPENDENCIES;HEADER_SETS"
1719
${ARGN}
1820
)
1921

@@ -133,6 +135,11 @@ function(packageProject)
133135
set(PROJECT_RUNTIME_DESTINATION ${PROJECT_NAME}${PROJECT_VERSION_SUFFIX})
134136
endif()
135137

138+
if(PROJECT_HEADER_SETS)
139+
# required to install if use in project target since CMake 3.23
140+
set(FILE_SET_ARGS "FILE_SET" "${PROJECT_HEADER_SETS}")
141+
endif()
142+
136143
install(
137144
TARGETS ${PROJECT_NAME}
138145
EXPORT ${PROJECT_NAME}Targets
@@ -148,7 +155,7 @@ function(packageProject)
148155
PUBLIC_HEADER
149156
DESTINATION ${PROJECT_INCLUDE_DESTINATION}
150157
COMPONENT "${PROJECT_NAME}_Development"
151-
FILE_SET public_headers
158+
${FILE_SET_ARGS}
152159
INCLUDES
153160
DESTINATION "${PROJECT_INCLUDE_DESTINATION}"
154161
)

0 commit comments

Comments
 (0)