]> https://gitweb.dealii.org/ - dealii.git/commitdiff
CMake: C++ module preparation: collect a full list of header and source files
authorMatthias Maier <tamiko@43-1.org>
Mon, 5 May 2025 18:47:16 +0000 (13:47 -0500)
committerMatthias Maier <tamiko@43-1.org>
Mon, 5 May 2025 19:47:08 +0000 (14:47 -0500)
27 files changed:
cmake/macros/macro_collect_source_and_header_files.cmake [new file with mode: 0644]
source/algorithms/CMakeLists.txt
source/arborx/CMakeLists.txt
source/base/CMakeLists.txt
source/cgal/CMakeLists.txt
source/differentiation/ad/CMakeLists.txt
source/differentiation/sd/CMakeLists.txt
source/distributed/CMakeLists.txt
source/dofs/CMakeLists.txt
source/fe/CMakeLists.txt
source/gmsh/CMakeLists.txt
source/grid/CMakeLists.txt
source/hp/CMakeLists.txt
source/integrators/CMakeLists.txt
source/lac/CMakeLists.txt
source/matrix_free/CMakeLists.txt
source/meshworker/CMakeLists.txt
source/multigrid/CMakeLists.txt
source/non_matching/CMakeLists.txt
source/numerics/CMakeLists.txt
source/opencascade/CMakeLists.txt
source/optimization/rol/CMakeLists.txt
source/particles/CMakeLists.txt
source/physics/CMakeLists.txt
source/physics/elasticity/CMakeLists.txt
source/sundials/CMakeLists.txt
source/trilinos/CMakeLists.txt

