diff --git a/CMakeLists.txt b/CMakeLists.txt index 8094fcb07225fb01ef5b78da6744d22a62450d4c..bcd1e8d7439d5dc179985f13412443f805aaf219 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 0000000000000000000000000000000000000000..572353a26ffb2018897bed662563e96fa074dd8c --- /dev/null +++ b/cmake/EDM4CEPCConfig.cmake.in @@ -0,0 +1,6 @@ +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/EDM4CEPCTargets.cmake") + +check_required_components(EDM4CEPC) +