CMake 3.26 Release Notes

Changes made since CMake 3.25 include the following.

New Features


  • The ASM_MARMASM language was added to support the Microsoft ARM assembler language.


Configure Log

  • CMake now writes a YAML log of configure-time checks to CMakeFiles/CMakeConfigureLog.yaml under the top of the build tree. See the cmake-configure-log(7) manual.

File-Based API





Generator Expressions


Deprecated and Removed Features

  • The CMakeFiles/CMakeOutput.log and CMakeFiles/CMakeError.log files are no longer populated by CMake's built-in modules. cmake(1) no longer suggests looking at them after a CMake Error occurs. Information previously logged to those files is instead logged to the cmake-configure-log(7).

  • On CYGWIN, the undocumented CMAKE_LEGACY_CYGWIN_WIN32 mode for compatibility with CMake versions older than 2.8.4 has been removed.

Other Changes


Changes made since CMake 3.26.0 include the following.

3.26.1, 3.26.2, 3.26.3, 3.26.4, 3.26.5

  • These versions made no changes to documented features or interfaces. Some implementation updates were made to support ecosystem changes and/or fix regressions.


  • The cmake-file-api(7) "codemodel" version 2 "target" object fileSets field was introduced by CMake 3.26.0 with entries of its baseDirectories member incorrectly expressed as absolute paths even if they are inside the top-level source directory. This has been fixed. Clients must be updated to expect relative paths under the top-level source directory.