diff --git a/scripts/ci/jobs/check-header.yml b/scripts/ci/jobs/check-header.yml
index ebdd741911e4520befd156ae27e9f4f35195c543..1501557469158e337a5b290ac163caab83879679 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 0fc5c8472065e8c453bbdf2950353a643066a839..efe12f7dae7f29a86880febf022519a0d600f844 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})