11cmake_minimum_required (VERSION 3.25)
22
3- set (BUILD_VERSION 0.1.1)
4- project (slick_object_pool VERSION ${BUILD_VERSION} LANGUAGES CXX)
3+ project (slick_object_pool
4+ VERSION 0.1.2
5+ LANGUAGES CXX
6+ )
57
68set (CMAKE_CXX_STANDARD 20)
79set (CMAKE_CXX_STANDARD_REQUIRED ON )
810set (CMAKE_CXX_EXTENSIONS OFF )
911
1012# Add header-only library
1113add_library (slick_object_pool INTERFACE )
14+ add_library (slick::slick_object_pool ALIAS slick_object_pool)
1215target_include_directories (slick_object_pool INTERFACE
1316 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /include >
1417 $<INSTALL_INTERFACE:include >
@@ -27,9 +30,41 @@ if(BUILD_SLICK_OBJECTPOOL_TESTS)
2730endif ()
2831
2932# Installation rules
33+ install (TARGETS slick_object_pool
34+ EXPORT slick_object_pool-targets
35+ INCLUDES DESTINATION include
36+ )
37+
3038install (DIRECTORY include / DESTINATION include )
3139
32- message (STATUS "slick_object_pool: ${BUILD_VERSION} " )
40+ # Install CMake config files for find_package support
41+ include (CMakePackageConfigHelpers)
42+
43+ write_basic_package_version_file(
44+ "${CMAKE_CURRENT_BINARY_DIR} /slick_object_pool-config-version.cmake"
45+ VERSION ${PROJECT_VERSION}
46+ COMPATIBILITY SameMajorVersion
47+ )
48+
49+ configure_package_config_file(
50+ "${CMAKE_CURRENT_SOURCE_DIR} /cmake/slick_object_pool-config.cmake.in"
51+ "${CMAKE_CURRENT_BINARY_DIR} /slick_object_pool-config.cmake"
52+ INSTALL_DESTINATION lib/cmake/slick_object_pool
53+ )
54+
55+ install (FILES
56+ "${CMAKE_CURRENT_BINARY_DIR} /slick_object_pool-config.cmake"
57+ "${CMAKE_CURRENT_BINARY_DIR} /slick_object_pool-config-version.cmake"
58+ DESTINATION lib/cmake/slick_object_pool
59+ )
60+
61+ install (EXPORT slick_object_pool-targets
62+ FILE slick_object_pool-targets.cmake
63+ NAMESPACE slick::
64+ DESTINATION lib/cmake/slick_object_pool
65+ )
66+
67+ message (STATUS "slick_object_pool: ${PROJECT_VERSION} " )
3368
3469if (CMAKE_BUILD_TYPE STREQUAL "Release" )
3570 add_custom_target (dist_slick_object_pool ALL
@@ -41,7 +76,7 @@ if(CMAKE_BUILD_TYPE STREQUAL "Release")
4176
4277 if (PROJECT_IS_TOP_LEVEL)
4378 add_custom_target (package_slick_object_pool ALL
44- COMMAND ${CMAKE_COMMAND} -E tar "cfv" "${CMAKE_BINARY_DIR} /dist/slick_object_pool_${BUILD_VERSION } .zip" --format=zip "include"
79+ COMMAND ${CMAKE_COMMAND} -E tar "cfv" "${CMAKE_BINARY_DIR} /dist/slick_object_pool_${PROJECT_VERSION } .zip" --format=zip "include"
4580 WORKING_DIRECTORY "${CMAKE_BINARY_DIR} /dist"
4681 COMMENT "Creating zip archive"
4782 )
0 commit comments