From f8fbd5854f8a58c79476d0aa7f4472b70405a970 Mon Sep 17 00:00:00 2001
From: "Patrick L.S. Connor" <connorpa@mail.desy.de>
Date: Tue, 16 Jul 2024 15:19:55 +0200
Subject: [PATCH] passing over all variables to external prpjects

---
 .gitlab-ci.yml |  1 +
 CMakeLists.txt | 10 ++++++++++
 2 files changed, 11 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8bd6261..14ffb91 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -23,6 +23,7 @@ micromamba:
     script:
         - sh <(curl -L micro.mamba.pm/install.sh)
         - source ~/.bashrc
+        - micromamba --version
         - micromamba create -f prerequisites.yml -n DAS -y
         - micromamba activate DAS
         - ./install.sh
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f4ce72c..6374f9f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,6 +15,15 @@ set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
 # Import vendored CMake modules
 list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
 
+# taken from https://stackoverflow.com/a/48555098
+get_cmake_property(vars CACHE_VARIABLES)
+foreach(var ${vars})
+    get_property(currentHelpString CACHE "${var}" PROPERTY HELPSTRING)
+    if("${currentHelpString}" MATCHES "No help, variable specified on the command line." OR "${currentHelpString}" STREQUAL "")
+        list(APPEND CL_ARGS "-D${var}=${${var}}")
+    endif()
+endforeach()
+
 project(Installer VERSION 1.0 LANGUAGES C)  # Need a language for GNUInstallDirs
 
 find_package(Git REQUIRED)
@@ -96,4 +105,5 @@ ExternalProject_Add(Core
     DEPENDS             ${TUNFOLD_DEPENDENCY} Darwin
     BINARY_DIR          "${CMAKE_SOURCE_DIR}/Core.build"
     INSTALL_DIR         "${CMAKE_INSTALL_PREFIX}"
+    CMAKE_ARGS          ${CL_ARGS}
 )
-- 
GitLab