diff --git a/CMakeLists.txt b/CMakeLists.txt index 08401d48..866abe63 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -95,14 +95,12 @@ if(ENABLE_CPACK) include(cmake/${PROJECT_NAME}CPack.cmake) endif() - - - install(EXPORT ${PROJECT_NAME}Targets NAMESPACE ${PROJECT_NAME}:: FILE "${PROJECT_NAME}Targets.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/" ) -gaudi_install(CMAKE cmake/${PROJECT_NAME}Config.cmake) +include(cmake/k4FWCoreCreateConfig.cmake) +gaudi_install(CMAKE ${PROJECT_BINARY_DIR}/k4FWCoreConfig.cmake) diff --git a/cmake/k4FWCoreConfig.cmake b/cmake/k4FWCoreConfig.cmake deleted file mode 100644 index 50a30cc7..00000000 --- a/cmake/k4FWCoreConfig.cmake +++ /dev/null @@ -1,11 +0,0 @@ - -include(CMakeFindDependencyMacro) -find_dependency(podio REQUIRED) -find_dependency(Gaudi REQUIRED) - -# - Include the targets file to create the imported targets that a client can -# link to (libraries) or execute (programs) -include("${CMAKE_CURRENT_LIST_DIR}/k4FWCoreTargets.cmake") - -get_property(TEST_K4FWCORE_LIBRARY TARGET k4FWCore::k4FWCore PROPERTY LOCATION) -find_package_handle_standard_args(k4FWCore DEFAULT_MSG CMAKE_CURRENT_LIST_FILE TEST_K4FWCORE_LIBRARY) diff --git a/cmake/k4FWCoreConfig.cmake.in b/cmake/k4FWCoreConfig.cmake.in new file mode 100644 index 00000000..5592ce11 --- /dev/null +++ b/cmake/k4FWCoreConfig.cmake.in @@ -0,0 +1,34 @@ +############################################################################### +# k4FWCore CMake Config +# +# Exported Targets +# - k4FWCore::k4FWCore The core library containing the PodioDataSvc +# and the KeepDropSwitch +# - k4FWCore::k4FWCorePlugins The plugin library for the core plugins +# provided by k4FWCore. Includes all major +# services for I/O and as well as some utility +# algorithms +# - k4FWCore::k4Interface The (header-only) target containing all +# interface definitions +# +############################################################################### +@PACKAGE_INIT@ + +set_and_check(k4FWCore_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") +set_and_check(k4FWCore_LIBRARY_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@") + +include(CMakeFindDependencyMacro) +find_dependency(podio REQUIRED @podio_VERSION@) +find_dependency(Gaudi REQUIRED @Gaudi_VERSION@) +find_dependency(EDM4HEP REQUIRED @EDM4HEP_VERSION@) +find_dependency(ROOT COMPONENTS RIO Tree REQUIRED @ROOT_VERSION@) + +if(NOT TARGET k4FWCore::k4FWCore) + include("${CMAKE_CURRENT_LIST_DIR}/k4FWCoreTargets.cmake") +endif() + +check_required_components(k4FWCore) + +include(FindPackageHandleStandardArgs) +get_property(TEST_K4FWCORE_LIBRARY TARGET k4FWCore::k4FWCore PROPERTY LOCATION) +find_package_handle_standard_args(k4FWCore DEFAULT_MSG CMAKE_CURRENT_LIST_FILE TEST_K4FWCORE_LIBRARY) diff --git a/cmake/k4FWCoreCreateConfig.cmake b/cmake/k4FWCoreCreateConfig.cmake new file mode 100644 index 00000000..a2881e25 --- /dev/null +++ b/cmake/k4FWCoreCreateConfig.cmake @@ -0,0 +1,6 @@ +include(CMakePackageConfigHelpers) + +configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/k4FWCoreConfig.cmake.in + ${PROJECT_BINARY_DIR}/k4FWCoreConfig.cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_CMAKEDIR}/k4FWCore + PATH_VARS CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_LIBDIR)