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