From 351dc2c2d5bf425f7254f090e1dfc7f674b0002e Mon Sep 17 00:00:00 2001
From: Simon Praetorius <simon.praetorius@tu-dresden.de>
Date: Sat, 22 Feb 2025 12:22:27 +0100
Subject: [PATCH 1/2] Add include directories to library target

---
 CMakeLists.txt                    | 8 +++++++-
 dune/foamgrid/test/CMakeLists.txt | 3 +++
 examples/CMakeLists.txt           | 3 +++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2e3b5ed..f970dd0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,12 +15,18 @@ list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/modules"
 #include the dune macros
 include(DuneMacros)
 
+# deactivate global include-directories
+dune_policy(SET DP_DEFAULT_INCLUDE_DIRS NEW)
+
 # start a dune project with information from dune.module
 dune_project()
 dune_add_library(dunefoamgrid INTERFACE
-  EXPORT_NAME FoamGrid 
+  EXPORT_NAME FoamGrid
   LINK_LIBRARIES Dune::Grid)
 
+# set include directories for dunefoamgrid library
+dune_default_include_directories(dunefoamgrid INTERFACE)
+
 add_subdirectory(dune)
 add_subdirectory(doc)
 add_subdirectory(cmake/modules)
diff --git a/dune/foamgrid/test/CMakeLists.txt b/dune/foamgrid/test/CMakeLists.txt
index 03b94d5..6e27afb 100644
--- a/dune/foamgrid/test/CMakeLists.txt
+++ b/dune/foamgrid/test/CMakeLists.txt
@@ -1,6 +1,9 @@
 add_definitions(-DDUNE_FOAMGRID_EXAMPLE_GRIDS_PATH=\"${PROJECT_SOURCE_DIR}/doc/grids/\")
 add_definitions(-DDUNE_GRID_EXAMPLE_GRIDS_PATH=\"${DUNE_GRID_EXAMPLE_GRIDS_PATH}\")
 
+# link tests against Dune::FoamGrid automatically
+link_libraries(Dune::FoamGrid)
+
 dune_add_test(SOURCES foamgrid-test.cc)
 dune_add_test(SOURCES local-refine-test.cc)
 dune_add_test(SOURCES boundary-segment-test.cc)
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 7636bd1..21af6cf 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -1,2 +1,5 @@
+# link tests against Dune::FoamGrid automatically
+link_libraries(Dune::FoamGrid)
+
 dune_add_test(SOURCES elementparametrization.cc)
 dune_add_test(SOURCES parametrized-refinement.cc)
-- 
GitLab


From 73061ab0632efa2800c5470191b01e3fc144cff2 Mon Sep 17 00:00:00 2001
From: Simon Praetorius <simon.praetorius@tu-dresden.de>
Date: Sat, 22 Feb 2025 12:51:37 +0100
Subject: [PATCH 2/2] Add include directory policy only in version >= 2.11

---
 CMakeLists.txt | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index f970dd0..da1d178 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,8 +15,10 @@ list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/modules"
 #include the dune macros
 include(DuneMacros)
 
-# deactivate global include-directories
-dune_policy(SET DP_DEFAULT_INCLUDE_DIRS NEW)
+if(dune-common_VERSION VERSION_GREATER_EQUAL 2.11)
+  # deactivate global include-directories
+  dune_policy(SET DP_DEFAULT_INCLUDE_DIRS NEW)
+endif()
 
 # start a dune project with information from dune.module
 dune_project()
@@ -24,8 +26,10 @@ dune_add_library(dunefoamgrid INTERFACE
   EXPORT_NAME FoamGrid
   LINK_LIBRARIES Dune::Grid)
 
-# set include directories for dunefoamgrid library
-dune_default_include_directories(dunefoamgrid INTERFACE)
+if(dune-common_VERSION VERSION_GREATER_EQUAL 2.11)
+  # set include directories for dunefoamgrid library
+  dune_default_include_directories(dunefoamgrid INTERFACE)
+endif()
 
 add_subdirectory(dune)
 add_subdirectory(doc)
-- 
GitLab