Changes made since CMake 3.21 include the following.
FetchContentmodule now passes through the
CMAKE_NETRC_FILEvariables (when defined) to the underlying
ExternalProjectsub-build. Previously, those variables were silently ignored by
FindJaspermodule now provides an imported target.
FindMatlabmodule now provides imported targets.
ctest(1)learned to recognize labels attached to a test at run time. Previously it was only possible to attach labels to tests at configure time by using the
LABELStest property. See Additional Test Measurements for more information.
ctest(1)learned to be able to modify the environment for a test through the
ENVIRONMENT_MODIFICATIONproperty. This is allows for updates to environment variables based on the environment present at test time.
ctest_memcheck()command now also generates a
DynamicAnalysis-Test.xmlfile which may be used to submit test results to CDash.
Visual Studio 10 2010generator is now deprecated and will be removed in a future version of CMake.
Compile Featuresfunctionality now correctly disables or enables compiler extensions when no standard level is specified and avoids unnecessarily adding language standard flags if the requested settings match the compiler's defaults. See
Compile Featuresfunctionality now ignores features for languages that are not enabled.
CPack NSIS Generatornow requires NSIS 3.03 or later.
Changes made since CMake 3.22.0 include the following.
This version made no changes to documented features or interfaces. Some implementation updates were made to support ecosystem changes and/or fix regressions.
CMP0128was fixed to add flags even when the specified standard matches the compiler default.
while()command again ignores errors in condition evaluation as CMake 3.21 and below did. This bug was fixed in 3.22.0, but exposed errors in existing projects. The fix has been reverted to restore compatibility. The fix may be restored in a future version of CMake via a policy.