Path to this page:
Subject: CVS commit: pkgsrc/devel/cmake
From: Adam Ciarcinski
Date: 2019-03-18 10:05:59
Message id: 20190318090559.7C191FB16@cvs.NetBSD.org
Log Message:
cmake: updated to 3.14.0
3.14.0:
New Features
Generators
* The Visual Studio 16 2019 generator was added. This is experimental and based \
on “Visual Studio 2019 Preview 4” because this version of VS has not been \
released.
* The Green Hills MULTI generator has been updated:
File-Based API
* A file-based api for clients to get semantic buildsystem information has been \
added.
Platforms
* CMake now supports Cross Compiling for iOS, tvOS, or watchOS using simple \
toolchain files.
Command-Line
* The cmake(1) Build Tool Mode (cmake --build) gained --verbose and -v options \
to specify verbose build output. Some generators such as Xcode don’t support \
this option currently.
* The cmake(1) -E compare_files command learned a new --ignore-eol option to \
specify that end-of-line differences (e.g. LF vs CRLF) should be ignored when \
comparing files.
* The cmake-gui(1) dialog gained new -S and -B arguments to explicitly specify \
source and build directories.
Commands
* The file() command learned a new sub-command, CREATE_LINK, which can be used \
to create hard or symbolic links.
* The file() command learned a new sub-command, READ_SYMLINK, which can be used \
to determine the path that a symlink points to.
* The file() command gained a SIZE mode to get the size of a file on disk.
* The find_package() command learned to optionally resolve symbolic links in the \
paths to package configuration files. See the \
CMAKE_FIND_PACKAGE_RESOLVE_SYMLINKS variable.
* The get_filename_component() command gained new LAST_EXT and NAME_WLE variants \
to work with the extension after the last . in the name.
* The if() command gained support for checking if cache variables are defined \
with the DEFINED CACHE{VAR} syntax.
* The install(CODE) and install(SCRIPT) commands learned to support generator \
expressions. See policy CMP0087.
* The install(TARGETS) command learned how to install to an appropriate default \
directory for a given target type, based on variables from the GNUInstallDirs \
module and built-in defaults, in lieu of a DESTINATION argument.
* The install(FILES) and install(DIRECTORY) commands learned a new set of \
parameters for installing files as a file type, setting the destination based on \
the appropriate variables from GNUInstallDirs and built-in defaults, in lieu of \
a DESTINATION argument.
* The list() operations REMOVE_ITEM, REMOVE_DUPLICATES, SORT, REVERSE, and \
FILTER all now accept a non-existent variable as the list since these operations \
on empty lists is also the empty list.
* The list() operation REMOVE_AT now indicates that the given indices are \
invalid for a non-existent variable or empty list.
* The try_compile() and try_run() commands gained a new LINK_OPTIONS option.
Variables
* A CMAKE_BUILD_RPATH_USE_ORIGIN variable and corresponding \
BUILD_RPATH_USE_ORIGIN target property were added to enable use of relative \
runtime paths (RPATHs). This helps achieving relocatable and reproducible builds \
that are invariant of the build directory.
Properties
* A CMAKE_ROLE global property was added to allow scripts to determine whether \
they’re running in project mode, script mode, find-package mode, CTest, or \
CPack.
* The CUDA_RESOLVE_DEVICE_SYMBOLS target property is now supported on shared \
library, module library, and executable targets. Previously it was only honored \
on static libraries.
* The EXCLUDE_FROM_ALL target property was created to override the setting of \
its directory. A target will now be built as part of “all” if its \
EXCLUDE_FROM_ALL property is set to OFF, even if its containing directory is \
marked as EXCLUDE_FROM_ALL.
* INTERFACE_POSITION_INDEPENDENT_CODE target property gains the support of \
generator expressions.
Files: