From 9f46dd93764fd465a08137513ed37772c520df13 Mon Sep 17 00:00:00 2001
From: "s.zharko@gsi.de" <s.zharko@gsi.de>
Date: Mon, 3 Mar 2025 13:17:15 +0100
Subject: [PATCH] moving the algo yaml utilites into a separate header library

---
 algo/CMakeLists.txt           |  5 ++++-
 algo/base/CMakeLists.txt      |  1 +
 algo/base/yaml/CMakeLists.txt | 25 +++++++++++++++++++++++++
 3 files changed, 30 insertions(+), 1 deletion(-)
 create mode 100644 algo/base/CMakeLists.txt
 create mode 100644 algo/base/yaml/CMakeLists.txt

diff --git a/algo/CMakeLists.txt b/algo/CMakeLists.txt
index a70b0872c9..82f767e3bf 100644
--- a/algo/CMakeLists.txt
+++ b/algo/CMakeLists.txt
@@ -57,6 +57,7 @@ add_subdirectory(log)
 add_subdirectory(data)
 add_subdirectory(kf)
 add_subdirectory(ca)
+add_subdirectory(base)
 #add_subdirectory(kfp) # For KFParticleOnline
 
 # exclude unittests from being build inside the container
@@ -212,6 +213,7 @@ target_include_directories(Algo
 
 target_link_libraries(Algo
   PUBLIC    OnlineData
+            CbmYamlInterface
             KfCore
             CaCore
             ROOT::GenVector
@@ -286,6 +288,7 @@ if (NOT CBM_ONLINE_STANDALONE)
 
   target_link_libraries(AlgoOffline
     PUBLIC    CbmData
+              CbmYamlInterface
               KfCoreOffline
               CaCoreOffline
               ROOT::GenVector
@@ -331,7 +334,7 @@ endif()
 
 install(TARGETS Algo DESTINATION lib)
 install(DIRECTORY base/compat TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
-install(DIRECTORY base/yaml TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
+#install(DIRECTORY base/yaml TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
 install(DIRECTORY base/util TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
 install(DIRECTORY base/gpu TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
 install(DIRECTORY data/sts TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
diff --git a/algo/base/CMakeLists.txt b/algo/base/CMakeLists.txt
new file mode 100644
index 0000000000..93b295fe0a
--- /dev/null
+++ b/algo/base/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(yaml)
diff --git a/algo/base/yaml/CMakeLists.txt b/algo/base/yaml/CMakeLists.txt
new file mode 100644
index 0000000000..f943052cf1
--- /dev/null
+++ b/algo/base/yaml/CMakeLists.txt
@@ -0,0 +1,25 @@
+set(INCLUDE_DIRECTORIES
+  ${CMAKE_CURRENT_SOURCE_DIR}
+)
+
+add_library(CbmYamlInterface INTERFACE)
+
+target_include_directories(CbmYamlInterface
+  INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}
+)
+
+target_link_libraries(CbmYamlInterface
+  INTERFACE GSL
+            xpu 
+            fmt::fmt 
+            external::yaml-cpp
+)
+
+install(
+  FILES 
+    BaseTypes.h
+    Property.h
+    Yaml.h
+  DESTINATION
+    include/yaml/
+)
-- 
GitLab