Discussion:
[cmake-developers] [ANNOUNCE] CMake 3.13.0-rc2 is ready for testing
Robert Maynard
2018-10-25 15:05:23 UTC
Permalink
I am proud to announce the second CMake 3.13 release candidate.
https://cmake.org/download/

The first 3.13.0 release candidates included a change to allow
generator expressions in "install(CODE)" and "install(SCRIPT)".
This has been reverted in rc2 due to breaking backwards
compatibility. See issue 18435.

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 <source_dir>" 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 <build_dir>" 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.

* 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 <source_dir>" 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 <build_dir>" 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(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. See policy "CMP0079".


Variables
---------

* A "CMAKE_AUTOGEN_VERBOSE" variable was added to optionally
increase the verbosity of "AUTOMOC", "AUTOUIC" and "AUTORCC" from
within CMake project code.

* A "CMAKE_VS_GLOBALS" variable was added to initialize
"VS_GLOBAL_<variable>" target properties on targets as they are
created.


Properties
----------

* The "DEPLOYMENT_ADDITIONAL_FILES" target property was added to
tell the "Visual Studio 9 2008" generator to specify additional
files for deployment to WinCE devices for remote debugging.

* The "INTERFACE_LINK_DEPENDS" target property was created to
specify transitive link dependencies on files.

* The "LINK_DEPENDS" target property learned to support "generator
expressions".

* "LINK_DIRECTORIES" and "INTERFACE_LINK_DIRECTORIES" target
properties were added to collect link directories for a target and
its dependents. Use the "target_link_directories()" command to set
them.

* "LINK_OPTIONS" and "INTERFACE_LINK_OPTIONS" target properties were
added to collect link options for a target and its dependents. Use
the "target_link_options()" command to set them.

* A "LINK_OPTIONS" directory property was added to collect link
options for targets created under the current directory. Use the
"add_link_options()" command to set it.

* A "STATIC_LIBRARY_OPTIONS" target property was created to specify
archiver options to use when creating static libraries.

* 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 "VS_DEBUGGER_COMMAND" and "VS_DEBUGGER_WORKING_DIRECTORY"
target properties now support generator expressions.


Modules
-------

* The "FindCURL" module learned to find debug and release variants
separately.

* The "FindMatlab" module gained new components "ENGINE_LIBRARY" and
"DATAARRAY_LIBRARY" to request finding the Matlab C++ Engine and
DataArray libraries respectively.

* The "FindMatlab" module now explicitly exports mexFunction in
Visual Studio.

* The "FindMatlab" module gained a new "MCC_COMPILER" component to
request finding the Matlab Compiler add-on.

* The "FindPkgConfig" module gained an option to create imported
targets in global scope.

* The "FindPkgConfig" module gained support for "<" and ">"
operators for version checks in addition to the already supported
operators ">=", "<=", and "=".

* Modules "FindPython3", "FindPython2" and "FindPython" gain
capability to control order of resource lookup on macOS (Framework)
and Windows (Registry).

* The "FindSubversion" module "Subversion_WC_INFO" command gained an
"IGNORE_SVN_FAILURE" option to suppress failures, e.g. when the
source tree is not under Subversion control.

* The "UseSWIG" module learned to manage target property
"INCLUDE_DIRECTORIES" for "SWIG" compilation.


CTest
-----

* "ctest(1)" gained a "--progress" option to enable a live test
progress summary when output goes to a terminal.


CPack
-----

* The "CPack Deb Generator" learned to split debug symbols into a
corresponding .ddeb package when "CPACK_DEBIAN_DEBUGINFO_PACKAGE" is
set.

* The "CPack Deb Generator" learned to honor the "SOURCE_DATE_EPOCH"
environment variable when packaging files. This is useful for
generating reproducible packages.

* CPack gained a new "CPack External Generator" which is used to
export the CPack metadata in a format that other software can
understand. The intention of this generator is to allow external
packaging software to take advantage of CPack's features when it may
not be possible to use CPack for the entire packaging process.


Deprecated and Removed Features
===============================

* An explicit deprecation diagnostic was added for policies
"CMP0055" through "CMP0063" ("CMP0054" and below were already
deprecated). The "cmake-policies(7)" manual explains that the OLD
behaviors of all policies are deprecated and that projects should
port to the NEW behaviors.


Other Changes
=============

* The precompiled binaries provided on "cmake.org" now include
qthelp- format documentation.

* 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 Makefile Generators learned to remove custom command and
custom target byproducts during "make clean".

* 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.

* The "BundleUtilities" module may no longer be included at
configure time. This was always a bug anyway. See policy "CMP0080".

* The "UseSWIG" module has changed strategy for target naming. See
policy "CMP0078".

* The "LINK_DIRECTORIES" target property now expects absolute paths.
See policy "CMP0081".

* The CPack generators have been moved into their own separate
section in the documentation, rather than having the documentation
in their internal implementation modules. These internal
implementation modules are also no longer available to scripts that
may have been incorrectly including them, because they should never
have been available in the first place.

----------------------------------------------------------------------------
Changes made since CMake 3.13.0-rc1:

Ben Boeckel (1):
CMP0053: document that `$` is a valid literal variable character

Brad King (17):
Tests: Fix Cuda test project names
VS: Drop workaround for CUDA compiler PDB location on CUDA 9.2+
VS: Add workaround for CUDA compiler PDB location with space
install: Revert CODE,SCRIPT support for generator expressions
cmake-server: Revert "Support codemodel filegroups for INTERFACE_SOURCES"
Utilities/Release: Add qthelp docs to binary archives
Help: Clarify command-line encoding of target_link_libraries items
curl: Update script to get curl 7.61.1
curl: Backport to work with CMake 3.1 again
curl: Update build within CMake to account for 7.61 changes
curl: add missing type sizes for 'long long' and '__int64'
VS: Fix crash on CSharp sources in a custom target
VS: Fix CSharp support for win32res: and win32icon: flags
cmake: Distinguish '-E tar' warnings from errors copying data
Tests: Add missing BUILD_TESTING conditions
cmake-gui: Fix "Open Project" for VS IDE with space in path
CMake 3.13.0-rc2

Craig Scott (1):
FindPkgConfig: Document support for > and < operators

Curl Upstream (1):
curl 2018-09-04 (432eb5f5)

James Clarke (1):
GNUInstallDirs: Don't use BSD info and man paths on GNU/kFreeBSD

KWSys Upstream (1):
KWSys 2018-10-19 (c2f29d2e)

Kyle Edwards (3):
Help: Convert DeployQt4 to block-style comment
DeployQt4: Convert to 2-space indentation
DeployQt4: Do not include BundleUtilities at configure time

Marc Chevrier (1):
FindPython*: Add missing registry paths

Mario Bielert (1):
FindBoost: Search for -mt variant of release libs

Mateusz Łoskot (1):
FindBoost: Add support for upcoming Boost 1.69

Robert Maynard (3):
Help: document CMAKE_DEBUG_TARGET_PROPERTIES support for LINK properties
CUDA: Filter out host link flags during device linking
CUDA: Add test for device linking when host linking uses threads

Rolf Eike Beer (1):
FindThreads: Pass -pthread to CUDA compiler through -Xcompiler

vim-cmake-syntax upstream (2):
vim-cmake-syntax 2018-10-10 (ac1957fb)
vim-cmake-syntax 2018-10-18 (64ff4bd7)
--
Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.or
Loading...