Skip to content

Commit 0979a52

Browse files
committed
build(cmake): add and install cmake version file
This allowes consumers of the library to specify a version requirement and fail if it's not matched.
1 parent 5082264 commit 0979a52

1 file changed

Lines changed: 13 additions & 6 deletions

File tree

CMakeLists.txt

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -451,12 +451,18 @@ if (REFLECTCPP_INSTALL)
451451
include(CMakePackageConfigHelpers)
452452

453453
configure_package_config_file(reflectcpp-config.cmake.in
454-
${CMAKE_CURRENT_BINARY_DIR}/reflectcpp-config.cmake
455-
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/reflectcpp
456-
)
454+
${CMAKE_CURRENT_BINARY_DIR}/reflectcpp-config.cmake
455+
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/reflectcpp
456+
)
457+
write_basic_package_version_file(
458+
${CMAKE_CURRENT_BINARY_DIR}/reflectcpp-version.cmake
459+
COMPATIBILITY SameMinorVersion
460+
)
457461

458462
install(
459-
FILES "${CMAKE_CURRENT_BINARY_DIR}/reflectcpp-config.cmake"
463+
FILES
464+
"${CMAKE_CURRENT_BINARY_DIR}/reflectcpp-config.cmake"
465+
"${CMAKE_CURRENT_BINARY_DIR}/reflectcpp-version.cmake"
460466
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/reflectcpp"
461467
)
462468

@@ -467,13 +473,14 @@ if (REFLECTCPP_INSTALL)
467473
FILE_SET reflectcpp_headers
468474
TYPE HEADERS
469475
BASE_DIRS $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
470-
FILES ${RFL_HEADERS})
476+
FILES ${RFL_HEADERS}
477+
)
471478

472479
install(
473480
TARGETS reflectcpp
474481
EXPORT reflectcpp-exports
475482
FILE_SET reflectcpp_headers DESTINATION ${INCLUDE_INSTALL_DIR}
476-
)
483+
)
477484

478485
install(
479486
EXPORT reflectcpp-exports

0 commit comments

Comments
 (0)