I am proud to announce the first CMake 3.13 release candidate.
https://cmake.org/download/
Documentation is available at:
https://cmake.org/cmake/help/v3.13
Release notes appear below and are also published at
https://cmake.org/cmake/help/v3.13/release/3.13.html
Some of the more significant changes in CMake 3.13 are:
* The Visual Studio Generators for VS 2010 and above learned to
support the "INTERPROCEDURAL_OPTIMIZATION" target property and
supporting "CheckIPOSupported" module.
* The "Green Hills MULTI" generator has been updated to include
support for platform, architecture, and toolset selection.
* The "cmake" command gained the "-S " command line
option to specify the location of the source directory. This option
can be used independently of "-B".
* The "cmake" command gained the "-B " command line
option to specify the location of the build directory. This option
can be used independently of "-S".
* The "cmake" "-E create_symlink" command can now be used on
Windows.
* The "target_link_directories()" command was created to specify
link directories for targets and their dependents.
* The "target_link_options()" command was created to specify link
options for targets and their dependents.
* The "target_link_libraries()" command may now be called to modify
targets created outside the current directory. See policy "CMP0079".
* The "install(TARGETS)" command learned to install targets created
outside the current directory.
* The "install(CODE)" and "install(SCRIPT)" commands learned to
support generator expressions.
* A "VS_DEBUGGER_COMMAND_ARGUMENTS" target property was created to
set the debugging command line arguments with Visual Studio
Generators for VS 2010 and above.
* A "VS_DEBUGGER_ENVIRONMENT" target property was created to set the
debugging environment with Visual Studio Generators for VS 2010 and
above.
* The "option()" command now honors an existing normal variable of
the same name and does nothing instead of possibly creating a cache
entry (or setting its type) and removing the normal variable. See
policy "CMP0077".
* The "target_sources()" command now interprets relative source file
paths as relative to the current source directory. This simplifies
incrementally building up a target's sources from subdirectories.
The "CMP0076" policy was added to provide backward compatibility
with the old behavior where required.
CMake 3.13 Release Notes
Changes made since CMake 3.12 include the following.
New Features
Generators
--
* The Visual Studio Generators for VS 2010 and above learned to
support the "INTERPROCEDURAL_OPTIMIZATION" target property and
supporting "CheckIPOSupported" module.
* The "Xcode" generator learned to configure more Xcode Scheme
fields. See the "CMAKE_XCODE_GENERATE_SCHEME" variable.
* The "Green Hills MULTI" generator has been updated:
* Added support for architecture selection through
"CMAKE_GENERATOR_PLATFORM": e.g. "arm", "ppc", and "86".
* Added support for toolset selection through
"CMAKE_GENERATOR_TOOLSET", e.g. "comp_201205", "comp_201510",
"comp_201722_beta".
* Added support for platform selection through
"GHS_TARGET_PLATFORM", e.g. "integrity", "linux", "standalone",
etc.
* No longer checks that "arm" based compilers are installed but
ensures that the correct "gbuild.exe" exists.
* No longer hard-codes ARM files, BSP, toolset, or OS locations.
Command-Line
* The "cmake(1)" command gained the "-S " command line
option to specify the location of the source directory. This option
can be used independently of "-B".
* The "cmake(1)" command gained the "-B " command line
option to specify the location of the build directory. This option
can be used independently of "-S".
* The "cmake(1)" "-E create_symlink" command can now be used on
Windows.
Commands
* The "add_custom_command()" and "add_custom_target()" commands
learned to support generator expressions in "WORKING_DIRECTORY"
options.
* The "add_link_options()" command was created to add link options
in the current directory.
* The "install(CODE)" and "install(SCRIPT)" commands learned to
support generator expressions.
* The "install(TARGETS)" command learned to install targets created
outside the current directory.
* The "link_directories()" command gained options to control
insertion position.
* The "list(SORT)" command gained options to control the comparison
operation used to order the entries.
* The "math()" command gained options for hexadecimal.
* The "target_link_directories()" command was created to specify
link directories for targets and their dependents.
* The "target_link_options()" command was created to specify link
options for targets and their dependents.
* The "target_link_libraries()" command may now be called to modify
targets created outside the current directory. S