CMakeLists.txt | 10 +++++++++- cmocka-config.cmake.in | 10 ++++++++++ src/CMakeLists.txt | 4 ++-- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7664bcc..6e923db 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -75,11 +75,19 @@ install( pkgconfig ) +configure_package_config_file(cmocka-config.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/cmocka-config.cmake" + INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/cmocka" + NO_SET_AND_CHECK_MACRO + NO_CHECK_REQUIRED_COMPONENTS_MACRO +) + write_basic_package_version_file(${PROJECT_NAME}-config-version.cmake COMPATIBILITY AnyNewerVersion) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/cmocka-config.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} COMPONENT devel) diff --git a/cmocka-config.cmake.in b/cmocka-config.cmake.in new file mode 100644 index 0000000..d39bcb2 --- /dev/null +++ b/cmocka-config.cmake.in @@ -0,0 +1,10 @@ +@PACKAGE_INIT@ + +get_filename_component(cmocka_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +if(NOT TARGET cmocka::cmocka) + include("${cmocka_CMAKE_DIR}/cmocka-targets.cmake") +endif() + +# for backwards compatibility +set(CMOCKA_LIBRARY cmocka::cmocka) +set(CMOCKA_LIBRARIES cmocka::cmocka) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 155c347..c92b9ff 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -68,13 +68,13 @@ set_property(TARGET add_library(cmocka::cmocka ALIAS cmocka) install(TARGETS cmocka - EXPORT cmocka-config + EXPORT cmocka-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${PROJECT_NAME}) -install(EXPORT cmocka-config +install(EXPORT cmocka-targets NAMESPACE cmocka:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cmocka)