Require CMake >= 3.12 - Redmine #3290
CMake 3.12 is a good release for features and robustness that support
cleaner CMakeLists.txt and better user experience. Some of these
improvements relate to find_package
facilities generally (like
_ROOT input variable) and specifically (better Python
detection and Python 3 handling). Other improvements include better
target_link_libraries support, such as for OBJECT targets. CMake >=
3.12 will have been available in standard Linux distributions for a
while by release-2021, but installing CMake is not much of a usability
burden in any case.
If we can require 3.12 with the 2021 release, we should move to CMake 3.12 soon (in conjunction with moving our infrastructure to GitLab Runner) so that we can benefit from it for the rest of the 2021 development cycle.
References
- https://cmake.org/cmake/help/git-stage/release/3.10.html
- https://cmake.org/cmake/help/git-stage/release/3.11.html
(from redmine: issue id 3290, created on 2020-01-10 by eirrgang)
- Relations:
- relates #2505 (closed)
- parent #3047 (closed)
- Changesets:
- Revision c822506c by Paul Bauer on 2020-01-15T14:31:41Z:
Allow access to optional outside libgromacs
When using gmx::compat::option in files also included
outside of the libgromacs tree (e.g. anything topology related),
compilation would abort because the include path could not be resolved
for nonstd::optional.hpp in e.g. legacymodules.cpp or view.cpp.
Adds the information needed to the CMakefiles to always find the correct
include path.
Also modifies CUDA nvcc compilation to have the header available for
those CUDA compiled files that need it.
Should be revisited when resolving #3290
Change-Id: If335ecdfa1bd2ba56cae7ee26c07d9a7faa5a651