head 1.5; access; symbols pkgsrc-2026Q1:1.5.0.52 pkgsrc-2026Q1-base:1.5 pkgsrc-2025Q4:1.5.0.50 pkgsrc-2025Q4-base:1.5 pkgsrc-2025Q3:1.5.0.48 pkgsrc-2025Q3-base:1.5 pkgsrc-2025Q2:1.5.0.46 pkgsrc-2025Q2-base:1.5 pkgsrc-2025Q1:1.5.0.44 pkgsrc-2025Q1-base:1.5 pkgsrc-2024Q4:1.5.0.42 pkgsrc-2024Q4-base:1.5 pkgsrc-2024Q3:1.5.0.40 pkgsrc-2024Q3-base:1.5 pkgsrc-2024Q2:1.5.0.38 pkgsrc-2024Q2-base:1.5 pkgsrc-2024Q1:1.5.0.36 pkgsrc-2024Q1-base:1.5 pkgsrc-2023Q4:1.5.0.34 pkgsrc-2023Q4-base:1.5 pkgsrc-2023Q3:1.5.0.32 pkgsrc-2023Q3-base:1.5 pkgsrc-2023Q2:1.5.0.30 pkgsrc-2023Q2-base:1.5 pkgsrc-2023Q1:1.5.0.28 pkgsrc-2023Q1-base:1.5 pkgsrc-2022Q4:1.5.0.26 pkgsrc-2022Q4-base:1.5 pkgsrc-2022Q3:1.5.0.24 pkgsrc-2022Q3-base:1.5 pkgsrc-2022Q2:1.5.0.22 pkgsrc-2022Q2-base:1.5 pkgsrc-2022Q1:1.5.0.20 pkgsrc-2022Q1-base:1.5 pkgsrc-2021Q4:1.5.0.18 pkgsrc-2021Q4-base:1.5 pkgsrc-2021Q3:1.5.0.16 pkgsrc-2021Q3-base:1.5 pkgsrc-2021Q2:1.5.0.14 pkgsrc-2021Q2-base:1.5 pkgsrc-2021Q1:1.5.0.12 pkgsrc-2021Q1-base:1.5 pkgsrc-2020Q4:1.5.0.10 pkgsrc-2020Q4-base:1.5 pkgsrc-2020Q3:1.5.0.8 pkgsrc-2020Q3-base:1.5 pkgsrc-2020Q2:1.5.0.6 pkgsrc-2020Q2-base:1.5 pkgsrc-2020Q1:1.5.0.2 pkgsrc-2020Q1-base:1.5 pkgsrc-2019Q4:1.5.0.4 pkgsrc-2019Q4-base:1.5 pkgsrc-2019Q3:1.4.0.2 pkgsrc-2019Q3-base:1.4 pkgsrc-2019Q2:1.3.0.4 pkgsrc-2019Q2-base:1.3 pkgsrc-2019Q1:1.3.0.2 pkgsrc-2019Q1-base:1.3 pkgsrc-2018Q4:1.2.0.2 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.1.0.4 pkgsrc-2018Q3-base:1.1 pkgsrc-2018Q2:1.1.0.2 pkgsrc-2018Q2-base:1.1; locks; strict; comment @// @; 1.5 date 2019.11.27.22.32.27; author adam; state Exp; branches; next 1.4; commitid 0kVIoRIU6x5jBxMB; 1.4 date 2019.07.19.09.06.23; author adam; state Exp; branches; next 1.3; commitid W87VO1NUJqkDlDvB; 1.3 date 2019.03.18.09.05.59; author adam; state Exp; branches; next 1.2; commitid m9nw7Bpt4OrbiPfB; 1.2 date 2018.11.21.16.58.52; author adam; state Exp; branches; next 1.1; commitid sTdgrbogze6aGP0B; 1.1 date 2018.05.11.13.39.57; author jperkin; state Exp; branches; next ; commitid CdyxlPeyHoBoOSBA; desc @@ 1.5 log @cmake: updated to 3.16.0 3.16.0: New Features ============ Languages --------- * CMake learned to support the Objective C ("OBJC") and Objective C++ ("OBJCXX") languages. They may be enabled via the "project()" and "enable_language()" commands. When "OBJC" or "OBJCXX" is enabled, source files with the ".m" or ".mm", respectively, will be compiled as Objective C or C++. Otherwise they will be treated as plain C++ sources as they were before. Compilers --------- * The "Clang" compiler is now supported on "Solaris". Platforms --------- * On AIX, executables using the "ENABLE_EXPORTS" target property now produce a linker import file with a ".imp" extension in addition to the executable file. Plugins (created via "add_library()" with the "MODULE" option) that use "target_link_libraries()" to link to the executable for its symbols are now linked using the import file. The "install(TARGETS)" command now installs the import file as an "ARCHIVE" artifact. * On AIX, runtime linking is no longer enabled by default. CMake provides the linker enough information to resolve all symbols up front. One may manually enable runtime linking for shared libraries and/or loadable modules by adding "-Wl,-G" to their link flags (e.g. in the "CMAKE_SHARED_LINKER_FLAGS" or "CMAKE_MODULE_LINKER_FLAGS" variable). One may manually enable runtime linking for executables by adding "-Wl,-brtl" to their link flags (e.g. in the "CMAKE_EXE_LINKER_FLAGS" variable). Command-Line ------------ * "cmake(1)" "-E" now supports "true" and "false" commands, which do nothing while returning exit codes of 0 and 1, respectively. * "cmake(1)" gained a "--trace-redirect=" command line option that can be used to redirect "--trace" output to a file instead of "stderr". * The "cmake(1)" "--loglevel" command line option has been renamed to "--log-level" to make it consistent with the naming of other command line options. The "--loglevel" option is still supported to preserve backward compatibility. Commands -------- * The "add_test()" command learned the option "COMMAND_EXPAND_LISTS" which causes lists in the "COMMAND" argument to be expanded, including lists created by generator expressions. * The "file()" command learned a new sub-command, "GET_RUNTIME_DEPENDENCIES", which allows you to recursively get the list of libraries linked by an executable or library. This sub- command is intended as a replacement for "GetPrerequisites". * The "find_file()", "find_library()", "find_path()", "find_package()", and "find_program()" commands have learned to check the following variables to control searching * "CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH" - Controls the searching the cmake-specific environment variables. * "CMAKE_FIND_USE_CMAKE_PATH" - Controls the searching the cmake- specific cache variables. * "CMAKE_FIND_USE_CMAKE_SYSTEM_PATH" - Controls the searching cmake platform specific variables. * "CMAKE_FIND_USE_PACKAGE_ROOT_PATH" - Controls the searching of "_ROOT" variables. * "CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH" - Controls the searching the standard system environment variables. * The "find_package()" command has learned to check the following variables to control searching * "CMAKE_FIND_USE_PACKAGE_REGISTRY" - Controls the searching the cmake user registry. * The "message()" command learned indentation control with the new "CMAKE_MESSAGE_INDENT" variable. * The "target_precompile_headers()" command was added to specify a list of headers to precompile for faster compilation times. Variables --------- * The "CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS" variable has been introduced to optionally initialize the "CUDA_RESOLVE_DEVICE_SYMBOLS" target property. * The "CMAKE_ECLIPSE_RESOURCE_ENCODING" variable was added to specify the resource encoding for the the "Eclipse CDT4" extra generator. Properties ---------- * The "BUILD_RPATH" and "INSTALL_RPATH" target properties now support "generator expressions". * The "INSTALL_REMOVE_ENVIRONMENT_RPATH" target property was added to remove compiler-defined "RPATH" entries from a target. This property is initialized by the "CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH" variable. * The "PRECOMPILE_HEADERS" target property was added to specify a list of headers to precompile for faster compilation times. Set it using the "target_precompile_headers()" command. * The "UNITY_BUILD" target property was added to tell generators to batch include source files for faster compilation times. * The "VS_CONFIGURATION_TYPE" target property now supports "generator expressions". * The "VS_DPI_AWARE" target property was added to tell Visual Studio Generators to set the "EnableDpiAwareness" property in ".vcxproj" files. * The "XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING" target property was added to tell the "Xcode" generator to set the value of the "Allow debugging when using document Versions Browser" schema option. Modules ------- * The "FindDoxygen" module "doxygen_add_docs()" command gained a new "USE_STAMP_FILE" option. When this option present, the custom target created by the command will only re-run Doxygen if any of the source files have changed since the last successful run. * The "FindGnuTLS" module now provides an imported target. * The "FindPackageHandleStandardArgs" module "find_package_handle_standard_args()" command gained a new "REASON_FAILURE_MESSAGE" option to specify a message giving the reason for the failure. * The "FindPkgConfig" module "pkg_search_module()" macro now defines a "_MODULE_NAME" result variable containing the first matching module name. * The "FindPython3" and "FindPython" modules gained options to control which "ABIs" will be searched. * The "FindPython3", "FindPython2", and "FindPython" modules now support direct specification of artifacts via cache entries. Autogen ------- * When using "AUTOMOC", CMake now generates the "-p" path prefix option for "moc". This ensures that "moc" output files are identical on different build setups (given, that the headers compiled by "moc" are in an "include directory"). Also it ensures that "moc" output files will compile correctly when the source and/or build directory is a symbolic link. The "moc" path prefix generation behavior can be configured by setting the new "CMAKE_AUTOMOC_PATH_PREFIX" variable and/or "AUTOMOC_PATH_PREFIX" target property. CTest ----- * "ctest(1)" now has the ability to serialize tests based on resource requirements for each test. See Resource Allocation for details. * A new test property, "SKIP_REGULAR_EXPRESSION", has been added. This property is similar to "FAIL_REGULAR_EXPRESSION" and "PASS_REGULAR_EXPRESSION", but with the same meaning as "SKIP_RETURN_CODE". This is useful, for example, in cases where the user has no control over the return code of the test. For example, in Catch2, the return value is the number of assertion failed, therefore it is impossible to use it for "SKIP_RETURN_CODE". CPack ----- * "cpack(1)" learned support for multiple configurations for "-C" option. * The "CPack DEB Generator" is now able to format generic text (usually used as the description for multiple CPack generators) according to the Debian Policy Manual. See the "CPACK_PACKAGE_DESCRIPTION_FILE" and "CPACK_DEBIAN__DESCRIPTION" variables. * The "CPack Archive Generator" learned to generate ".tar.zst" packages with Zstandard compression. Deprecated and Removed Features =============================== * An explicit deprecation diagnostic was added for policy "CMP0067" ("CMP0066" 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. * The "CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY" variable has been deprecated. Use the "CMAKE_FIND_USE_PACKAGE_REGISTRY" variable instead. * The "GetPrerequisites" module has been deprecated, as it has been superceded by "file(GET_RUNTIME_DEPENDENCIES)". * The "CPACK_INSTALL_SCRIPT" variable has been deprecated in favor of the new, more accurately named "CPACK_INSTALL_SCRIPTS" variable. Other Changes ============= * The "cmake(1)" "-C " option now evaluates the initial cache script with "CMAKE_SOURCE_DIR" and "CMAKE_BINARY_DIR" set to the top-level source and build trees. * The "cmake(1)" "-E remove_directory" command-line tool, when given the path to a symlink to a directory, now removes just the symlink. It no longer removes content of the linked directory. * The "ctest(1)" "--build-makeprogram" command-line option now specifies the make program used when configuring a project with the "Ninja" generator or the Makefile Generators. * The "ExternalProject" module "ExternalProject_Add()" command has been updated so that "GIT_SUBMODULES """ initializes no submodules. See policy "CMP0097". * The "FindGTest" module has been updated to recognize MSVC build trees generated by GTest 1.8.1. * The "project()" command no longer strips leading zeros in version components. See policy "CMP0096". * The Qt Compressed Help file is now named "CMake.qch", which no longer contains the release version in the file name. When CMake is upgraded in-place, the name and location of this file will remain constant. Tools such as IDEs, help viewers, etc. should now be able to refer to this file at a fixed location that remains valid across CMake upgrades. * "RPATH" entries are properly escaped in the generated CMake scripts used for installation. See policy "CMP0095". * When using "CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS" on Windows the auto- generated exports are now updated only when the object files providing the symbols are updated. @ text @$NetBSD: patch-Source_Checks_cm__cxx17__check.cpp,v 1.4 2019/07/19 09:06:23 adam Exp $ Test for an issue in the illumos headers related to C++17. --- Source/Checks/cm_cxx17_check.cpp.orig 2019-11-26 14:18:07.000000000 +0000 +++ Source/Checks/cm_cxx17_check.cpp @@@@ -1,8 +1,10 @@@@ #include #include +#include #include #include #include +#include #ifdef _MSC_VER # include @ 1.4 log @cmake: updated to 3.15.0 3.15.0: New Features ============ Generators ---------- * The "Xcode" generator now supports per-target schemes. See the "CMAKE_XCODE_GENERATE_SCHEME" variable and "XCODE_GENERATE_SCHEME" target property. * The "Green Hills MULTI" generator has been updated: * It now supports the "add_custom_command()" and "add_custom_target()" commands. * It is now available on Linux. Languages --------- * Preliminary support for the "Swift" language was added to the "Ninja" generator: * Use the "SWIFTC" environment variable to specify a compiler. * The "Swift_DEPENDENCIES_FILE" target property and "Swift_DEPENDENCIES_FILE" source file property were added to customize dependency files. * The "Swift_MODULE_NAME" target property was added to customize the Swift module name. * The "Swift_DIAGNOSTICS_FILE" source property was added to indicate where to write the serialised Swift diagnostics. The Swift support is experimental, not considered stable, and may change in future releases of CMake. Compilers --------- * The "Clang" compiler variant on Windows that targets the MSVC ABI but has a GNU-like command line is now supported. * Support for the Clang-based ARM compiler was added with compiler id "ARMClang". * Support was added for the IAR compiler architectures Renesas RX, RL78, RH850 and Texas Instruments MSP430. * Support was added for the IAR compilers built for Linux (IAR BuildLx). Command-Line ------------ * The "CMAKE_GENERATOR" environment variable was added to specify a default generator to use when "cmake(1)" is run without a "-G" option. Additionally, environment variables "CMAKE_GENERATOR_PLATFORM", "CMAKE_GENERATOR_TOOLSET", and "CMAKE_GENERATOR_INSTANCE" were created to configure the generator. * The "cmake(1)" "--build" tool "--target" parameter gained support for multiple targets, e.g. "cmake --build . --target Library1 Library2". It now also has a short form "-t" alias, e.g. "cmake --build . -t Library1 Library2". * The "cmake(1)" command gained a new "--install" option. This may be used after building a project to run installation without using the generated build system or the native build tool. * The "cmake(1)" command learned a new CLI option "--loglevel". * The "cmake(1)" "-E remove_directory" command-line tool learned to support removing multiple directories. * The "cmake(1)" "-E tar" tool has been improved: * It now continues adding files to an archive even if some of the files are not readable. This behavior is more consistent with the classic "tar" tool. * It now parses all flags, and if an invalid flag was provided, a warning is issued. * It now displays an error if no action flag was specified, along with a list of possible actions: "t" (list), "c" (create) or "x" (extract). * It now supports extracting ("-x") or listing ("-t") only specific files or directories. * It now supports Zstandard compression with a "--zstd" option. Zstandard was designed to give a compression ratio comparable to that of the DEFLATE (zip) algorithm, but faster, especially for decompression. Commands -------- * The "add_custom_command()" and "add_custom_target()" commands gained a new "JOB_POOL" option that works with the "Ninja" generator to set the pool variable on the build statement. * The "add_library()" command "ALIAS" option learned to support import libraries of the "UNKNOWN" type. * The "cmake_parse_arguments()" command gained an additional "_KEYWORDS_MISSING_VALUES" output variable to report keyword arguments that were given by the caller with no values. * The "execute_process()" command gained a "COMMAND_ECHO" option and supporting "CMAKE_EXECUTE_PROCESS_COMMAND_ECHO" variable to enable echoing of the command-line string before execution. * The "file(INSTALL)" command learned a new argument, "FOLLOW_SYMLINK_CHAIN", which can be used to recursively resolve and install symlinks. * "list()" learned new sub-commands: "PREPEND", "POP_FRONT" and "POP_BACK". * The "message()" command learned new types: "NOTICE", "VERBOSE", "DEBUG" and "TRACE". * The "string()" learned a new sub-command "REPEAT". Variables --------- * The "CMAKE_CROSSCOMPILING_EMULATOR" variable and corresponding "CROSSCOMPILING_EMULATOR" target property learned to support arguments to the emulator. * The "CMAKE_FIND_PACKAGE_PREFER_CONFIG" variable was added to tell "find_package()" calls to look for a package configuration file first even if a find module is available. * The "CMAKE_FRAMEWORK" variable was added to initialize the "FRAMEWORK" property on all targets. * The "CMAKE_VS_JUST_MY_CODE_DEBUGGING" variable and "VS_JUST_MY_CODE_DEBUGGING" target property were added to enable the Just My Code feature of the Visual Studio Debugger when compiling with MSVC cl 19.05 and higher. * The "CMAKE_MSVC_RUNTIME_LIBRARY" variable and "MSVC_RUNTIME_LIBRARY" target property were introduced to select the runtime library used by compilers targeting the MSVC ABI. See policy "CMP0091". * The "CMAKE_PROJECT_INCLUDE" and "CMAKE_PROJECT_INCLUDE_BEFORE" variables were added to allow injection of custom code at the sites of "project()" calls without knowing the project name a priori. Properties ---------- * The "ADDITIONAL_CLEAN_FILES" target property and "ADDITIONAL_CLEAN_FILES" directory property were added. They allow to register additional files that should be removed during the clean stage. * The "PUBLIC_HEADER" and "PRIVATE_HEADER" properties may now be set on Interface Libraries. The headers specified by those properties can be installed using the "install(TARGETS)" command by passing the "PUBLIC_HEADER" and "PRIVATE_HEADER" arguments respectively. * The "VS_PACKAGE_REFERENCES" target property was added to tell Visual Studio Generators to add references to "nuget" packages. * The "VS_PROJECT_IMPORT" target property was added to allow managed Visual Studio project files to import external ".props" files. * The "VS_NO_SOLUTION_DEPLOY" target property was added to tell Visual Studio Generators whether to deploy an artifact to the WinCE or Windows Phone target device. Modules ------- * The "FindBoost" module was reworked to expose a more consistent user experience between its “Config” and “Module” modes and with other find modules in general. * A new imported target "Boost::headers" is now defined (same as "Boost::boost"). * New output variables "Boost_VERSION_MACRO", "Boost_VERSION_MAJOR", "Boost_VERSION_MINOR", "Boost_VERSION_PATCH", and "Boost_VERSION_COUNT" were added. * The "QUIET" argument passed to "find_package()" is no longer ignored in config mode. Note that the CMake package shipped with Boost "1.70.0" ignores the "QUIET" argument passed to "find_package()". This is fixed in the next Boost release. * The input switch "Boost_DETAILED_FAILURE_MSG" was removed. * "Boost_VERSION" now reports the version in "x.y.z" format in module mode. See policy "CMP0093". * The "FindCups" module now provides imported targets. * The "FindEnvModules" module was added to use Lua- and TCL-based environment modules in CTest Scripts. * The "FindGLEW" module now provides an interface more consistent with what upstream GLEW provides in its own CMake package files. * The "FindPkgConfig" now populates "INTERFACE_LINK_OPTIONS" property of imported targets with other (non-library) linker flags. * The "FindPostgreSQL" module learned to find debug and release variants separately. * Modules "FindPython3", "FindPython2" and "FindPython" gained additional lookup strategies and controls, and a new default. See policy "CMP0094". * Modules "FindPython", "FindPython2" and "FindPython3" gain a new target (respectively "Python::Module", "Python2::Module" and "Python3::Module") which can be used to develop Python modules. * Modules "FindPython3", "FindPython2" and "FindPython" gain capability to control how virtual environments are handled. * The "UseSWIG" module learned to manage alternate library names by passing "-interface " for "python" language or "-dllimport " for "CSharp" language to the "SWIG" compiler. Generator Expressions --------------------- * The "generator expressions" "C_COMPILER_ID", "CXX_COMPILER_ID", "CUDA_COMPILER_ID", "Fortran_COMPILER_ID", "COMPILE_LANGUAGE", "COMPILE_LANG_AND_ID", and "PLATFORM_ID" learned to support matching one value from a comma-separated list. CTest ----- * The "ctest_submit()" command learned a new option: "BUILD_ID". This can be used to store the ID assigned to this build by CDash to a variable. * The "ctest_update()" command learned to honor a new variable: "CTEST_UPDATE_VERSION_OVERRIDE". This can be used to specify the current version of your source tree rather than using the update command to discover the current version that is checked out. CPack ----- * The "CPack IFW Generator" gained a new "CPACK_IFW_PACKAGE_STYLE_SHEET" variable to customize the installer stylesheet. Deprecated and Removed Features =============================== * The "cmake-server(7)" mode has been deprecated and will be removed from a future version of CMake. Please port clients to use the "cmake-file-api(7)" instead. * The "ADDITIONAL_MAKE_CLEAN_FILES" directory property is now deprecated. Use the "ADDITIONAL_CLEAN_FILES" directory property instead. * The variable "CMAKE_AUTOMOC_RELAXED_MODE" is considered deprecated. Support still exists but will be removed in future versions. * The "export(PACKAGE)" command now does nothing unless enabled via "CMAKE_EXPORT_PACKAGE_REGISTRY". See policy "CMP0090". * The "Xcode" generator now requires at least Xcode 5. * An explicit deprecation diagnostic was added for policy "CMP0066" ("CMP0065" 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 ============= * CMake learned how to compile C++14 with the IBM AIX XL compiler and the SunPro compiler and to compile C++20 with the AppleClang compiler. * With MSVC-like compilers the value of "CMAKE__FLAGS" no longer contains warning flags like "/W3" by default. See policy "CMP0092". * IBM Clang-based XL compilers that define "__ibmxl__" now use the compiler id "XLClang" instead of "XL". See policy "CMP0089". * The "file(REMOVE)" and "file(REMOVE_RECURSE)" commands were changed to ignore empty arguments with a warning instead of treating them as a relative path and removing the contents of the current directory. @ text @d1 1 a1 1 $NetBSD: patch-Source_Checks_cm__cxx17__check.cpp,v 1.3 2019/03/18 09:05:59 adam Exp $ d5 1 a5 1 --- Source/Checks/cm_cxx17_check.cpp.orig 2019-07-17 12:07:17.000000000 +0000 d7 1 a7 1 @@@@ -1,7 +1,9 @@@@ d12 1 @ 1.3 log @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. @ text @d1 1 a1 1 $NetBSD: patch-Source_Checks_cm__cxx17__check.cpp,v 1.2 2018/11/21 16:58:52 adam Exp $ d5 1 a5 1 --- Source/Checks/cm_cxx17_check.cpp.orig 2019-03-14 13:15:54.000000000 +0000 d15 2 a16 2 int main() { @ 1.2 log @cmake: updated to 3.13.0 CMake 3.13.0: 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. 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. @ text @d1 1 a1 1 $NetBSD: patch-Source_Checks_cm__cxx17__check.cpp,v 1.1 2018/05/11 13:39:57 jperkin Exp $ d5 1 a5 1 --- Source/Checks/cm_cxx17_check.cpp.orig 2018-11-20 14:49:09.000000000 +0000 d7 1 a7 1 @@@@ -1,6 +1,8 @@@@ d9 1 @ 1.1 log @cmake: Fix build on illumos with C++17 header issues. @ text @d1 1 a1 1 $NetBSD$ d5 1 a5 1 --- Source/Checks/cm_cxx17_check.cpp.orig 2018-04-17 12:28:52.000000000 +0000 d7 2 a8 1 @@@@ -1,5 +1,7 @@@@ d10 1 a10 1 #include @