<div dir="ltr">I am proud to announce the first CMake 3.22 release candidate.<br>  <a href="https://cmake.org/download/" target="_blank">https://cmake.org/download/</a><br><br>Documentation is available at:<br>  <a href="https://cmake.org/cmake/help/v3.22" target="_blank">https://cmake.org/cmake/help/v3.22</a><br><br>Release notes appear below and are also published at<br>  <a href="https://cmake.org/cmake/help/v3.22/release/3.22.html" target="_blank">https://cmake.org/cmake/help/v3.22/release/3.22.html</a><br><br>Some of the more significant changes in CMake 3.22 are:<br><br>* The "Compile Features" functionality now correctly disables or<br>  enables compiler extensions when no standard level is specified and<br>  avoids unnecessarily adding language standard flags if the requested<br>  settings match the compiler's defaults. See "CMP0128".<br><br>* The "cmake_host_system_information()" command can now query OS<br>  identification variables from the "/etc/os-release" file.<br><br>* The "CMAKE_BUILD_TYPE" environment variable was added to provide a<br>  default value for the "CMAKE_BUILD_TYPE" variable.<br><br>* The "CMAKE_REQUIRE_FIND_PACKAGE_<PackageName>" variable was added to<br>  turn a non-REQUIRED "find_package()" call into a REQUIRED one.<br><br>* The "FetchContent" module now passes through the "CMAKE_TLS_VERIFY",<br>  "CMAKE_TLS_CAINFO", "CMAKE_NETRC" and "CMAKE_NETRC_FILE" variables<br>  (when defined) to the underlying "ExternalProject" sub-build.<br>  Previously, those variables were silently ignored by "FetchContent".<br><br>* The "Visual Studio 10 2010" generator is now deprecated and will be<br>  removed in a future version of CMake.<br><br><br>CMake 3.22 Release Notes<br>************************<br><br>Changes made since CMake 3.21 include the following.<br><br><br>New Features<br>============<br><br><br>Commands<br>--------<br><br>* The "cmake_host_system_information()" command can now query OS<br>  identification variables from the "/etc/os-release" file.<br><br>* The "string(TIMESTAMP)" command now supports the "%V" specifier for<br>  ISO 8601 week numbers.<br><br><br>Variables<br>---------<br><br>* The "CMAKE_BUILD_TYPE" environment variable was added to provide a<br>  default value for the "CMAKE_BUILD_TYPE" variable.<br><br>* The "CMAKE_CONFIGURATION_TYPES" environment variable was added to<br>  provide a default value for the "CMAKE_CONFIGURATION_TYPES"<br>  variable.<br><br>* The "CMAKE_INSTALL_MODE" environment variable was added to tell<br>  "install()" rules (implemented by "file(INSTALL)") to install<br>  symbolic links instead of copying of files.<br><br>* The "CMAKE_<LANG>_LINK_WHAT_YOU_USE_FLAG" and<br>  "CMAKE_LINK_WHAT_YOU_USE_CHECK" variables were added to control the<br>  linker flag and check used by the "LINK_WHAT_YOU_USE" target<br>  property.<br><br>* The "CMAKE_REQUIRE_FIND_PACKAGE_<PackageName>" variable was added to<br>  turn a non-REQUIRED "find_package()" call into a REQUIRED one.<br><br><br>Properties<br>----------<br><br>* The "<LANG>_EXTENSIONS" target property is now initialized to<br>  "CMAKE_<LANG>_EXTENSIONS_DEFAULT", detected from the compiler. See<br>  "CMP0128".<br><br>* The "VS_SETTINGS" source file property is now supported for all<br>  source file types.  Previously it worked only for non-built sources.<br><br><br>Modules<br>-------<br><br>* The "CMakeDependentOption" module "cmake_dependent_option()" macro<br>  now supports full Condition Syntax. See policy "CMP0127".<br><br>* The "FetchContent" module now passes through the "CMAKE_TLS_VERIFY",<br>  "CMAKE_TLS_CAINFO", "CMAKE_NETRC" and "CMAKE_NETRC_FILE" variables<br>  (when defined) to the underlying "ExternalProject" sub-build.<br>  Previously, those variables were silently ignored by "FetchContent".<br><br>* The "FindBLAS" and "FindLAPACK" modules gained a<br>  "BLA_SIZEOF_INTEGER" option to find a BLAS/LAPACK whose ABI uses a<br>  specific integer size.<br><br>* The "FindJasper" module now provides an imported target.<br><br>* The "FindMatlab" module now provides imported targets.<br><br>* The "FindPkgConfig" module gained a "PKG_CONFIG_ARGN" variable to<br>  specify arguments to "pkg-config" calls.<br><br>* The "GoogleTest" module "gtest_discover_tests()" function gained a<br>  "TEST_FILTER" option to filter tests using "--gtest_filter" during<br>  test discovery.<br><br>* The "UseSWIG" module, for Visual Studio Generators, can now use the<br>  "swig" tool to generate implicit dependencies.<br><br><br>CTest<br>-----<br><br>* "ctest(1)" learned to recognize labels attached to a test at run<br>  time. Previously it was only possible to attach labels to tests at<br>  configure time by using the "LABELS" test property. See Additional<br>  Test Measurements for more information.<br><br>* "ctest(1)" learned to be able to modify the environment for a test<br>  through the "ENVIRONMENT_MODIFICATION" property. This is allows for<br>  updates to environment variables based on the environment present at<br>  test time.<br><br>* The "ctest_memcheck()" command now also generates a<br>  "DynamicAnalysis-Test.xml" file which may be used to submit test<br>  results to CDash.<br><br><br>CPack<br>-----<br><br>* The "CPack DEB Generator" gained the option to set<br>  "CPACK_DEBIAN_COMPRESSION_TYPE" to "zstd", which enables Zstandard<br>  compression for deb packages.<br><br>* The "CPack NSIS Generator" gained a new<br>  "CPACK_NSIS_IGNORE_LICENSE_PAGE" variable to suppress the license<br>  page in the installer.<br><br>* The "CPack RPM Generator" gained the<br>  "CPACK_RPM_REQUIRES_EXCLUDE_FROM" option to avoid scanning specific<br>  paths for dependencies.<br><br><br>Deprecated and Removed Features<br>===============================<br><br>* The "Visual Studio 10 2010" generator is now deprecated and will be<br>  removed in a future version of CMake.<br><br><br>Other Changes<br>=============<br><br>* The "Compile Features" functionality now correctly disables or<br>  enables compiler extensions when no standard level is specified and<br>  avoids unnecessarily adding language standard flags if the requested<br>  settings match the compiler's defaults. See "CMP0128".<br><br>* The "Compile Features" functionality now ignores features for<br>  languages that are not enabled.<br><br>* The Ninja Generators now implement the "edit_cache" target using<br>  "ccmake(1)" if available.<br><br>* The "Ninja" and "NMake Makefiles" generators now use the MSVC<br>  "-external:I" flag for system includes. This became available as of<br>  VS 16.10 (toolchain version 14.29.30037).<br><br>* The "CPack NSIS Generator" now requires NSIS 3.03 or later.<br></div>