]> https://gitweb.dealii.org/ - release-papers.git/commitdiff
write first CMake paragraph
authorMatthias Maier <tamiko@43-1.org>
Thu, 6 Jul 2023 19:36:49 +0000 (14:36 -0500)
committerMatthias Maier <tamiko@43-1.org>
Thu, 6 Jul 2023 19:37:01 +0000 (14:37 -0500)
9.5/paper.tex

index 30ae2408d17a0196404a24eab138869673ed5841..391700aa215b55b30f825c8306f7ec11515f273b 100644 (file)
@@ -904,6 +904,20 @@ The next release of \dealii{} will build upon C++17.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \subsection{Build-system modernization}\label{sec:buildsystem}
 
+\dealii's original CMake build system that was merged for the 8.0.0 release
+in 2013 was written for CMake 2.8.8, which, naturally, lacks many of the
+modern features introduced into CMake over the last couple of years. This
+created a particular issue with an increasing number of dependencies
+switching their CMake configuration to \emph{import targets}, where all
+necessary information for using an external resource, such as include
+directories and library link interfaces, are associated with an imported
+CMake targets rather than being provided with individual (and
+inconsistently) named CMake variables. With the \dealii 9.5 release the
+handling of external dependencies has been rewritten entirely to support
+imported targets. The \trilinos and \kokkos interfaces have been
+modernized. We plan to migrate all remaining dependencies to import targets
+wherever possible for the next release.
+
 \dealii's CMake project configuration itself now exports three targets,
 \texttt{dealii::dealii\_debug}, \texttt{dealii::dealii\_release}, and
 \texttt{dealii::dealii}. Linking against one of the first two variants via

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.