-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Raise CMake requirement #28
Comments
CMake 3.20 introduced presets version 2, which is what could fix #34. This version also added the |
IMHO: this should not a problem to do so. |
In general, I would prefer the ranged version of cmake_minimum_required(VERSION <min>[...<policy_max>]) See too https://cmake.org/cmake/help/latest/manual/cmake-policies.7.html#policies-introduced-by-cmake-3-20 |
The requirement is not raised willy-nilly just for the sake of raising it. Especially the range form of the command, for which I have not found a single use-case yet. Everytime the more sensible thing would have been just raising the minimum requirement to begin with. The minimum required version must have a good reason to be selected, see the table above. There are also the file sets introduced in 3.23 (https://cmake.org/cmake/help/latest/release/3.23.html#commands), but I'm not sure about their value as of yet. I will likely create an example project utilizing it and add it to the growing list of examples as a way to evaluate the feature. |
In C++20, the standard library's headers are usable as header units in modules, however C++23 provides a much better interface via |
What are the reasons you want to stay back with improvements independently form C++23? Newer CMake versions can be easily installed with |
One of the cmake authors, here writes that they discourage the use of |
Yes, but not on |
See CMake News https://www.kitware.com/import-std-in-cmake-3-30/ |
Right now, people consuming projects generated with cmake-init are required to have at least CMake 3.14 installed and developers developing those projects are recommended to have at least 3.20 installed to make use of presets.
install(TARGETS)
uses the correct cross-platform paths when omittedFetchContent
is more convenient to useimport std;
availablectest --test-dir
to run tests from anywhereThe text was updated successfully, but these errors were encountered: