Commit 192a6920 by Robert Marki

Generate package config files in cmake's current binary directory

Generate the config files of the package in CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR because the later will refer to the main project's binary directory if the library is included in the project using the add_subdirectory command.
parent b1a2e9a7
...@@ -33,15 +33,15 @@ target_link_libraries(${JSON_UNITTEST_TARGET_NAME} ${JSON_TARGET_NAME}) ...@@ -33,15 +33,15 @@ target_link_libraries(${JSON_UNITTEST_TARGET_NAME} ${JSON_TARGET_NAME})
# generate a config and config version file for the package # generate a config and config version file for the package
include(CMakePackageConfigHelpers) include(CMakePackageConfigHelpers)
configure_package_config_file("cmake/config.cmake.in" configure_package_config_file("cmake/config.cmake.in"
"${CMAKE_BINARY_DIR}/${JSON_CONFIG_FILENAME}" "${CMAKE_CURRENT_BINARY_DIR}/${JSON_CONFIG_FILENAME}"
INSTALL_DESTINATION ${JSON_CONFIG_DESTINATION}) INSTALL_DESTINATION ${JSON_CONFIG_DESTINATION})
write_basic_package_version_file("${CMAKE_BINARY_DIR}/${JSON_CONFIGVERSION_FILENAME}" write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/${JSON_CONFIGVERSION_FILENAME}"
VERSION ${PROJECT_VERSION} VERSION ${PROJECT_VERSION}
COMPATIBILITY SameMajorVersion) COMPATIBILITY SameMajorVersion)
# export the library target and store build directory in package registry # export the library target and store build directory in package registry
export(TARGETS ${JSON_TARGET_NAME} export(TARGETS ${JSON_TARGET_NAME}
FILE "${CMAKE_BINARY_DIR}/${JSON_TARGETS_FILENAME}") FILE "${CMAKE_CURRENT_BINARY_DIR}/${JSON_TARGETS_FILENAME}")
export(PACKAGE ${JSON_PACKAGE_NAME}) export(PACKAGE ${JSON_PACKAGE_NAME})
# install library target and config files # install library target and config files
...@@ -52,6 +52,6 @@ install(FILES "src/json.hpp" ...@@ -52,6 +52,6 @@ install(FILES "src/json.hpp"
install(EXPORT ${JSON_PACKAGE_NAME} install(EXPORT ${JSON_PACKAGE_NAME}
FILE ${JSON_TARGETS_FILENAME} FILE ${JSON_TARGETS_FILENAME}
DESTINATION ${JSON_CONFIG_DESTINATION}) DESTINATION ${JSON_CONFIG_DESTINATION})
install(FILES "${CMAKE_BINARY_DIR}/${JSON_CONFIG_FILENAME}" install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${JSON_CONFIG_FILENAME}"
"${CMAKE_BINARY_DIR}/${JSON_CONFIGVERSION_FILENAME}" "${CMAKE_CURRENT_BINARY_DIR}/${JSON_CONFIGVERSION_FILENAME}"
DESTINATION ${JSON_CONFIG_DESTINATION}) DESTINATION ${JSON_CONFIG_DESTINATION})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment