<div dir="ltr">I am proud to announce the second CMake 3.26 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.26" target="_blank">https://cmake.org/cmake/help/v3.26</a><br><br>Release notes appear below and are also published at<br>  <a href="https://cmake.org/cmake/help/v3.26/release/3.26.html" target="_blank">https://cmake.org/cmake/help/v3.26/release/3.26.html</a><br><br>Some of the more significant changes in CMake 3.26 are:<br><br>* The "ASM_MARMASM" language was added to support the Microsoft ARM<br>  assembler language.<br><br>* CMake now writes a YAML log of configure-time checks to<br>  "CMakeFiles/CMakeConfigureLog.yaml" under the top of the build tree.<br>  See the "cmake-configure-log(7)" manual.<br><br>* The "cmake-file-api(7)" "codemodel" version 2 "target" object gained<br>  a new "fileSets" field and associated "fileSetIndex" field to<br>  "sources" objects.<br><br>* The "$<BUILD_LOCAL_INTERFACE:...>" generator expression was added to<br>  prevent usage requirements from being exported to dependent<br>  projects.<br><br>* Language Standard Flags, such as "-std=c++11", when generated due to<br>  "target_compile_features()" or "CMAKE_<LANG>_STANDARD", are now<br>  placed before flags added by "target_compile_options()", rather than<br>  after them.<br><br>* The top-level "project()" call will now emit an author warning if<br>  the documented command order in relation to<br>  "cmake_minimum_required()" is not respected.<br><br><br>CMake 3.26 Release Notes<br>************************<br><br>Changes made since CMake 3.25 include the following.<br><br><br>New Features<br>============<br><br><br>Languages<br>---------<br><br>* The "ASM_MARMASM" language was added to support the Microsoft ARM<br>  assembler language.<br><br><br>Command-Line<br>------------<br><br>* The "cmake -E copy" command-line tool now supports a "-t" argument.<br><br>* The "cmake -E copy_directory_if_different" command-line tool was<br>  added.<br><br><br>Configure Log<br>-------------<br><br>* CMake now writes a YAML log of configure-time checks to<br>  "CMakeFiles/CMakeConfigureLog.yaml" under the top of the build tree.<br>  See the "cmake-configure-log(7)" manual.<br><br><br>File-Based API<br>--------------<br><br>* The "cmake-file-api(7)" "codemodel" version 2 "version" field has<br>  been updated to 2.5.<br><br>* The "cmake-file-api(7)" "codemodel" version 2 "target" object gained<br>  a new "fileSets" field and associated "fileSetIndex" field to<br>  "sources" objects.<br><br>* The "cmake-file-api(7)" gained a new "configureLog" object kind that<br>  enables stable access to the "cmake-configure-log(7)".<br><br><br>Commands<br>--------<br><br>* The "add_custom_command()" and "add_custom_target()" commands now<br>  support "generator expressions" in their "COMMENT" option.<br><br>* The "message()" command gained a "CONFIGURE_LOG" mode to record an<br>  entry in the "cmake-configure-log(7)".<br><br>* The "string(TIMESTAMP)" and "file(TIMESTAMP)" commands now support<br>  the "%z" and "%Z" specifiers for the time zone.<br><br>* The "try_compile()" and "try_run()" commands gained a<br>  "LOG_DESCRIPTION" option specifying text to be recorded in the<br>  "cmake-configure-log(7)".<br><br>* The "try_compile()" and "try_run()" commands gained a "NO_LOG"<br>  option to skip recording a "cmake-configure-log(7)" entry.<br><br><br>Variables<br>---------<br><br>* The "CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT" variable is now set for<br>  "GNU", "MSVC", and "AppleClang" compilers that have only one<br>  frontend variant.<br><br>* A "CMAKE_VS_VERSION_BUILD_NUMBER" variable is now set by Visual<br>  Studio Generators for VS 2017 and above to report the four-component<br>  Visual Studio version number.<br><br><br>Properties<br>----------<br><br>* The "<LANG>_CLANG_TIDY_EXPORT_FIXES_DIR" target property was added<br>  to allow the "clang-tidy" tool to export its suggested fixes to a<br>  set of ".yaml" files. A new<br>  "CMAKE_<LANG>_CLANG_TIDY_EXPORT_FIXES_DIR" variable was created to<br>  initialize this property.<br><br>* The "XCODE_EMBED_EXTENSIONKIT_EXTENSIONS" target property was added<br>  to tell the "Xcode" generator to ExtensionKit-based extensions such<br>  as extensions using the Background Assets framework.  Aspects of the<br>  embedding can be customized with:<br><br>  * "XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_PATH"<br><br>  * "XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_CODE_SIGN_ON_COPY"<br><br>  * "XCODE_EMBED_EXTENSIONKIT_EXTENSIONS_REMOVE_HEADERS_ON_COPY"<br><br><br>Modules<br>-------<br><br>* The "ExternalProject" module "ExternalProject_Add()" command gained<br>  an "INSTALL_BYPRODUCTS" option to specify files generated by the<br>  "install" step.<br><br>* The "FindCUDAToolkit" module:<br><br>  * gained support for the "sbsa-linux" cross compilation target, and<br><br>  * now provides an imported target for "nvrtc_static", if found.<br><br>* The "FindImageMagick" module now provides imported targets.<br><br>* The "FindPython3" and "FindPython" modules gained support for the<br>  Stable Application Binary Interface.<br><br>* The "UseSWIG" module gained the support for the "perl5" language.<br><br><br>Generator Expressions<br>---------------------<br><br>* The "$<BUILD_LOCAL_INTERFACE:...>" generator expression was added to<br>  prevent usage requirements from being exported to dependent<br>  projects.<br><br><br>CTest<br>-----<br><br>* The "CTEST_NO_TESTS_ACTION" environment variable was added to<br>  provide a default value for the "--no-tests=<action>" command line<br>  argument of "ctest(1)".<br><br><br>Deprecated and Removed Features<br>===============================<br><br>* The "CMakeFiles/CMakeOutput.log" and "CMakeFiles/CMakeError.log"<br>  files are no longer populated by CMake's builtin modules, and<br>  "cmake(1)" no longer suggests looking at them after a "CMake Error"<br>  occurs.  Information previously logged to those files is instead<br>  logged to "CMakeFiles/CMakeConfigureLog.yaml", the "cmake-configure-<br>  log(7)".<br><br>* On CYGWIN, the undocumented "CMAKE_LEGACY_CYGWIN_WIN32" mode for<br>  compatibility with CMake versions older than 2.8.4 has been removed.<br><br><br>Other Changes<br>=============<br><br>* Language Standard Flags, such as "-std=c++11", when generated due to<br>  "target_compile_features()" or "CMAKE_<LANG>_STANDARD", are now<br>  placed before flags added by "target_compile_options()", rather than<br>  after them.<br><br>* For all "COMPILE_DEFINITIONS" properties, any leading "-D" on an<br>  item is removed whether or not it was specified by a generator<br>  expression.<br><br>* The "compile_commands.json" database enabled by<br>  "CMAKE_EXPORT_COMPILE_COMMANDS" now provides the "output" field in<br>  the compile commands objects.  This allows multi-config generators,<br>  such as the "Ninja Multi-Config" generator, to provide the compile<br>  commands for all configurations.<br><br>* The "USE_FOLDERS" global property is treated as "ON" by default. See<br>  policy "CMP0143".<br><br>* The top-level "project()" call will now emit an author warning if<br>  the documented command order in relation to<br>  "cmake_minimum_required()" is not respected.<br><br>* The "cmake --trace" option now follows "try_compile()" and<br>  "try_run()" invocations.<br><br>----------------------------------------------------------------------------<br>Changes made since CMake 3.26.0-rc1:<br><br>Alex Turbov (8):<br>  ci: Reduce intermediate docker layers and final image size<br>  Help: CPack DEB Generator page use field lists<br>  Help: CPack NuGet Generator page use field lists<br>  Help: CPack RPM Generator page use field lists<br>  Help: CPack Archive Generator page use field lists<br>  Help: CPack DragNDrop Generator page use field lists<br>  Help: CPack FreeBSD Generator page use field lists<br>  ci: Reduce Fedora and Debian image sizes even more<br><br>Ben Boeckel (1):<br>  Tests/RunCMake/CXXModules: declare `forwarding` as `extern "C++"`<br><br>Brad King (5):<br>  Android: Provide CMAKE_ANDROID_NDK_VERSION with NDK legacy toolchain file<br>  Help: Clarify that <PackageName>_ROOT variable names are case-preserved<br>  curl: Enable schannel TLS 1.3 support on Windows 11<br>  Help: Clarify that the documented configure log location is not stable<br>  CMake 3.26.0-rc2<br><br>Eisuke Kawashima (1):<br>  FetchContent: Bump documented example Catch2 to v3.0.1<br><br>Joerg Bornemann (1):<br>  AutoMoc: Fix verbose mode message<br><br>Kyle Edwards (3):<br>  FindOpenSSL: Use static pkgconfig if OPENSSL_USE_STATIC_LIBS=ON<br>  Help: Update $<TARGET_RUNTIME_DLLS> docs to use cmake -E copy -t<br>  Help: Avoid making guarantees about <LANG>_CLANG_TIDY_EXPORT_FIXES_DIR<br><br>Paul Taylor (1):<br>  FindCUDAToolkit: Fix `nvrtc_builtins_static` library name<br><br>Robert Maynard (1):<br>  cmake: Stop parsing after `--` when detecting script mode<br><br>scivision (3):<br>  Help: Clarify interaction of execute_process *_FILE and *_VARIABLE options<br>  Help: CheckSource{Compiles,Runs}: fix typo and clarify<br>  Help: cmake (1): remove -E server as not available<br></div>