From b4b41f155c7d857c51bff26ebc26a96cac0cb8cb Mon Sep 17 00:00:00 2001 From: lintao <lintao51@gmail.com> Date: Fri, 14 Jun 2024 13:12:50 +0800 Subject: [PATCH] produce the targets.cmake --- CMakeLists.txt | 30 ++++++++++++++++++++++++++++++ cmake/EDM4CEPCConfig.cmake.in | 6 ++++++ 2 files changed, 36 insertions(+) create mode 100644 cmake/EDM4CEPCConfig.cmake.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 8094fcb..bcd1e8d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,12 +46,19 @@ PODIO_GENERATE_DATAMODEL( IO_BACKEND_HANDLERS ${PODIO_IO_HANDLERS} ) +############################################################################## +# Build libraries +############################################################################## PODIO_ADD_DATAMODEL_CORE_LIB(edm4cepc "${headers}" "${sources}") target_link_libraries(edm4cepc PUBLIC EDM4HEP::edm4hep) PODIO_ADD_ROOT_IO_DICT(edm4cepcDict edm4cepc "${headers}" src/selection.xml) add_library(EDM4CEPC::edm4cepcDict ALIAS edm4cepcDict ) +############################################################################## +# Install +############################################################################## + list(APPEND EDM4CEPC_INSTALL_LIBS edm4cepc edm4cepcDict) install(TARGETS ${EDM4CEPC_INSTALL_LIBS} @@ -66,3 +73,26 @@ install(FILES "${PROJECT_BINARY_DIR}/libedm4cepcDict_rdict.pcm" DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT dev) +include(CMakePackageConfigHelpers) + +configure_package_config_file( + cmake/${PROJECT_NAME}Config.cmake.in + "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" + INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" + PATH_VARS + CMAKE_INSTALL_BINDIR + CMAKE_INSTALL_INCLUDEDIR + CMAKE_INSTALL_LIBDIR + CMAKE_INSTALL_DATADIR + ) + +install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" + ) + +install(EXPORT ${PROJECT_NAME}Targets + FILE ${PROJECT_NAME}Targets.cmake + NAMESPACE ${PROJECT_NAME}:: + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" + ) diff --git a/cmake/EDM4CEPCConfig.cmake.in b/cmake/EDM4CEPCConfig.cmake.in new file mode 100644 index 0000000..572353a --- /dev/null +++ b/cmake/EDM4CEPCConfig.cmake.in @@ -0,0 +1,6 @@ +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/EDM4CEPCTargets.cmake") + +check_required_components(EDM4CEPC) + -- GitLab