ePrivacy and GPDR Cookie Consent by Cookie Consent
CMake software

CMake - releases history

Top Download Club  |  Development  |  Compilers & Interpreters  |  CMake
Version Change log
CMake 4.2.1 Dec 9, 2025 This version made no changes to documented features or interfaces. Some implementation updates were made to support ecosystem changes and/or fix regressions.
CMake 4.2.0 Nov 20, 2025 New Features:
File-Based API:
The cmake-file-api(7) "codemodel" version 2 version field has been updated to 2.9.
The cmake-file-api(7) "codemodel" version 2 "target" and "directory" objects gained a new codemodelVersion field.
The cmake-file-api(7) "codemodel" version 2 now includes imported targets and all interface library targets in its replies. Previously, imported targets were omitted, and only those interface targets that participated in the build system were included. The following changes support these new additions:
The "target" object gained imported, local, and abstract fields.
The "target" object's type field can now also hold the value UNKNOWN_LIBRARY.
The "codemodel" object's configurations entries gained a new abstractTargets array.
Entries in the directories and projects arrays of the "codemodel" object's configurations entries gained a new abstractTargetIndexes array.
The cmake-file-api(7) "codemodel" version 2 "target" object gained new linkLibraries, interfaceLinkLibraries, compileDependencies, interfaceCompileDependencies, objectDependencies, and orderDependencies fields.
Generators:
The Visual Studio 18 2026 generator was added.
The FASTBuild generator was added.
Platforms:
CMake now supports Cross Compiling for Emscripten with simple toolchain files.
Command-Line:
The cmake(1) command-line tool now supports cmake -E copy_if_newer and cmake -E copy_directory_if_newer subcommands to copy files based on timestamp comparison instead of content comparison. These commands copy files only if the source is newer than the destination, providing better performance for build systems compared to copy_if_different which compares file contents.
Commands:
The cmake_language(TRACE) command was added to enable or disable tracing during script execution.
The set(CACHE{<variable>}) and unset(CACHE{<variable>}) commands were added to explicitly
CMake 4.1.3 Nov 19, 2025 When building for macOS with the Xcode generator, CMAKE_OSX_DEPLOYMENT_TARGET once again defaults to the host's macOS version if it is older than the macOS SDK version, as it did in CMake versions prior to 4.0.
The execute_process() command once again terminates child processes when its TIMEOUT is reached. This was accidentally regressed by CMake 3.29.
CMake 4.1.2 Oct 3, 2025 Ninja: escape special characters in custom command comments
cmCTestCurl: Avoid using undocumented type for CURLOPT_PROXYTYPE values
ASM: Restore CMAKE_ASM_COMPILER_ARCHITECTURE_ID persistence
Tests: Extend RunCMake.ParseImplicitLinkInfo for LFortran 0.55.0
Tests: Teach RunCMake to ignore Xcode an IDERunDestination warning
ci: update macOS jobs to use Xcode 26.0
cmFileSet: Constify local generator usage
cmGeneratorExpressionEvaluationFile: Constify some local generator usage
cmGeneratorExpressionNode: Simplify EvaluateDependentExpression signature
GenEx: Rename cmGeneratorExpressionContext to cm::GenEx::Evaluation
GenEx: Factor out a dedicated evaluation Context structure
GenEx: Collect evaluation arguments into local Context structures
GenEx: Construct cmGeneratorExpressionDAGChecker with full evaluation context
GenEx: Consolidate target property evaluation context arguments
Help: Document when policy CMP0189 takes effect
cmGeneratorTarget: Pass genex evaluation context to IsTransitiveProperty
file(GENERATE): Record CMP0189 at each call site
bootstrap: Fix compilation with gcc 16 devirtualization
cmGeneratorTarget: Factor out helper to detect LINK_LIBRARIES evaluation
CMP0189: Restore support for linking $<TARGET_PROPERTY:tgt,LINK_LIBRARIES>
CMake 4.1.2
LFortran: Update flags renamed by version 0.55
GNUInstallDirs: Fix regression on -DCMAKE_INSTALL_= in /usr
cmLocalGenerator: check variables before usage
cmPropertySentinel: update definition
FindPython: Ensure correct handling of Python_FIND_ABI variable
project: Revert changes to VERSION handling
CMake 4.0.3 Jun 13, 2025 Ben Boeckel (1):
Help/cmake-cxxmodules: note GCC 15 support
Brad King (12):
Help: Add 4.0 release note about file path case sensitivity on Windows Normalize PWD environment variable before using it
CMakeDetermineCompilerABI: Comment implicit link directory exclusion
macOS: Restore RPATH entry for libraries linked from /usr/local/lib
ci: Tell CudaOnly.Architecture test what specific architecture to use
ci: add tags to tie CUDA jobs to runners with hardware supporting them
CUDA/Clang: Prefer NVCC’s default architecture for each CUDA Toolkit version
Tests: Fix RunCMake.CTestCommandLine under ctest -T Coverage
AUTOMOC: Avoid compiler warnings while computing predefines
Help: Fix wording in tutorial workflow description
macOS: Restore support for LLVM/Clang without explicit CMAKE_OSX_SYSROOT
CMake 4.0.2
Craig Scott (2):
Help: VS_DEBUGGER_WORKING_DIRECTORY precedence
Xcode: Use DEBUGGER_WORKING_DIRECTORY as a fallback for scheme work dir
Gregor Jasny (1):
macOS: Reliably apply workaround for system curl 8.{3,4,5} LibreSSL backend
Marc Chevrier (3):
Ninja generator: restore correct encoding for policy CMP0181=OLD
FindPython: fix the definition of SABI artifacts
Help: block() command: enhance the PROPAGATE example
Matthew Woehlke (3):
Help: Fix overlapping text in footnotes
CPS: Fix mangling of relative requirement names
find_package: Fix performance regression in 4.0.0 release
Raul Tambre (1):
Clang: MSVC C++26 support
Robert Maynard (3):
ci: Tell CudaOnly.CompileFlags test what specific architecture to use
CUDA/Clang: Update architectures supported by CUDA 12.8
CUDA: Add CUDA 12.9 new architectures and family syntax
CMake 4.0.2 May 5, 2025 Brad King (16):
Help: Document CMAKE_UNITY_BUILD_RELOCATABLE variable
Help: Add 4.0 release note for UNITY_BUILD_RELOCATABLE
Help: Clarify wording of UNITY_BUILD_RELOCATABLE path alternatives
get_filename_component: Restore lexical preprocessing of REALPATH for compat
ci: update macOS jobs to use Xcode 16.3
FindXCTest: Pass -bundle_loader linker flag for test module more reliably Restore expansion of leading ‘~’ as home directory in input paths
Tests: Isolate RunCMake.LinkWarningAsError from -Werror flags in environment
Source: Simplify FindProgram calls
cmSystemTools: Restore FindProgram look-up of on-disk case on Windows
cmSystemTools: Simplify call to FindProgram for our own executable
Help: Document CMAKE_OSX_SYSROOT default change in 4.0
cmXCodeObject: Drop unused CoreFoundation header
FindXCTest: Fix test module generation for Xcode 16
Help: Add note about /usr/local/include on macOS without CMAKE_OSX_SYSROOT
CMake 4.0.1
Craig Scott (3):
Help: Fix inaccurate wording for CMAKE_XCODE_SCHEME_… variables
Help: Improve wording of docs related to MSVC runtime checks
Help: Fix typo in 4.0 release notes for CPack archive generator
Matthew Woehlke (2):
find_package: Restore component requirements in nested calls
find_package: Add minimal support for CPS multiple inclusion
Sergey Fedorov (2):
macOS: Define _DARWIN_C_SOURCE in more sources
Source: Include specific CoreFoundation headers instead of umbrella header
CMake 4.0.1 Apr 11, 2025 New Features:
File-Based API:
The cmake-file-api(7) "codemodel" version 2 version field has been updated to 2.8.
The cmake-file-api(7) "codemodel" version 2 "target" object gained a new debugger field.
Command-Line:
The cmake --link-no-warning-as-error option was added to suppress the effects of the LINK_WARNING_AS_ERROR target property and CMAKE_LINK_WARNING_AS_ERROR variable.
The cmake --project-file option was added to specify an alternate filename for CMakeLists.txt files. This is intended for temporary use by developers during an incremental transition and not for publication of a final product. CMake will always emit a warning when the project file is anything other than CMakeLists.txt.
Commands:
The target_link_libraries() command now supports the LINKER: prefix.
Variables:
The AIX and CMAKE_HOST_AIX variables are now set to true when the target or host system is AIX, respectively.
Linker flag variables learned to support the LINKER: prefix:
CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS_<CONFIG>
CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS_<CONFIG>
CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS_<CONFIG>
See policy CMP0181.
The CMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL variable was added to specify the execute_process() command's default COMMAND_ERROR_IS_FATAL behavior.
The CMAKE_<LANG>_LINK_MODE and CMAKE_<LANG>_DEVICE_LINK_MODE variables were added to provide information on how the link step is done.
The CMAKE_LINK_WARNING_AS_ERROR variable and corresponding LINK_WARNING_AS_ERROR target property were added to link using a linker-specific flag to treat warnings as errors.
The CMAKE_MSVC_RUNTIME_CHECKS variable and MSVC_RUNTIME_CHECKS target property were introduced to select runtime checks for compilers targeting the MSVC ABI. See policy CMP0184.
The CMAKE_POLICY_VERSION_MINIMUM variable was added to help packagers and end users try to configure existing projects that have not been upd
CMake 4.0.0 Mar 29, 2025 New Features:
File-Based API:
The cmake-file-api(7) "codemodel" version 2 version field has been updated to 2.8.
The cmake-file-api(7) "codemodel" version 2 "target" object gained a new debugger field.
Command-Line:
The cmake --link-no-warning-as-error option was added to suppress the effects of the LINK_WARNING_AS_ERROR target property and CMAKE_LINK_WARNING_AS_ERROR variable.
The cmake --project-file option was added to specify an alternate filename for CMakeLists.txt files. This is intended for temporary use by developers during an incremental transition and not for publication of a final product. CMake will always emit a warning when the project file is anything other than CMakeLists.txt.
Commands:
The target_link_libraries() command now supports the LINKER: prefix.
Variables:
The AIX and CMAKE_HOST_AIX variables are now set to true when the target or host system is AIX, respectively.
Linker flag variables learned to support the LINKER: prefix:
CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS_<CONFIG>
CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS_<CONFIG>
CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS_<CONFIG>
See policy CMP0181.
The CMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL variable was added to specify the execute_process() command's default COMMAND_ERROR_IS_FATAL behavior.
The CMAKE_<LANG>_LINK_MODE and CMAKE_<LANG>_DEVICE_LINK_MODE variables were added to provide information on how the link step is done.
The CMAKE_LINK_WARNING_AS_ERROR variable and corresponding LINK_WARNING_AS_ERROR target property were added to link using a linker-specific flag to treat warnings as errors.
The CMAKE_MSVC_RUNTIME_CHECKS variable and MSVC_RUNTIME_CHECKS target property were introduced to select runtime checks for compilers targeting the MSVC ABI. See policy CMP0184.
The CMAKE_POLICY_VERSION_MINIMUM variable was added to help packagers and end users try to configure existing projects that have not been upd
CMake 3.31.6 Mar 1, 2025 Some implementation updates were made to support ecosystem changes and/or fix regressions.
CMake 3.31.5 Feb 6, 2025 Brad King (5):
Clang/CUDA: Fix language-wide flags when linking .so with compiler driver
Tests: Update expected results for ninja post-1.12 development
FindMatlab: Fix multi-signature function documentation anchors
WINDOWS_EXPORT_ALL_SYMBOLS: Fix vftable symbol export on ARM64EC
CMake 3.31.5
Felipe Torrezan (1):
IAR: decouple linker location from toolkit's bin dir
Martin Duffy (1):
install: Generate InstallScripts.json in consistent location
NEWSLETTER
© 2025 TopDownload.Club  |  All rights reserved.
created by FAUST