diff --git a/cmake/macros/macro_collect_source_and_header_files.cmake b/cmake/macros/macro_collect_source_and_header_files.cmake
new file mode 100644 (file)
index 0000000..3a2ba96
--- /dev/null
@@ -0,0 +1,42 @@
+## ------------------------------------------------------------------------
+##
+## SPDX-License-Identifier: LGPL-2.1-or-later
+## Copyright (C) 2012 - 2023 by the deal.II authors
+##
+## This file is part of the deal.II library.
+##
+## Part of the source code is dual licensed under Apache-2.0 WITH
+## LLVM-exception OR LGPL-2.1-or-later. Detailed license information
+## governing the source code and code contributions can be found in
+## LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
+##
+## ------------------------------------------------------------------------
+
+#
+# collect_source_and_header_files("<souce files>" "<header files>")
+#
+# This macro appends a list of sources and header files to the global
+# properties DEAL_II_SOURCE_FILES and DEAL_II_HEADER_FILES.
+#
+
+function(collect_source_and_header_files _sources _headers)
+
+  #
+  # Drop empty strings and check whether the first list element is an
+  # absolute path. If not, then prepend the CMAKE_CURRENT_SOURCE_DIR to the
+  # path:
+  #
+  foreach(_list_name _sources _headers)
+    list(REMOVE_ITEM ${_list_name} "")
+
+    if(NOT "${${_list_name}}" STREQUAL "")
+      list(GET ${_list_name} 0 _first_element)
+      if(NOT IS_ABSOLUTE ${_first_element})
+        list(TRANSFORM ${_list_name} PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/")
+      endif()
+    endif()
+  endforeach()
+
+  set_property(GLOBAL APPEND PROPERTY DEAL_II_SOURCE_FILES ${_sources})
+  set_property(GLOBAL APPEND PROPERTY DEAL_II_HEADER_FILES ${_headers})
+endfunction()
index 172d3db83f89c5339cc683ac64fcb88916de85f7..ca18830e7c6d25a152b2ba4af45a6fdb5f68382a 100644 (file)
@@ -28,3 +28,5 @@ file(GLOB _header
 
 define_object_library(object_algorithms OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_algorithms "${_inst}")
+
+collect_source_and_header_files("${_src}" "${_header}")
index 18278b591389732e2ff99b5870f624ddcfa40b0e..e87af2d1813f2ba164c6b518823db25d8dd6345f 100644 (file)
@@ -36,3 +36,5 @@ file(GLOB _header
 
 define_object_library(object_arborx OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_arborx "${_inst}")
+
+collect_source_and_header_files("${_src}" "${_header}")
index de3cca75d6d1998649ebe98313b6b9f388b7e435..9f1cd08127a5a1875c668069aed8d7a2e62e91c8 100644 (file)
@@ -169,3 +169,5 @@ define_object_library(object_base OBJECT ${_src} ${_header} ${_inst}
   ${CMAKE_BINARY_DIR}/include/deal.II/base/config.h
   )
 expand_instantiations(object_base "${_inst}")
+
+collect_source_and_header_files("${_unity_include_src};${_separate_src}" "${_header}")
index 6e4dfef9bff754e61c3444dc02ae32dfad990c2b..d1658c39df6163ecb89cbac96294ffb7f3932ed0 100644 (file)
@@ -46,3 +46,5 @@ file(GLOB _header
 
 define_object_library(object_cgal OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_cgal "${_inst}")
+
+collect_source_and_header_files("${_src}" "${_header}")
index 6b099c3aa8c8758605b3be52476005eaa8ba80c2..941b5c7afacf4964d4962350566b0cb6fe650e65 100644 (file)
@@ -66,3 +66,5 @@ file(GLOB _header
 
 define_object_library(object_differentiation_ad OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_differentiation_ad "${_inst}")
+
+collect_source_and_header_files("${_src}" "${_header}")
index f4b45801bfb7104c0506927d47230c5cfcc12161..4192ad5c13b7c54cc26d9a1a7f09cd52d849fe8e 100644 (file)
@@ -41,3 +41,5 @@ file(GLOB _header
 
 define_object_library(object_differentiation_sd OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_differentiation_sd "${_inst}")
+
+collect_source_and_header_files("${_src}" "${_header}")
index 70b6ac8a97585006c3672d319115e11911e2d5ef..9fe0810890f35db6d4da81c7e8624e3fce5d6880 100644 (file)
@@ -62,10 +62,11 @@ setup_source_list("${_unity_include_src}"
   )
 
 
-
 file(GLOB _header
   ${CMAKE_SOURCE_DIR}/include/deal.II/distributed/*.h
   )
 
 define_object_library(object_distributed OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_distributed "${_inst}")
+
+collect_source_and_header_files("${_unity_include_src};${_separate_src}" "${_header}")
index 944ba3ea6bad013c8b07ebab3d750f61719f80f6..8cd9a594c478d387b548ffe9c9e1226d0e98660a 100644 (file)
@@ -60,3 +60,5 @@ file(GLOB _header
 
 define_object_library(object_dofs OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_dofs "${_inst}")
+
+collect_source_and_header_files("${_unity_include_src};${_separate_src}" "${_header}")
index e2cdbc0f7f9513dc0c344ed1315511f0bc54185d..96be15caee7365f949c4f5d00a44b33c10d3ff96 100644 (file)
@@ -152,3 +152,5 @@ file(GLOB _header
 
 define_object_library(object_fe OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_fe "${_inst}")
+
+collect_source_and_header_files("${_unity_include_src};${_separate_src}" "${_header}")
index 6b44f2ebf846b9ca506b1f8675bdd6a028ececd5..18b506a69e3938479fe4c036d8c306f7c9803c25 100644 (file)
@@ -35,3 +35,5 @@ file(GLOB _header
 
 define_object_library(object_gmsh OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_gmsh "${_inst}")
+
+collect_source_and_header_files("${_src}" "${_header}")
index ae776887fd61d130b929d3cd34b7579eebc3d231..2f5d864651a17ea428bf79bb8deef7add7a74ae7 100644 (file)
@@ -99,3 +99,5 @@ file(GLOB _header
 
 define_object_library(object_grid OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_grid "${_inst}")
+
+collect_source_and_header_files("${_unity_include_src};${_separate_src}" "${_header}")
index 934171430a4462527c55c5626ec6fd468be44a4f..2e0d052b1d7b42968f552c101c4437f898d4ea23 100644 (file)
@@ -44,3 +44,5 @@ file(GLOB _header
 
 define_object_library(object_hp OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_hp "${_inst}")
+
+collect_source_and_header_files("${_unity_include_src};${_separate_src}" "${_header}")
index 0d6051c21cdfc36b0d29bf61504d73f275ba014e..93f9b8367f2e90370d6c30fc5a14837ab266cba2 100644 (file)
@@ -20,3 +20,5 @@ file(GLOB _header
   )
 
 define_object_library(object_integrators OBJECT ${_src} ${_header})
+
+collect_source_and_header_files("${_src}" "${_header}")
index 857ad515776e86966624460407005ad6c8342266..4c667cbe0df6fed03d432f48ac12339f4813f87f 100644 (file)
@@ -197,3 +197,5 @@ file(GLOB _header
 
 define_object_library(object_lac OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_lac "${_inst}")
+
+collect_source_and_header_files("${_unity_include_src};${_separate_src}" "${_header}")
index 2df929bcdbbfb403d09b94ec52cc8290179478a5..d52319c8a3cc3974f4467fc02c4961d8265843c6 100644 (file)
@@ -54,3 +54,5 @@ file(GLOB _header
 
 define_object_library(object_matrix_free OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_matrix_free "${_inst}")
+
+collect_source_and_header_files("${_src}" "${_header}")
index 98930fa1b67b450aa9c278b75dcfc3c241f32a6c..9f6381b541652f2533a7968d5165a8ea32422b3a 100644 (file)
@@ -31,3 +31,5 @@ file(GLOB _header
 
 define_object_library(object_meshworker OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_meshworker "${_inst}")
+
+collect_source_and_header_files("${_src}" "${_header}")
index f32bfe5172b61d92540c74e22793c0137027755a..5dd429fff26a28127c423ecc589ec3ef93c66ee1 100644 (file)
@@ -58,3 +58,5 @@ file(GLOB _header
 
 define_object_library(object_multigrid OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_multigrid "${_inst}")
+
+collect_source_and_header_files("${_unity_include_src};${_separate_src}" "${_header}")
index a20c81933f46087b5c5e335a3966c6af6169979a..91d1f263554a9a07ba92f4b24e5d064d9b475bfc 100644 (file)
@@ -35,3 +35,5 @@ file(GLOB _header
 
 define_object_library(object_non_matching OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_non_matching "${_inst}")
+
+collect_source_and_header_files("${_src}" "${_header}")
index 4190495b483e179e64233157c4a0567856dbd923..aa5b52eee275ab5d4cbd86cdb27766706139f9e8 100644 (file)
@@ -111,3 +111,5 @@ file(GLOB _header
 
 define_object_library(object_numerics OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_numerics "${_inst}")
+
+collect_source_and_header_files("${_unity_include_src};${_separate_src}" "${_header}")
index 3fa8a78a9366fd0f4a3c8f1447d57d186b443a16..1004bc8d96b9514d08f5e654a6c7af7896f1bde1 100644 (file)
@@ -35,3 +35,5 @@ file(GLOB _header
 
 define_object_library(object_opencascade OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_opencascade "${_inst}")
+
+collect_source_and_header_files("${_src}" "${_header}")
index efefbd08f0f6ba4f6ae31c573d297283ed4c21c9..e870da4cc622663f5c5c4d2d36ade7f25606dc1d 100644 (file)
@@ -24,3 +24,5 @@ file(GLOB _header
 
 define_object_library(object_rol OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_rol "${_inst}")
+
+collect_source_and_header_files("${_src}" "${_header}")
index 2b633a4f97c04d8ec3aeae2fb25bd2cd11345019..9e7392b51ec68ad1357831ba60fbc4175aba575b 100644 (file)
@@ -35,3 +35,5 @@ file(GLOB _header
 
 define_object_library(object_particles OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_particles "${_inst}")
+
+collect_source_and_header_files("${_src}" "${_header}")
index 6695433cd154fe88ae8b2716446141d4733678b0..758646c1ed8b0ab1702c82199b9cbb20461e53ec 100644 (file)
@@ -29,3 +29,5 @@ file(GLOB _header
 
 define_object_library(object_physics OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_physics "${_inst}")
+
+collect_source_and_header_files("${_src}" "${_header}")
index fd19f5fad0e3b2cd4e8791714e20a2a9bbfb0160..b0782f13e4c50066f03e8a293959e19f20661c74 100644 (file)
@@ -28,3 +28,5 @@ file(GLOB _header
 
 define_object_library(object_physics_elasticity OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_physics_elasticity "${_inst}")
+
+collect_source_and_header_files("${_src}" "${_header}")
index 58fd205345eecefceab846e3f6352577eba8472b..e8f91d5d4cb159be726114196e7f76b492baf720 100644 (file)
@@ -38,3 +38,5 @@ file(GLOB _header
 
 define_object_library(object_sundials OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_sundials "${_inst}")
+
+collect_source_and_header_files("${_src}" "${_header}")
index b60e84345c5a6f333c1986b6e2a300ce002ae144..eb373a2fb2fe2eb0d52de948a688212156a328c3 100644 (file)
@@ -34,3 +34,5 @@ file(GLOB _header
 
 define_object_library(object_trilinos OBJECT ${_src} ${_header} ${_inst})
 expand_instantiations(object_trilinos "${_inst}")
+
+collect_source_and_header_files("${_src}" "${_header}")

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.