From 6db84d447463d3f644a953bdebc1b6b08136960b Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Tue, 18 Jan 2022 15:18:13 +0100
Subject: [PATCH] [cmake] check-header, add current lib definitions

---
 scripts/ci/jobs/check-header.yml           |  2 +-
 scripts/cmake/CheckHeaderCompilation.cmake | 15 +++++++++++++--
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/scripts/ci/jobs/check-header.yml b/scripts/ci/jobs/check-header.yml
index ebdd741911e..15015574691 100644
--- a/scripts/ci/jobs/check-header.yml
+++ b/scripts/ci/jobs/check-header.yml
@@ -6,7 +6,7 @@ check header:
   needs: [ meta, ci_images ]
   variables:
     BUILD_DIR: "../build/check-header"
-    CMAKE_ARGS: "-DOGS_CHECK_HEADER_COMPILATION=ON -DOGS_BUILD_GUI=ON -DBUILD_SHARED_LIBS=OFF"
+    CMAKE_ARGS: "-DOGS_CHECK_HEADER_COMPILATION=ON -DOGS_BUILD_GUI=ON -DBUILD_SHARED_LIBS=OFF -DOGS_USE_POETRY=OFF"
   image: $CONTAINER_GCC_GUI_IMAGE
   script:
     - rm -rf $BUILD_DIR
diff --git a/scripts/cmake/CheckHeaderCompilation.cmake b/scripts/cmake/CheckHeaderCompilation.cmake
index 0fc5c847206..efe12f7dae7 100644
--- a/scripts/cmake/CheckHeaderCompilation.cmake
+++ b/scripts/cmake/CheckHeaderCompilation.cmake
@@ -82,8 +82,19 @@ function(_check_header_compilation target)
             ${Qt5Gui_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS}
         )
     endif()
-    get_target_property(COMPILE_DEFINITIONS ${target} _target_defs)
-    set(CMAKE_REQUIRED_DEFINITIONS ${_target_defs} ${DEFS_CLEANED})
+
+    get_target_property(_target_defs ${target} COMPILE_DEFINITIONS)
+    foreach(def ${_target_defs})
+        # strip generator expressions
+        if(${def} MATCHES "\\$<.*")
+            continue()
+        endif()
+        if(${def} MATCHES ".*[0-9]\\(.*")
+            continue()
+        endif()
+        list(APPEND DEFS_CLEANED "-D${def}")
+    endforeach()
+    set(CMAKE_REQUIRED_DEFINITIONS ${DEFS_CLEANED})
 
     foreach(file ${SOURCE_FILES})
 
-- 
GitLab