From fbc1ec577e4f7b0433b0553ff3f83614eeb1dc95 Mon Sep 17 00:00:00 2001 From: "M. von Buelow" Date: Thu, 11 Jun 2026 12:27:19 +0200 Subject: [PATCH 1/2] Export stream as target --- CMakeLists.txt | 34 +++++++++++++++++++---------- cmake/modules/StreamMacros.cmake | 6 ++++- cmake/scripts/StreamConfig.cmake.in | 16 +++----------- 3 files changed, 30 insertions(+), 26 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e379bc7..fff0541 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,16 +16,6 @@ include(GNUInstallDirs) set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) set(STREAM_INSTALL_INCLUDEDIR ${CMAKE_INSTALL_INCLUDEDIR}/stream) -export( - TARGETS ${PROJECT_TARGETS} - NAMESPACE stream:: - FILE ${PROJECT_NAME}Targets.cmake) - -install( - EXPORT ${PROJECT_NAME}Targets - NAMESPACE stream:: - DESTINATION ${CMAKE_INSTALL_CMAKEDIR}) - #--- Load some basic macros --- include(StreamMacros) @@ -53,8 +43,13 @@ else() set(_ldvname_ LD_LIBRARY_PATH) endif() -configure_file(${CMAKE_SOURCE_DIR}/cmake/scripts/StreamConfig.cmake.in - ${CMAKE_BINARY_DIR}/StreamConfig.cmake COPYONLY) +include(CMakePackageConfigHelpers) + +configure_package_config_file( + ${CMAKE_SOURCE_DIR}/cmake/scripts/StreamConfig.cmake.in + ${CMAKE_BINARY_DIR}/StreamConfig.cmake + INSTALL_DESTINATION lib/cmake/Stream +) set(_streamsys_ ${CMAKE_BINARY_DIR}) set(_streaminc_ ${CMAKE_BINARY_DIR}/include) @@ -73,6 +68,10 @@ configure_file(${CMAKE_SOURCE_DIR}/cmake/scripts/streamlogin.in install(PROGRAMS ${PROJECT_BINARY_DIR}/macros/streamlogin DESTINATION ${CMAKE_INSTALL_BINDIR}) +install(FILES ${CMAKE_BINARY_DIR}/StreamConfig.cmake + DESTINATION ${CMAKE_INSTALL_CMAKEDIR} +) + add_subdirectory(framework) if(Go4_FOUND) @@ -81,3 +80,14 @@ endif() get_property(__allHeaders GLOBAL PROPERTY STREAM_HEADER_TARGETS) add_custom_target(move_headers ALL DEPENDS ${__allHeaders}) + +export( + EXPORT ${PROJECT_NAME}Targets + NAMESPACE stream:: + FILE ${PROJECT_NAME}Targets.cmake) + +install( + EXPORT ${PROJECT_NAME}Targets + NAMESPACE stream:: + DESTINATION ${CMAKE_INSTALL_CMAKEDIR}) + diff --git a/cmake/modules/StreamMacros.cmake b/cmake/modules/StreamMacros.cmake index e4b3554..8679431 100644 --- a/cmake/modules/StreamMacros.cmake +++ b/cmake/modules/StreamMacros.cmake @@ -70,7 +70,11 @@ function(STREAM_LINK_LIBRARY libname) # add_dependencies(${libname} move_headers ${ARG_DEPENDENCIES}) - target_include_directories(${libname} PRIVATE ${CMAKE_SOURCE_DIR}/include) + target_include_directories(${libname} + PUBLIC + $ + $ + ) install( TARGETS ${libname} diff --git a/cmake/scripts/StreamConfig.cmake.in b/cmake/scripts/StreamConfig.cmake.in index 1765a47..5d3a43f 100644 --- a/cmake/scripts/StreamConfig.cmake.in +++ b/cmake/scripts/StreamConfig.cmake.in @@ -1,15 +1,5 @@ -# Stream CMake Configuration File for External Projects +@PACKAGE_INIT@ -# Stream configured for use from the build tree - absolute paths are used. -set(STREAM_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/include) +include(CMakeFindDependencyMacro) -# Stream configured for use from the build tree - absolute paths are used. -set(STREAM_LIBRARY_DIR ${CMAKE_CURRENT_LIST_DIR}/lib) - -# search for stream libraries -foreach(_cpt Stream) - find_library(${_cpt}_LIBRARY ${_cpt} HINTS ${STREAM_LIBRARY_DIR}) - if(${_cpt}_LIBRARY) - mark_as_advanced(${_cpt}_LIBRARY) - endif() -endforeach() +include("${CMAKE_CURRENT_LIST_DIR}/StreamTargets.cmake") From f0f558bceef038e23a02d9a002250d6f302a2dda Mon Sep 17 00:00:00 2001 From: "M. von Buelow" Date: Thu, 11 Jun 2026 12:27:57 +0200 Subject: [PATCH 2/2] Install DABC and stream headers --- framework/CMakeLists.txt | 2 +- go4engine/CMakeLists.txt | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/framework/CMakeLists.txt b/framework/CMakeLists.txt index 378d5c0..4e01086 100644 --- a/framework/CMakeLists.txt +++ b/framework/CMakeLists.txt @@ -137,7 +137,7 @@ STREAM_LINK_LIBRARY(Stream # ================== Install Stream headers ========== -foreach(dir base dogma get4 hadaq mbs nx) +foreach(dir base dogma get4 hadaq mbs nx dabc) install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/${dir} DESTINATION ${STREAM_INSTALL_INCLUDEDIR}) endforeach() diff --git a/go4engine/CMakeLists.txt b/go4engine/CMakeLists.txt index af4d835..417b34b 100644 --- a/go4engine/CMakeLists.txt +++ b/go4engine/CMakeLists.txt @@ -28,3 +28,6 @@ install( install(FILES ${CMAKE_BINARY_DIR}/lib/libGo4UserAnalysis.rootmap ${CMAKE_BINARY_DIR}/lib/libGo4UserAnalysis_rdict.pcm DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +install(FILES TStreamEvent.h TUserSource.h TFirstStepProcessor.h + DESTINATION ${STREAM_INSTALL_INCLUDEDIR})