Skip to content

Commit 687960d

Browse files
committed
initial commit
0 parents  commit 687960d

2 files changed

Lines changed: 62 additions & 0 deletions

File tree

CMakeLists.txt

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
2+
set(
3+
PACKAGE_PROJECT_CONFIG_FILE_PATH
4+
"${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in"
5+
CACHE INTERNAL
6+
"The config template for the packageProject script"
7+
)
8+
9+
function(packageProject)
10+
11+
cmake_parse_arguments(PROJECT "" "NAME;VERSION;INCLUDE_DIR;INCLUDE_DESTINATION;BINARY_DIR" "" ${ARGN})
12+
13+
include(CMakePackageConfigHelpers)
14+
15+
write_basic_package_version_file(
16+
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
17+
VERSION ${PROJECT_VERSION}
18+
COMPATIBILITY AnyNewerVersion
19+
)
20+
21+
install(
22+
TARGETS ${PROJECT_NAME}
23+
EXPORT ${PROJECT_NAME}Targets
24+
LIBRARY DESTINATION lib/${PROJECT_NAME}-${PROJECT_VERSION} COMPONENT Runtime
25+
ARCHIVE DESTINATION lib/${PROJECT_NAME}-${PROJECT_VERSION} COMPONENT Development
26+
RUNTIME DESTINATION bin/${PROJECT_NAME}-${PROJECT_VERSION} COMPONENT Runtime
27+
PUBLIC_HEADER DESTINATION include/${PROJECT_NAME}-${PROJECT_VERSION} COMPONENT Development
28+
BUNDLE DESTINATION bin COMPONENT Runtime
29+
)
30+
31+
include(CMakePackageConfigHelpers)
32+
33+
configure_package_config_file(
34+
${PACKAGE_PROJECT_CONFIG_FILE_PATH}
35+
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
36+
INSTALL_DESTINATION lib/cmake/${PROJECT_NAME}-${PROJECT_VERSION}
37+
)
38+
39+
install(
40+
EXPORT ${PROJECT_NAME}Targets
41+
DESTINATION lib/cmake/${PROJECT_NAME}-${PROJECT_VERSION}
42+
)
43+
44+
install(
45+
FILES
46+
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
47+
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
48+
DESTINATION
49+
lib/cmake/${PROJECT_NAME}-${PROJECT_VERSION}
50+
)
51+
52+
install(
53+
DIRECTORY ${PROJECT_INCLUDE_DIR}/
54+
DESTINATION ${PROJECT_INCLUDE_DESTINATION}
55+
)
56+
57+
endfunction()

Config.cmake.in

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
@PACKAGE_INIT@
2+
3+
include(CMakeFindDependencyMacro)
4+
include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
5+
check_required_components("@PROJECT_NAME@")

0 commit comments

Comments
 (0)