Changes made since CMake 3.25 include the following.
ASM_MARMASMlanguage was added to support the Microsoft ARM assembler language.
CMake now writes a YAML log of configure-time checks to
CMakeFiles/CMakeConfigureLog.yamlunder the top of the build tree. See the
cmake-file-api(7)"codemodel" version 2
versionfield has been updated to 2.5.
cmake-file-api(7)"codemodel" version 2 "target" object gained a new
fileSetsfield and associated
CMAKE_<LANG>_COMPILER_FRONTEND_VARIANTvariable is now set for
AppleClangcompilers that have only one frontend variant.
<LANG>_CLANG_TIDY_EXPORT_FIXES_DIRtarget property was added to allow the
clang-tidytool to export its suggested fixes to a set of
.yamlfiles. A new
CMAKE_<LANG>_CLANG_TIDY_EXPORT_FIXES_DIRvariable was created to initialize this property.
XCODE_EMBED_EXTENSIONKIT_EXTENSIONStarget property was added to tell the
Xcodegenerator to embed ExtensionKit-based extensions such as extensions using the Background Assets framework. Aspects of the embedding can be customized with:
gained support for the
sbsa-linuxcross compilation target, and
now provides an imported target for
nvrtc_static, if found.
FindImageMagickmodule now provides imported targets.
UseSWIGmodule gained support for the
$<BUILD_LOCAL_INTERFACE:...>generator expression was added to prevent usage requirements from being exported to dependent projects.
CMakeFiles/CMakeError.logfiles are no longer populated by CMake's built-in modules.
cmake(1)no longer suggests looking at them after a
CMake Erroroccurs. Information previously logged to those files is instead logged to the
On CYGWIN, the undocumented
CMAKE_LEGACY_CYGWIN_WIN32mode for compatibility with CMake versions older than 2.8.4 has been removed.
Language Standard Flags, such as
-std=c++11, when generated due to
CMAKE_<LANG>_STANDARD, are now placed before flags added by
target_compile_options(), rather than after them.
COMPILE_DEFINITIONSproperties, any leading
-Don an item is removed whether or not it was specified by a generator expression.
compile_commands.jsondatabase enabled by
CMAKE_EXPORT_COMPILE_COMMANDSnow provides the
outputfield in the compile commands objects. This allows multi-config generators, such as the
Ninja Multi-Configgenerator, to provide the compile commands for all configurations.
Changes made since CMake 3.26.0 include the following.
These versions made no changes to documented features or interfaces. Some implementation updates were made to support ecosystem changes and/or fix regressions.
cmake-file-api(7)"codemodel" version 2 "target" object
fileSetsfield was introduced by CMake 3.26.0 with entries of its
baseDirectoriesmember 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.