Skip to content

Commit

Permalink
Configure the cmake config for downstream consumption
Browse files Browse the repository at this point in the history
- Make sure all required dependencies are also detected in downstream
  users
- Add some legacy variables
  • Loading branch information
tmadlener committed Sep 3, 2024
1 parent 84ed411 commit 7dd5f8f
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 15 deletions.
6 changes: 2 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
11 changes: 0 additions & 11 deletions cmake/k4FWCoreConfig.cmake

This file was deleted.

34 changes: 34 additions & 0 deletions cmake/k4FWCoreConfig.cmake.in
Original file line number Diff line number Diff line change
@@ -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)
6 changes: 6 additions & 0 deletions cmake/k4FWCoreCreateConfig.cmake
Original file line number Diff line number Diff line change
@@ -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)

0 comments on commit 7dd5f8f

Please sign in to comment.