Up to [cvs.NetBSD.org] / pkgsrc / devel / cmake
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.59, Fri Jul 31 09:02:31 2020 UTC (3 years, 8 months ago) by wiz
Branch: MAIN
CVS Tags: HEAD
Changes since 1.58: +1 -1
lines
FILE REMOVED
cmake: update to 3.18.1. Some of the more significant changes in CMake 3.18 are: * The ãàפUDAãàlanguage can now be compiled using Clang on non-Windows platforms. Separable compilation is not yet supported on any platform. * ãà×Ämake(1)ãàgained support for profiling of CMake scripts through the parameters ãàØäprofiling-outputãàand ãàØäprofiling-formatãà * The ãà×Âdd_library()ãàand ãà×Âdd_executable()ãàcommands learned to create Alias Targets referencing non-ãàרLOBALãàImported Targets. * The ãà×Ämake_language()ãàcommand was added for meta-operations on scripted or built-in commands, starting with a mode to ãàפALLãàother commands, and ãàצVAL CODEãàto inplace evaluate a CMake script. * The ãà×Çile(CONFIGURE)ãàsubcommand was created in order to replicate the ãà×Äonfigure_file()ãàfunctionality without resorting to a pre- existing file on disk as input. The content is instead passed as a string. * The ãà×Çind_program()ãà ãà×Çind_library()ãà ãà×Çind_path()ãàand ãà×Çind_file()ãàcommands gained a new ãà׳EQUIREDãàoption that will stop processing with an error message if nothing is found. * A ãàפMAKE_CUDA_ARCHITECTURESãàvariable was added to specify CUDA output architectures. Users are encouraged to use this instead of specifying options manually, as this approach is compiler-agnostic. The variable is initialized automatically when ãàפMAKE_CUDA_COMPILER_IDãàis ãàׯVIDIAãà The variable is used to initialize the new ãàפUDA_ARCHITECTURESãàtarget property. See policy ãàפMP0104ãà * The ãà׶NITY_BUILD_MODEãàtarget property was added to tell generators which algorithm (ãà×£ATCHãà ãàרROUPãà to use for grouping included source files. * The ãàפheckLinkerFlagãàmodule has been added to provide a facility to check validity of link flags. * The ãà<DEVICE_LINK:ãàand ãà<HOST_LINK:ãàãà×Èenerator expressionsãàwere added to manage device and host link steps. * The ãà<LINK_LANGUAGE:ãàand ãà<LINK_LANG_AND_ID:ãàãà×Èenerator expressionsãàwere added. * ãà×Ätest(1)ãàgained a new ãàפTEST_RESOURCE_SPEC_FILEãàvariable, which can be used to specify a resource specification file. * ãà×Äcmake(1)ãàlearned to read a ãàפCMAKE_COLORSãàenvironment variable to customize colors. * On Windows, the ãàׯinjaãàand ãàׯinja Multi-Configãàgenerators, when a compiler is not explicitly specified, now select the first compiler (of any name) found in directories listed by the ãà×±ATHãàenvironment variable.
Revision 1.58 / (download) - annotate - [select for diffs], Mon Jun 1 06:21:27 2020 UTC (3 years, 10 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2020Q2-base,
pkgsrc-2020Q2
Changes since 1.57: +2 -2
lines
Diff to previous 1.57 (colored) to selected 1.10 (colored)
cmake: updated to 3.17.3 CMake 3.17.3 * PCH: Fix REUSE_FROM in multi-config generators * ExternalProject: expose _ep_cache_args_script to the caller * FindBoost: Add 1.73 to known versions * bootstrap: Use 'tr' more portably * FindBoost: Update MinGW compiler tag for Boost 1.73 * CheckLanguage: Fix forwarding of CMAKE_CUDA_HOST_COMPILER * Help: Add 3.17 release note for FindPkgConfig '-isystem' fix * FindGTK2: Add harfbuzz target for dependency from pango * VS: Fix using PCH from source with COMPILE_OPTIONS * XL: Install our Fortran 'cpp' helper script with execute permission * MSVC: Use 'pragma system_header' in PCH only on cl 19.13 and above * Help: Document OBJC and OBJCXX env vars for Objective C/C++ compilers * Objective C/C++: Honor CC and CXX env vars to select compiler * Help: Add 3.17.3 release note for Objective C/C++ compiler selection * cmGeneratorTarget: Clear AllConfigSources in ClearSourcesCache * VS: Restore .sln support for VS Version Selector * cm_cxx_features: Filter out libhugetlbfs warnings * cm_cxx_features: Filter out 'icpc: command line warning 10121' * CPack-deb: don't add a line with a dot to pkg desc * Ninja Multi-Config: Make "install" targets depend on default configs * FindPython: fix error on FPHSA call * FindPython: ensure any specified version is correctly handled * FindPython: use CMAKE specific variables to look-up debug library * Help: clarify add_definitions() and add_compile_definitions() behavior * Help: Correct CMAKE_CUDA_RUNTIME_LIBRARY applicability * CUDA: Propagate CMAKE_CUDA_RUNTIME_LIBRARY state to try_compile * CUDA: Compute CMAKE_CUDA_RUNTIME_LIBRARY default from toolchain * Tests: Add coverage of ctest_test RETURN_VALUE and REPEAT * CTest: Make sure NOT_RUN tests show up in the failed test log * FindPkgConfig: also handle "-isystem" prefixes for include directories * FindOpenSSL: Detect OpenSSL 3.0.0
Revision 1.57 / (download) - annotate - [select for diffs], Wed Apr 29 06:47:39 2020 UTC (3 years, 11 months ago) by adam
Branch: MAIN
Changes since 1.56: +2 -2
lines
Diff to previous 1.56 (colored) to selected 1.10 (colored)
cmake: updated to 3.17.2 CMake 3.17.2 * BoostScanDeps: Fix typo in numpy handling * FindBoost: Simplify Boost_VERSION_STRING comparisons * FindBoost: Add support for Boost 1.73 * iOS: Fix detection of supported SDK architectures * FindPython: avoid autoderef in version comparisons * FindPython: remove extra dereference * AIX: Activate symbol export/import IBM i (OS400) * Ninja: Document that Fortran support is available with Ninja 1.10+ * CPack: Do not recurse through directory symlinks * target_precompile_headers: Fix documented example using genex * Makefiles: Scan Objective C/C++ preprocessor dependencies * Makefiles: Add Objective C/C++ compilations to compile_commands.json * FindMPI: Add the pgi compiler wrapper names used by IBM Spectrum MPI * Help: Fix unescaped asterisks in docs for SKIP_PRECOMPILE_HEADERS * Help: Minor grammar cleanups of CMAKE_CURRENT_FUNCTION* docs * Help: Add cross-references for CMAKE_CURRENT_FUNCTION* docs * Help: Improve wording of CMAKE_CURRENT_FUNCTION_LIST_DIR docs * Apple: Merge per-arch sysroot parameters if all are the same * file(UPLOAD): Add default ca_certs * Ninja: Remove config suffix from order-only target * FindPython: fix python compiler validation * FindPython: fix reason failure propagation * FindBoost: Prevent warning with boost 1.73 * FindCUDAToolkit searches stub location last
Revision 1.56 / (download) - annotate - [select for diffs], Fri Apr 10 05:53:47 2020 UTC (4 years ago) by adam
Branch: MAIN
Changes since 1.55: +2 -2
lines
Diff to previous 1.55 (colored) to selected 1.10 (colored)
cmake: updated to 3.17.1 CMake 3.17.1 * ExternalProject: allow `DOWNLOAD_NO_EXTRACT OFF` * Makefiles: Fix silencing of nested calls for GNU make 4.3 * VS: Fix ClangCL toolset compiler path detection * Ninja Multi-Config: Fix MSVC showincludes prefix detection * CheckIPOSupported: Avoid polluting cache with common name 'result' * CTest: Fix reported duration on timeout when grindchild keeps pipes open * target_link_libraries: Fix regression in case of $ genex * AIX: Install ExportImportList script with execute permission * XL: C++14 language level flags are only available on Linux * XL: Add comment clarifying why we pretend it has full C++11/14 support * CPack/NSIS: Document and check requirement of at least NSIS 3.0 * Utilities/Release: Update to openssl 1.1.1f * Apple: Improve handling of missing SDKs in CMAKE_APPLE_ARCH_SYSROOTS * Apple: Fix mapping CMAKE_APPLE_ARCH_SYSROOTS to custom OSX_ARCHITECTURES * cmCursesLongMessageForm: Factor out helper to draw message to form * Help: Minor typos and formatting for XCODE_SCHEME_WORKING_DIRECTORY * Help: Add missing XCODE_SCHEME_WORKING_DIRECTORY * Help: Fix inaccuracies and omissions in MACHO_* property docs * Help: Fix CMAKE_FIND_DEBUG_MODE list formatting * Help: Improve discoverability of CMAKE_FIND_DEBUG_MODE * cmake-gui: Fix use-after-free in Open-possible check * Help: Fixed typo in CMAKE_INSTALL_RPATH_USE_LINK_PATH.rst * Help: Move Ninja Multi-Config variable details into their respective pages * Ninja: Make config uppercase in object order target * llvm-rc: Enable preprocessing if CMAKE_RC_COMPILER_INIT is an absolute path * FindPython: misc. fixes * FindPython: fix variable spelling error * FindPython: fix handling when FIND_VIRTUALENV == FIRST * ccmake: Use incremental rendering for the logs * llvm-rc: Select preprocessor from active languages * llvm-rc: Write depfile to location specified by the generator * llvm-rc: Print stderr output when calling tools through cmake_llvm_rc * llvm-rc: Restore include path for data after explicit preprocessing
Revision 1.55 / (download) - annotate - [select for diffs], Sat Mar 21 12:58:00 2020 UTC (4 years ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2020Q1-base,
pkgsrc-2020Q1
Changes since 1.54: +2 -2
lines
Diff to previous 1.54 (colored) to selected 1.10 (colored)
cmake: updated to 3.17.0 Some of the more significant changes in CMake 3.17 are: ãà×Ämake(1)ãàgained a ãàׯinja Multi-Configãàgenerator, which is similar to the ãàׯinjaãàgenerator but can be used to build multiple configurations at once. Visual Studio Generators learned to support per-config sources. Previously only Command-Line Build Tool Generators supported them. The ãàפompile Featuresãàfunctionality now offers meta-features for the CUDA language standard levels (e.g. ãà×Äuda_std_03ãà ãà×Äuda_std_14ãà. See ãàפMAKE_CUDA_KNOWN_FEATURESãà The ãàפMAKE_CUDA_RUNTIME_LIBRARYãàvariable and ãàפUDA_RUNTIME_LIBRARYãàtarget property were introduced to select the CUDA runtime library used when linking targets that use CUDA. The ãàקindCUDAToolkitãàmodule was added to find the CUDA Toolkit without enabling CUDA as a language. ãà×Ämake(1)ãàgained a ãàØädebug-findãàcommand-line option to enable additional human-readable output on where find commands search. The ãàפMAKE_FIND_DEBUG_MODEãàvariable was introduced to print extra find call information during the cmake run to standard error. Output is designed for human consumption and not for parsing. The ãàקindCURLãàmodule learned to find CURL using the ãàפURLConfig.cmakeãàpackage configuration file generated by CURLãàÑÔ cmake buildsystem. It also gained a new ãàפURL_NO_CURL_CMAKEãàoption to disable this behavior. The ãàקindPythonãàmodule has learned to find Python components in active virtual environments managed by ãà×Äondaãà The ãà×Ätest(1)ãàtool gained a ãàØäno-tests=<[error|ignore]>ãàoption to explicitly set and unify the behavior between direct invocation and script mode if no tests were found. The ãà×Ätest(1)ãàtool gained a ãàØärepeat :ãàoption to specify conditions in which to repeat tests. This generalizes the existing ãàØärepeat-until-fail ãàoption to add modes for ãà×Öntil-passãàand ãà×Âfter-timeoutãà Target link properties ãàתNTERFACE_LINK_OPTIONSãà ãàתNTERFACE_LINK_DIRECTORIESãàand ãàתNTERFACE_LINK_DEPENDSãàare now transitive over private dependencies on static libraries. See policy ãàפMP0099ãà When using MinGW tools, the ãà×Çind_library()ãàcommand no longer finds ãàdllãàfiles by default. Instead it expects ãàdll.aãàimport libraries to be available. The ãàׯinjaãàgenerator now prefers the first ninja build tool to appear in the ãà×±ATHãàno matter whether it is called ãà×Ïinja-buildãà ãà×Ïinjaãà or ãà×Ôamuãà Previously the first of those names to appear anywhere in the ãà×±ATHãàwould be preferred. ãà×Ämake(1)ãàgained a ãàE rmãàcommand-line tool that can be used to remove directories and files. This supersedes the existing ãàE removeãàand ãàE remove_directoryãàtools and has better semantics.
Revision 1.54 / (download) - annotate - [select for diffs], Wed Mar 4 18:20:59 2020 UTC (4 years, 1 month ago) by adam
Branch: MAIN
Changes since 1.53: +2 -2
lines
Diff to previous 1.53 (colored) to selected 1.10 (colored)
cmake: updated to 3.16.5 CMake 3.16.5 * libarchive: Fix WideCharToMultiByte output buffer size * libarchive: Add support for UTF-8 locale on Windows * Propagate backtraces from LINK_LIBRARIES through to link line items * Help: Update CMake 3.16 release notes for 3.16.5 * Ninja: Do not use nvcc response files with non-nvcc tools * install: Fix regression when using default destinations * FindPython: Mark non-public cache entries INTERNAL in CMake 3.16 * FindPython: Do not cache computed result variables in CMake 3.16 * FindPkgConfig: set policies CMP0054 and CMP0057 to new
Revision 1.53 / (download) - annotate - [select for diffs], Thu Feb 6 15:56:32 2020 UTC (4 years, 2 months ago) by adam
Branch: MAIN
Changes since 1.52: +2 -2
lines
Diff to previous 1.52 (colored) to selected 1.10 (colored)
cmake: updated to 3.16.4 CMake 3.16.4 * ASM_MASM: Populate MSVC runtime library abstraction table * VS: Tell VS 16.4 not to verify SYMBOLIC custom command inputs * AIX: Restore pre-3.16 undocumented method to suppress exports with XL * Android: Fix binutils selection with NDK r19+ unified toolchain * VS: Do not use native unity builds on VS 2017 versions less than 15.8 * file(GET_RUNTIME_DEPENDENCIES): Tolerate empty list arguments * Help: Add more variable documentation to FindMPI * CPack: Fix regression in Deb description
Revision 1.52 / (download) - annotate - [select for diffs], Wed Jan 22 08:35:33 2020 UTC (4 years, 2 months ago) by adam
Branch: MAIN
Changes since 1.51: +2 -2
lines
Diff to previous 1.51 (colored) to selected 1.10 (colored)
cmake: updated to 3.16.3 CMake 3.16.3 * FindOpenSSL: Fix ordering of dependency link flags * GNUtoMS: Add search path for VS 2019 environment scripts * IRSL: Install msvcp140_{1,2,codecvt_ids}.dll if available * ObjC: Add _COMPILE_LAUNCHER support * ObjC: Add VISIBLITY_INLINES_HIDDEN support * Unity Build: include language in generated source file name * PCH: No repeated path for internal generated PCH files (MSVC case) * CTest: Improve error handling when reading resource spec file * CPack: Fix regression in DEB generator description * FindPython*: Fix erroneous target properties setting * macOS: Add support for new Xcode 11 frameworks directory * FindPython: ensure new Xcode framework for Python3 is detected * FindPython: Add support for version 3.9 * Fortran: Add support for NAG Fortran submodules * VS: Add Fortran link flag table entries for /OPT:* * CUDA: Do not device link if target has no CUDA usage * Autogen: Enable SKIP_UNITY_BUILD_INCLUSION on AUTORCC generated files * FindMatlab: add R2019a and R2019b MATLAB_VERSIONS_MAPPING * FindMatlab: in matlab_add_mex use the correct version file
Revision 1.51 / (download) - annotate - [select for diffs], Sun Dec 29 08:53:14 2019 UTC (4 years, 3 months ago) by adam
Branch: MAIN
Changes since 1.50: +2 -2
lines
Diff to previous 1.50 (colored) to selected 1.10 (colored)
cmake: updated to 3.16.2 CMake 3.16.2 VS: Fix support for v142 toolset minor versions in VS 16.5+ FindBLAS: Consider OpenBLAS with thread libraries only with C or CXX FindBoost: Add support for Boost 1.72 Autogen: Revert processing of .hh files for compatibility FindLAPACK: Fix support for LAPACK symbols inside BLAS libraries PCH: Append pch header file to list of forced include files Tests: Fix testCTestResourceSpec struct initialization for some compilers
Revision 1.50 / (download) - annotate - [select for diffs], Wed Dec 11 07:05:20 2019 UTC (4 years, 4 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q4-base,
pkgsrc-2019Q4
Changes since 1.49: +2 -2
lines
Diff to previous 1.49 (colored) to selected 1.10 (colored)
cmake: updated to 3.16.1 CMake 3.16.1 * bootstrap: Add target_link_options command * Check for support before adding bigtoc linker flag * TestDriver: ignore strcpy call * FindThreads: Restore hard-coded '-l' flag on library name * PCH: Do not add #pragma system_header for Xcode generator * Unity/PCH: Skip more target types when adding automatic sources * Unity: Generic source file handling for all generators * Unity: Proper handling of object libraries * PCH: Use the target's PREFIX for building the pdb file name * CTest Resource Allocation: Add test for spec file with no version * FindwxWidgets: Add support for 3.1.3 on macOS
Revision 1.49 / (download) - annotate - [select for diffs], Wed Nov 27 22:32:27 2019 UTC (4 years, 4 months ago) by adam
Branch: MAIN
Changes since 1.48: +3 -4
lines
Diff to previous 1.48 (colored) to selected 1.10 (colored)
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.
Revision 1.48 / (download) - annotate - [select for diffs], Thu Oct 31 13:30:31 2019 UTC (4 years, 5 months ago) by adam
Branch: MAIN
Changes since 1.47: +2 -2
lines
Diff to previous 1.47 (colored) to selected 1.10 (colored)
cmake: updated to 3.15.5 CMake 3.15.5 * Help: Fix COMPILE_LANG_AND_ID genex example * VS: Fix support for v142 toolset minor versions * Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targets * VS: Tell VS 16.4 not to verify CMake-provided custom command outputs * VS: Add toolset v142 CSharp flag table * IRSL: Prefer MSVC runtime libraries from newest toolset first * IRSL: Install vcruntime140_1.dll if available
Revision 1.47 / (download) - annotate - [select for diffs], Thu Oct 3 08:01:09 2019 UTC (4 years, 6 months ago) by adam
Branch: MAIN
Changes since 1.46: +2 -2
lines
Diff to previous 1.46 (colored) to selected 1.10 (colored)
cmake: updated to 3.15.4 CMake 3.15.4: * VS: Tell VS 16.4 not to verify SYMBOLIC custom command outputs * Tests: Teach RunCMake to support a custom working directory * Tests: Revise RunCMake.add_subdirectory ExcludeFromAll to avoid globbing * Tests: Clarify target names in RunCMake.add_subdirectory ExcludeFromAll * Makefiles: Revert "Make build root targets ... recursive" * Restore "all" target in subdirectories marked EXCLUDE_FROM_ALL * Help: Add release note for EXCLUDE_FROM_ALL fix in 3.14.7 * Help: Add release note for EXCLUDE_FROM_ALL fix in 3.15.4 * Help: Mention 3.14.7 EXCLUDE_FROM_ALL fix in 3.15.4 release note * Help: Document VS 2019 toolset in MSVC_TOOLSET_VERSION
Revision 1.46 / (download) - annotate - [select for diffs], Thu Sep 5 08:39:09 2019 UTC (4 years, 7 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q3-base,
pkgsrc-2019Q3
Changes since 1.45: +2 -2
lines
Diff to previous 1.45 (colored) to selected 1.10 (colored)
cmake: updated to 3.15.3 CMake 3.15.3 * Flang: Implement MSVC runtime library abstraction * CTest: Fix --show-only=json-v1 output with REQUIRED_FILES property * cmGlobalGenerator: Fix CheckCompilerIdCompatibility local var lifetime * cmAffinity: Add include for CPU_ZERO on Alpine Linux * find_path: Fix crash on empty old-style list of names * fileapi: Fix codemodel v2 target file name for CMP0037 OLD behavior * FindBoost: Simplify conditional block for last known version * FindBoost: Remove incorrect 1.70 timer dependency * FindBoost: Unwrap compatibility INTERFACE targets for legacy variables * FindBoost: Add support for Boost 1.71 * FindBoost: Clarify role of legacy variables in warning message * FindBoost: Tolerate future Boost INTERFACE libraries * CrayPrgEnv: Change default linking mode based on PE version * ccmake: handle cache entries with empty STRINGS property * libarchive: We now require at least version 3.3.3 * FindMPI: Restore MPI__COMPILE_FLAGS and MPI__COMPILE_OPTIONS * Ninja: Add support for ADDITIONAL_CLEAN_FILES in custom targets * Tests: Extend MakeClean test to test various target types * Autogen: Fix AUTOUIC segfault, when file includes colliding ui_*.h file
Revision 1.45 / (download) - annotate - [select for diffs], Thu Aug 8 07:04:17 2019 UTC (4 years, 8 months ago) by adam
Branch: MAIN
Changes since 1.44: +2 -2
lines
Diff to previous 1.44 (colored) to selected 1.10 (colored)
cmake: updated to 3.15.2 CMake 3.15.2 * Swift: Restore support for enabling with INTERFACE libraries * VS: Fix mapping of `-Qspectre-` flag * source_group: Fix regression in relative FILES * clang: Restore support for clang-cl on non-Windows hosts * fileapi: Fix codemodel target install destination for cross-dir rules * clang: Work around toolchain file use of internal CMake variables * Help: Add 3.15.2 release notes * FindGLEW: Fix macOS library suffix selection * FindGLEW: Add required OpenGL dependency in macOS * FindGLEW: Fix typo in verbose log message * find_package: Fix prefer-config mode to not fail on missing optional package
Revision 1.44 / (download) - annotate - [select for diffs], Fri Aug 2 04:46:12 2019 UTC (4 years, 8 months ago) by adam
Branch: MAIN
Changes since 1.43: +2 -2
lines
Diff to previous 1.43 (colored) to selected 1.10 (colored)
cmake: updated to 3.15.1 Changes made since CMake 3.15.0: * CTest: Generate Done.xml before calculating its hash * VS: Place intermediate files in the "ASM List Location" next to objects * MSVC: Document behavior when MSVC_RUNTIME_LIBRARY is not set * Clang: For MSVC ABI do not use modes older than C++14 * Tests: Revert "require C++14 for the Tutorial" * Makefile: Fix regression in dependencies on relative includes * Help: Add 3.15.1 release notes * IRSL: Fix typo in v143 toolset version check * IRSL: Fix discovery of VS 2019 v141 toolset redistributables * FindPython: ensure interpreter is founded when cross-compiling * Fix allocation in CROSSCOMPILING_EMULATOR evaluation * FindMPI: Updated to use INTERFACE_LINK_OPTIONS * FindMPI: make sure computed link flags are not de-duplicated * Support per-language library link flags * Swift: Add library search paths for dependencies * Swift: add rules for static linking * Swift: support multithreaded compilation * Swift: support SONAME on ELFish targets
Revision 1.43 / (download) - annotate - [select for diffs], Fri Jul 19 09:06:23 2019 UTC (4 years, 9 months ago) by adam
Branch: MAIN
Changes since 1.42: +2 -2
lines
Diff to previous 1.42 (colored) to selected 1.10 (colored)
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 ãàפonfigãàand ãà×®oduleãà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.
Revision 1.42 / (download) - annotate - [select for diffs], Sat Jun 1 20:24:07 2019 UTC (4 years, 10 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q2-base,
pkgsrc-2019Q2
Changes since 1.41: +2 -2
lines
Diff to previous 1.41 (colored) to selected 1.10 (colored)
cmake: updated to 3.14.5 Changes in 3.14.5 since 3.14.4: * FindBoost: Add compiler features for Boost Contract library * libarchive: avoid b64_encode name conflict with Solaris built-in function * FindThreads: Drop incorrect docs about usage with C++ * Do not exclude include directories made implicit by CPATH * VS: Isolate custom command input/output generation scopes * VS: Clarify name of custom commands AdditionalInputs variable * VS: De-duplicate custom command dependencies
Revision 1.41 / (download) - annotate - [select for diffs], Wed May 15 09:06:10 2019 UTC (4 years, 11 months ago) by adam
Branch: MAIN
Changes since 1.40: +2 -2
lines
Diff to previous 1.40 (colored) to selected 1.10 (colored)
cmake: updated to 3.14.4 Changes in 3.14.4 since 3.14.3: * FindBoost: Record compiler features for Boost 1.67 and above * FindBoost: Fix compiler features for `fiber` and `context` * iOS: Fix try_compile FILE_COPY not to fail * target_link_libraries: Fix static library private deps in other dirs * Help: Add 3.14.4 release notes * FindSWIG: Support swig4.0 * Apple: Preserve high resolution mtime for static libraries * Apple: Properly lookup XCTest for iOS and tvOS * FindPython: NumPy: fix erroneous dependencies management * FindPython: ensure variable Python_RUNTIME_LIBRARY_DIRS is set correctly
Revision 1.40 / (download) - annotate - [select for diffs], Tue Apr 23 09:29:08 2019 UTC (4 years, 11 months ago) by adam
Branch: MAIN
Changes since 1.39: +2 -2
lines
Diff to previous 1.39 (colored) to selected 1.10 (colored)
cmake: updated to 3.14.3 Changes in 3.14.3 since 3.14.2: * FindOpenGL: look for GLVND libraries with a libglvnd suffix * FindBoost: Add support for MSVC toolset version 14.2 * IRSL: Update redist directory for VS 2019 update 1 * VS: Provide the default platform name to project code * FindQt3: Restore missing lib and bin path suffixes * FindBoost: Fix detection with version suffixes on Gentoo
Revision 1.39 / (download) - annotate - [select for diffs], Mon Apr 15 06:59:08 2019 UTC (5 years ago) by adam
Branch: MAIN
Changes since 1.38: +2 -2
lines
Diff to previous 1.38 (colored) to selected 1.10 (colored)
cmake: updated to 3.14.2 Changes in 3.14.2 since 3.14.1: * MSVC: Fix MSVC_TOOLSET_VERSION for VS 2019 v142 toolset * ARMCC: Do not identify ARMClang as ARMCC * IRSL: Fix discovery of VS 2019 v142 toolset redistributables * Tests: Clarify hand-written cases in RunCMake.ParseImplicitIncludeInfo * Tests: Teach RunCMake.ParseImplicitIncludeInfo to match output by regex * Fix implicit include directory extraction for adaptive relative paths * Xcode: Factor out duplicate source group code into lambda * Xcode: Avoid mutating App Bundle targets during generation * cmake-gui: Fix icon overlay on windows * Modules/CTest: Fix SubmitURL * cmake-gui: Fix theme on Windows with Qt >= 5.10
Revision 1.38 / (download) - annotate - [select for diffs], Mon Apr 1 08:17:34 2019 UTC (5 years ago) by adam
Branch: MAIN
Changes since 1.37: +2 -2
lines
Diff to previous 1.37 (colored) to selected 1.10 (colored)
cmake: updated to 3.14.1 Changes in 3.14.1 since 3.14.0: * VS: Fix x64 host recognition by x86 cmake process * find_program: Restore leading double slash on Windows network path * Eclipse: Fix extra generator to not crash on interface libraries * ARMCC: Fix identification of ARM compiler when it defines GNU macros * Help: Clarify policy CMP0082 documentation * Restore support for include_directories() in toolchain files * CUDA: Tolerate square brackets in PROMPT environment variable * cmake: Fix '-E copy foo .' to avoid clobbering file * FindFontconfig: Convert module variables to camel case * ParseImplicitIncludeInfo: Canonicalize implicit include dirs * CPackIFW: Add missing cpack_ifw_configure_component_group option processing * FindPython*: ensure correct architecture is selected. * Autogen: Do not treat hard-coded -I/usr/include exclusion as implicit include * ctest_coverage: fix out-of-bounds index in Jacoco parser
Revision 1.37 / (download) - annotate - [select for diffs], Mon Mar 18 09:05:59 2019 UTC (5 years, 1 month ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q1-base,
pkgsrc-2019Q1
Changes since 1.36: +2 -2
lines
Diff to previous 1.36 (colored) to selected 1.10 (colored)
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 ãà×·isual 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ãàÑÕ 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ãàÑÓe 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 ãà×Âllãà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.
Revision 1.36 / (download) - annotate - [select for diffs], Tue Feb 5 09:52:23 2019 UTC (5 years, 2 months ago) by adam
Branch: MAIN
Changes since 1.35: +2 -2
lines
Diff to previous 1.35 (colored) to selected 1.10 (colored)
cmake: updated to 3.13.4 Changes in 3.13.4 since 3.13.3: * Tests: add cases for providing Qt5Core_VERSION manually * AutoGen: query Qt5 version from directory properties * Revert "file: Allow DOWNLOAD/UPLOAD using alternate authentication methods" * Intel: Record support for relaxed constexpr by version 18.0.5 * macOS: Restore compatibility for setting FRAMEWORK after install() * FindLAPACK: Distinguish check result variable name from FindBLAS * macOS: Add missing explicit dependency on CoreServices framework * cmake: Convert no source/build dir error to warning * Help: Add 3.13.4 release note for no source/build dir error/warning * FindDoxygen: Escape backslashes in default values
Revision 1.35 / (download) - annotate - [select for diffs], Tue Jan 15 09:02:28 2019 UTC (5 years, 3 months ago) by adam
Branch: MAIN
Changes since 1.34: +2 -2
lines
Diff to previous 1.34 (colored) to selected 1.10 (colored)
cmake: updated to 3.13.3 Changes in 3.13.3 since 3.13.2: - VS: Exclude VS 2019 instances when using VS 2017 generator - Tests: Add cases for -{C,D,U} without a source tree - Tests: Add case for warning when AUTOMOC/UIC/RCC gets disabled - cmake: Stop processing if -P option lacks file name - cmake: Ensure source and binary dirs are set - cmake: distinguish '-Cpath' from '-C path' in source dir parsing - Autogen: Issue a warning when AUTOMOC/UIC/RCC gets disabled. - BundleUtilities: Ensure target dir exists when creating symlinks
Revision 1.34 / (download) - annotate - [select for diffs], Sat Dec 15 23:23:14 2018 UTC (5 years, 4 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q4-base,
pkgsrc-2018Q4
Changes since 1.33: +2 -2
lines
Diff to previous 1.33 (colored) to selected 1.10 (colored)
cmake: updated to 3.13.2 Changes in 3.13.2 since 3.13.1: * CUDA: Add CUDA 10 (Turing) detection * CUDA: Fix crash on linking to a CUDA target without CUDA enabled * CPack/External: Fix status messages of staging scripts * Autogen: Revert passing compiler implicit includes to moc
Revision 1.33 / (download) - annotate - [select for diffs], Wed Nov 28 14:42:52 2018 UTC (5 years, 4 months ago) by adam
Branch: MAIN
Changes since 1.32: +2 -2
lines
Diff to previous 1.32 (colored) to selected 1.10 (colored)
cmake: updated to 3.13.1 Changes in 3.13.1 since 3.13.0: Fortran: Fix module dependency scanning with upper-case SUBMODULE FindBoost: Restore finding without CXX language enabled VS: Avoid crash with VS 2015 when all SDKs are higher than 10.0.14393.0 Autogen: Fix empty uic executable string
Revision 1.32 / (download) - annotate - [select for diffs], Wed Nov 21 16:58:52 2018 UTC (5 years, 4 months ago) by adam
Branch: MAIN
Changes since 1.31: +2 -2
lines
Diff to previous 1.31 (colored) to selected 1.10 (colored)
cmake: updated to 3.13.0 CMake 3.13.0: The Visual Studio Generators for VS 2010 and above learned to support the ãàתNTERPROCEDURAL_OPTIMIZATIONãàtarget property and supporting ãàפheckIPOSupportedãàmodule. The ãàרreen Hills MULTIãàgenerator has been updated to include support for platform, architecture, and toolset selection. The ãà×Ämakeãà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 ãà×Ämakeãà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 ãà×ÄmakeãàãàE create_symlinkãàcommand can now be used on Windows. The ãà×Õarget_link_directories()ãàcommand was created to specify link directories for targets and their dependents. The ãà×Õarget_link_options()ãàcommand was created to specify link options for targets and their dependents. The ãà×Õarget_link_libraries()ãàcommand may now be called to modify targets created outside the current directory. See policy ãàפMP0079ãà The ãà×Ênstall(TARGETS)ãàcommand learned to install targets created outside the current directory. A ãà×·S_DEBUGGER_COMMAND_ARGUMENTSãàtarget property was created to set the debugging command line arguments with Visual Studio Generators for VS 2010 and above. A ãà×·S_DEBUGGER_ENVIRONMENTãàtarget property was created to set the debugging environment with Visual Studio Generators for VS 2010 and above. The ãà×Ðption()ãà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 ãàפMP0077ãà The ãà×Õarget_sources()ãàcommand now interprets relative source file paths as relative to the current source directory. This simplifies incrementally building up a targetãàÑÔ sources from subdirectories. The ãàפMP0076ãàpolicy was added to provide backward compatibility with the old behavior where required.
Revision 1.31 / (download) - annotate - [select for diffs], Thu Oct 4 13:09:54 2018 UTC (5 years, 6 months ago) by adam
Branch: MAIN
Changes since 1.30: +2 -2
lines
Diff to previous 1.30 (colored) to selected 1.10 (colored)
cmake: updated to 3.12.3 Changes in 3.12.3 since 3.12.2: * CTest: Fix --test-load regression * FindMPI: Restore MPI__COMPILE_FLAGS as a command-line string * FindDoxygen: Ensure policy settings allow use of IN_LIST * libarchive: Backport fix for build with LibreSSL 2.7 * libuv: do not require PATH_MAX to be defined * VS: Fix CSharp flag selection when linking to a static C++ library * CSharp: Fix regression in VS project type selection * CTest: Fix regression in ctest_start() * Help: TESTS property: clarify usage.
Revision 1.30 / (download) - annotate - [select for diffs], Sat Sep 8 06:55:51 2018 UTC (5 years, 7 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q3-base,
pkgsrc-2018Q3
Changes since 1.29: +2 -2
lines
Diff to previous 1.29 (colored) to selected 1.10 (colored)
cmake: updated to 3.12.2 Changes in 3.12.2 since 3.12.1: * Android: Add support for NDK r18 * CheckIPOSupported: Simplify result reporting logic * CheckIPOSupported: Tolerate backslashes in output of failed checks * VS: Restore CMakeLists.txt references in each target * EXPORT_PROPERTIES: Add test for an undefined property * EXPORT_PROPERTIES: Prevent null dereference for undefined property * Help: Fix typo in clang-tidy example -checks option * FindBoost: Fix context discovery for 1.60 and below * FindCUDA: Do not find cublas_device on CUDA >= 9.2 * FindMatlab: Remove erroneous duplicate code * CUDA: Avoid using deprecated cublas_device to identify device lib dirs * cmState: Clear GlobVerificationManager state on Reset
Revision 1.29 / (download) - annotate - [select for diffs], Fri Aug 10 06:59:04 2018 UTC (5 years, 8 months ago) by adam
Branch: MAIN
Changes since 1.28: +2 -2
lines
Diff to previous 1.28 (colored) to selected 1.10 (colored)
cmake: update to 3.12.1 Changes in 3.12.1 since 3.12.0: - CSharp: Set CMAKE_CSharp_COMPILER_LOADED variable when language is enabled - UseSWIG: Use CSharp language only if it is enabled - Help: Add explicit <PackageName>_ROOT variable documentation - Tests: Add case showing CMP0048 warning on injected project command - project: Do not issue CMP0048 warnings on injected call - CPack: Restore support for 0-valued version components - FindCUDA/select_compute_arch: Restore two-component CUDA_VERSION - GoogleTest: Ensure policy settings allow use of IN_LIST - FindTCL: Add support for version 8.7 - FindPython*: fix erroneous behavior on multiple 'find_package' calls - UseSWIG: restore legacy behavior for SWIG_MODULE_<name>_EXTRA_FLAGS
Revision 1.28 / (download) - annotate - [select for diffs], Sat Jul 21 06:52:55 2018 UTC (5 years, 9 months ago) by ryoon
Branch: MAIN
Changes since 1.27: +2 -2
lines
Diff to previous 1.27 (colored) to selected 1.10 (colored)
Update to 3.12.0 Changelog: Changes made since CMake 3.11 include the following. New Features Generators * The Visual Studio Generators for VS 2017 learned to support a version=14.## option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to specify a toolset version number. Command-Line * The cmake(1) Build Tool Mode (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool. Commands * The add_compile_definitions() command was added to set preprocessor definitions at directory level. This supersedes add_definitions(). * The cmake_minimum_required() and cmake_policy(VERSION) commands now accept a version range using the form <min>[...<max>]. The <min> version is required but policies are set based on the older of the running CMake version and the version specified by <max>. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new flag CONFIGURE_DEPENDS which enables expression of build system dependency on globbed directoryãàÑÔ contents. * The file(TOUCH) and file(TOUCH_NOCREATE) commands were added to expose TOUCH functionality without having to use CMakeãàÑÔ command-line tool mode with execute_process(). * The find_package() command now searches a prefix specified by a PackageName_ROOT CMake or environment variable. Package roots are maintained as a stack so nested calls to all find_* commands inside find modules also search the roots as prefixes. See policy CMP0074. * The install() command learned an optional NAMELINK_COMPONENT parameter, which allows you to change the component for a shared libraryãàÑÔ namelink. If none is specified, the value of COMPONENT is used by default. * The list() command learned a JOIN sub-command to concatenate listãàÑÔ elements separated by a glue string. * The list() command learned a SUBLIST sub-command to get a sublist of the list. * The list() command learned a TRANSFORM sub-command to apply various string transformation to listãàÑÔ elements. * The project() command learned an optional HOMEPAGE_URL parameter which has the effect of setting variables like PROJECT_HOMEPAGE_URL, <PROJECT-NAME> _HOMEPAGE_URL and CMAKE_PROJECT_HOMEPAGE_URL. * The string() command learned a JOIN sub-command to concatenate input strings separated by a glue string. * target_compile_options() and add_compile_options() commands gained a SHELL: prefix to specify a group of related options using shell-like quoting. * The target_link_libraries() command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements. Variables * The CMAKE_FOLDER variable was added to initialize the FOLDER property on all targets. * The CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable was defined to initialize all DOTNET_TARGET_FRAMEWORK_VERSION target properties. * CMAKE_PROJECT_VERSION* variables have been introduced: + CMAKE_PROJECT_VERSION + CMAKE_PROJECT_VERSION_MAJOR + CMAKE_PROJECT_VERSION_MINOR + CMAKE_PROJECT_VERSION_PATCH + CMAKE_PROJECT_VERSION_TWEAK * The CMAKE_SUPPRESS_REGENERATION variable was extended to support the Ninja and Makefile Generators. It is also now documented. * CMAKE_VS_SDK_*_DIRECTORIES variables were defined to tell Visual Studio Generators for VS 2010 and above how to populate fields in .vcxproj files that specify SDK directories. The variables are: + CMAKE_VS_SDK_EXCLUDE_DIRECTORIES + CMAKE_VS_SDK_EXECUTABLE_DIRECTORIES + CMAKE_VS_SDK_INCLUDE_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_DIRECTORIES + CMAKE_VS_SDK_LIBRARY_WINRT_DIRECTORIES + CMAKE_VS_SDK_REFERENCE_DIRECTORIES + CMAKE_VS_SDK_SOURCE_DIRECTORIES * A MSVC_TOOLSET_VERSION variable was added to provide the MSVC toolset version associated with the current MSVC compiler version in MSVC_VERSION. Properties * The COMMON_LANGUAGE_RUNTIME target property was introduced to configure the use of managed C++ for Visual Studio Generators for VS 2010 and above. A corresponding IMPORTED_COMMON_LANGUAGE_RUNTIME target property was added to support C++/CLI for imported targets. * The DOTNET_TARGET_FRAMEWORK_VERSION target property was introduced as replacement for VS_DOTNET_TARGET_FRAMEWORK_VERSION, which is considered deprecated now. * An EXPORT_PROPERTIES target property was added to specify a custom list of target properties to include in targets exported by the install(EXPORT) and export() commands. * The PDB_OUTPUT_DIRECTORY property learned to support generator expressions. * A TESTS directory property was added to hold the list of tests defined by the add_test() command. * A VS_DEBUGGER_COMMAND target property was created to set the debugging command line with Visual Studio Generators for VS 2010 and above. * HLSL source file properties VS_SHADER_DISABLE_OPTIMIZATIONS and VS_SHADER_ENABLE_DEBUG gained support for generator expressions. * HLSL source file property VS_SHADER_OBJECT_FILE_NAME has been added to the Visual Studio Generators for VS 2010 and above. The property specifies the file name of the compiled shader object. Modules * The FindALSA module now provides imported targets. * The FindCURL module now provides imported targets. * The FindJPEG module now provides imported targets. * The FindLibXml2 module now provides imported targets. * The FindMatlab module now supports the Matlab Runtime Compiler (MCR) for compiling and linking matlab extensions. * A FindODBC module was added to find an Open Database Connectivity (ODBC) library. * The FindPkgConfig module has learned to export the found libraries with full path for direct consumption with the target_link_libraries() command. * New FindPython3 and FindPython2 modules, as well as a new FindPython module, have been added to provide a new way to locate python environments. * The UseSWIG module gained a whole refresh and is now more consistent with standard CMake commands to generate libraries and is fully configurable through properties. * The UseSWIG module learned to manage multiple behaviors through UseSWIG_MODULE_VERSION variable to ensure legacy support as well as more robust handling of SWIG advanced features (like %template). * The UseSWIG module learned to support CSHARP variant wrapper files. * The WriteCompilerDetectionHeader module gained a BARE_FEATURES option to add a compatibility define for the exact keyword of a new language feature. Generator Expressions * A new $<GENEX_EVAL:...> and $<TARGET_GENEX_EVAL:target,...> generator expression has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions. * A new $<IN_LIST:...> generator expression has been added. * A new $<TARGET_EXISTS:...> generator expression has been added. * A new $<TARGET_NAME_IF_EXISTS:...> generator expression has been added. CTest * The ctest_start() command has been reworked so that you can simply call ctest_start(APPEND) and it will read all the needed information from the TAG file. The argument parsing has also been relaxed so that the order of the arguments is less significant. * A PROCESSOR_AFFINITY test property was added to request that CTest run a test with CPU affinity for a set of processors disjoint from other concurrently running tests with the property set. CPack * The CPack module now uses variables CMAKE_PROJECT_VERSION_MAJOR, CMAKE_PROJECT_VERSION_MINOR and CMAKE_PROJECT_VERSION_PATCH to initialize corresponding CPack variables. * cpack(1) gained basic support for NuGet. See the CPackNuGet module. Other * The Compile Features functionality is now aware of C++ 20. No specific features are yet enumerated besides the cxx_std_20 meta-feature. * The Compile Features functionality is now aware of the availability of C features in MSVC since VS 2010. * The Compile Features functionality is now aware of C language standards supported by Texas Instruments C compilers. Deprecated and Removed Features * The Visual Studio 8 2005 generator has been removed. * CMake no longer produces <tgt>_LIB_DEPENDS cache entries for library targets. See policy CMP0073. Other Changes * Include flags for directories marked as SYSTEM are now moved after non-system directories. The -isystem flag does this automatically, so moving them explicitly to the end makes the behavior consistent on compilers that do not have any -isystem flag. * Fortran dependency scanning now supports dependencies implied by Fortran Submodules. * The existence and functionality of the file ${CMAKE_BINARY_DIR}/ cmake_install.cmake has now been documented in the install() documentation so that external packaging software can take advantage of CPack-style component installs. * The CheckIncludeFile module check_include_file macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFileCXX module check_include_file_cxx macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The CheckIncludeFiles module check_include_files macro learned to honor the CMAKE_REQUIRED_LIBRARIES variable. See policy CMP0075. * The cmake(1) -E copy_directory tool now fails when the source directory does not exist. Previously it succeeded by creating an empty destination directory. * The UseSWIG module swig_add_library() command (and legacy swig_add_module command) now set the prefix of Java modules to "" for MINGW, MSYS, and CYGWIN environments.
Revision 1.27 / (download) - annotate - [select for diffs], Sun Jun 24 09:13:22 2018 UTC (5 years, 9 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q2-base,
pkgsrc-2018Q2
Changes since 1.26: +2 -2
lines
Diff to previous 1.26 (colored) to selected 1.10 (colored)
cmake: updated to 3.11.4 3.11.4: Windows: Restore support for running CMake through a symlink ExternalProject: Fix cache generation when args end with "-NOTFOUND" ExternalProject: Improve URL_HASH argument description
Revision 1.26 / (download) - annotate - [select for diffs], Fri Jun 1 07:16:03 2018 UTC (5 years, 10 months ago) by adam
Branch: MAIN
Changes since 1.25: +2 -2
lines
Diff to previous 1.25 (colored) to selected 1.10 (colored)
cmake: updated to 3.11.3 Changes in 3.11.3: * cmSystemTools: Revert GetRealPath implementation on Windows * CPack: Fix cross-compilation of WiX generator * TestDriver: Replace strncpy with strcpy
Revision 1.25 / (download) - annotate - [select for diffs], Fri May 18 07:15:30 2018 UTC (5 years, 11 months ago) by adam
Branch: MAIN
Changes since 1.24: +2 -2
lines
Diff to previous 1.24 (colored) to selected 1.10 (colored)
cmake: updated to 3.11.2 3.11.2: Ninja: Do not add empty custom command for file(GENERATE) outputs C++ feature checks: Filter out warnings caused by local configuration libuv: linux/sparc64: use fcntl to set and clear O_NONBLOCK FindCUDA: Fix regression in separable compilation without cublas FindBoost: Remove extra indentation in 1.65/1.66 dependency block add_library: Restore error on alias of non-global imported target add_custom_{command,target}: Fix crash on empty expanded command CMake 3.11.2 IRSL: Fix Intel library list for ifort-only setups InstallRequiredSystemLibraries: Check for existence of mfcm dlls FindBoost: Backport versioned python dependencies for v1.35 to v1.66 Fix CMAKE_DISABLE_SOURCE_CHANGES recognition of top of build tree FindJava, FindJNI, UseJava: update for version 10 support FindJava, FindJNI: Ensure most recent version is searched first FindJava, FindJNI: fix erroneous regex, enhance registry lookup Help: Specify COMPILE_OPTIONS and COMPILE_FLAGS source properties usage Qt4Macros: Use get_property/set_property Qt4Macros: Don't AUTOMOC or AUTOUIC qt4-generated files FindPkgConfig: do not unset unused variable FindBLAS: do not write an imported target name into BLAS_LIBRARIES Autogen: Register generated dependency files
Revision 1.24 / (download) - annotate - [select for diffs], Tue Apr 17 16:28:35 2018 UTC (6 years ago) by adam
Branch: MAIN
Changes since 1.23: +2 -2
lines
Diff to previous 1.23 (colored) to selected 1.10 (colored)
cmake: updated to 3.11.1 Changes in 3.11.1 since 3.11.0: Revert "CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES" CPack: Fix crash on invalid generator name Restore support for explicitly referenced CMakeLists.txt sources Exclude "libgcc_eh" library files from implicit link libraries Features: Record for VS 2017 through 15.6 Explicitly require LibUV 1.10 or higher to build CMake bootstrap: Add option to enable/disable usage of system libuv Fix crash with --trace-expand --warn-uninitialized together FindOpenMP: Fix support for Intel on Windows Autogen: Protected calls to cmSystemTools::CollapseCombinedPath Autogen: Protected calls to cmSystemTools::Split/JoinPath Autogen: Protected calls to cmSystemTools::GetFilenameWithoutLastExtension Autogen: Protected calls to cmQtAutoGen::SubDirPrefix Autogen: Protected calls to cmFilePathChecksum Autogen: Use std::istreambuf_iterator for file so string reading Autogen: Print moc/uic/rcc output to stdout
Revision 1.23 / (download) - annotate - [select for diffs], Mon Apr 2 19:36:44 2018 UTC (6 years ago) by adam
Branch: MAIN
Changes since 1.22: +2 -2
lines
Diff to previous 1.22 (colored) to selected 1.10 (colored)
cmake: updated to 3.11.0 Some of the more significant changes in CMake 3.11 are: The Makefile Generators and the ãàׯinjaãàgenerator learned to add compiler launcher tools along with the compiler for the ãàקortranãàlanguage (ãàפãà ãàפXXãà and ãàפUDAãàwere supported previously). See the ãàפMAKE_<LANG>_COMPILER_LAUNCHERãàvariable and ãàLANG>_COMPILER_LAUNCHERãàtarget property for details. Visual Studio Generators learned to support the ãàפOMPILE_LANGUAGEãàãà×Èenerator expressionãàin target-wide ãàפOMPILE_DEFINITIONSãà ãàתNCLUDE_DIRECTORIESãà ãàפOMPILE_OPTIONSãà and ãà×Çile(GENERATE)ãà See generator expression documentation for caveats. The ãà×¹codeãàGenerator learned to support the ãàפOMPILE_LANGUAGEãàãà×Èenerator expressionãàin target-wide ãàפOMPILE_DEFINITIONSãàand ãàתNCLUDE_DIRECTORIESãà It previously supported only ãàפOMPILE_OPTIONSãàand ãà×Çile(GENERATE)ãà See generator expression documentation for caveats. ãà×Âdd_library()ãàand ãà×Âdd_executable()ãàcommands can now be called without any sources and will not complain as long as sources are added later via the ãà×Õarget_sources()ãàcommand. The ãà×Õarget_compile_definitions()ãàcommand learned to set the ãàתNTERFACE_COMPILE_DEFINITIONSãàproperty on Imported Targets. The ãà×Õarget_compile_features()ãàcommand learned to set the ãàתNTERFACE_COMPILE_FEATURESãàproperty on Imported Targets. The ãà×Õarget_compile_options()ãàcommand learned to set the ãàתNTERFACE_COMPILE_OPTIONSãàproperty on Imported Targets. The ãà×Õarget_include_directories()ãàcommand learned to set the ãàתNTERFACE_INCLUDE_DIRECTORIESãàproperty on Imported Targets. The ãà×Õarget_sources()ãàcommand learned to set the ãàתNTERFACE_SOURCESãàproperty on Imported Targets. The ãà×Õarget_link_libraries()ãàcommand learned to set the ãàתNTERFACE_LINK_LIBRARIESãàproperty on Imported Targets. The ãàפOMPILE_DEFINITIONSãàsource file property learned to support ãà×Èenerator expressionsãà A ãàפOMPILE_OPTIONSãàsource file property was added to manage list of options to pass to the compiler. When using ãà×¢UTOMOCãàor ãà×¢UTOUICãà CMake now starts multiple parallel ãà×Îocãàor ãà×Öicãàprocesses to reduce the build time. A new ãàפMAKE_AUTOGEN_PARALLELãàvariable and ãà×¢UTOGEN_PARALLELãàtarget property may be set to specify the number of parallel ãà×Îocãàor ãà×Öicãàprocesses to start. The default is derived from the number of CPUs on the host.
Revision 1.22 / (download) - annotate - [select for diffs], Sat Mar 17 08:03:09 2018 UTC (6 years, 1 month ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q1-base,
pkgsrc-2018Q1
Changes since 1.21: +2 -2
lines
Diff to previous 1.21 (colored) to selected 1.10 (colored)
cmake: updated to 3.10.3 CMake 3.10.3 * GoogleTest: Rename TIMEOUT parameter to avoid clash * Autogen: Fix for the empty source file crash in 3.10.2 * ccmake: fix status line buffer overflow on very wide terminals
Revision 1.21 / (download) - annotate - [select for diffs], Fri Jan 19 07:49:06 2018 UTC (6 years, 3 months ago) by adam
Branch: MAIN
Changes since 1.20: +2 -2
lines
Diff to previous 1.20 (colored) to selected 1.10 (colored)
cmake: updated to 3.10.2 Changes in 3.10.2: KWIML: Backport RISC-V update to CMake 3.10 FindPostgreSQL: Add support for PG10 cmGraphVizWriter: Updated to create and follow dependers for interface targets Autogen: Fix for problematic nested list separator Autogen: Ignore not existing source files in cmMakefile
Revision 1.20 / (download) - annotate - [select for diffs], Thu Dec 14 22:13:34 2017 UTC (6 years, 4 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2017Q4-base,
pkgsrc-2017Q4
Changes since 1.19: +2 -2
lines
Diff to previous 1.19 (colored) to selected 1.10 (colored)
cmake: updated to 3.10.1 3.10.1: bootstrap: Check support for unordered_map from compiler mode CPack: Fix macOS PKG component dependency information CUDA: Treat /usr/include as an implicit include directory server: Revert "Report backtraces in codemodel response" CMake 3.10.1 FindMPI: Correct legacy variable handling FindMPI: Fix multiple configure runs FindMPI: Fix various legacy problems IRSL: Fix MSVC variable deferencing IAR: FindBinUtils should work for CXX as well as C GoogleTest: Fix multiple discovery on same target GoogleTest: Improve gtest_discover_tests messages GoogleTest: Add timeout to discovery GoogleTest: Add test for missing test executable CUDA: Shared libraries on Darwin properly setup @rpath install_names Autogen: Fix for AUTOMOC on macOS frameworks in CMake 3.10 Autogen: Tests: Add test for MacOS frameworks Clang: Do not mistake clang-cl 6.0 for GNU-like clang
Revision 1.19 / (download) - annotate - [select for diffs], Thu Nov 30 15:41:17 2017 UTC (6 years, 4 months ago) by adam
Branch: MAIN
Changes since 1.18: +2 -2
lines
Diff to previous 1.18 (colored) to selected 1.10 (colored)
cmake: updated to 3.10.0 CMake 3.10 are: The flang Fortran compiler is now supported, with compiler id ãàקlangãà Support for the MSVC ARM64 architecture was added. Visual Studio 2017 Update 4 and above offer an ARM64 toolchain. The ãà×Ênclude_guard()ãàcommand was introduced to allow guarding CMake scripts from being included more than once. The command supports ãà×¥IRECTORYãàand ãàרLOBALãàoptions to adjust the corresponding include guard scope. If no options given, include guard is similar to basic variable-based check. ãàקindMPIãàreceived a major overhaul. It now features language specific components, better Fortran support, and support for statically linked MPI implementations. A ãàקindOpenACCãàmodule was added to detect compiler support for OpenACC. Currently only supports PGI, GNU and Cray compilers. The ãàקindOpenGLãàmodule underwent numerous improvements. It has gained support for GLVND and EGL on Linux. It now has import targets that separate the OpenGL library and OpenGL contexts. The ãàרoogleTestãàmodule gained a new command ãà×Ètest_discover_tests()ãàimplementing dynamic (build-time) test discovery. When using ãà×¢UTOMOCãàor ãà×¢UTOUICãà source files that are ãàרENERATEDãàwill be processed as well. They were ignored by ãà×¢UTOMOCãàand ãà×¢UTOUICãàin earlier releases. See policy ãàפMP0071ãà A ãàפTEST_LABELS_FOR_SUBPROJECTSãàCTest module variable and CTest script variable were added to specify a list of labels that should be treated as subprojects by CDash. To use this value in both the CTest module and the ctest command line Dashboard Client mode (e.g. ãà×Ätest -Sãà set it in the ãàפTestConfig.cmakeãàconfig file. CPack gained a ãàקREEBSDãàgenerator for FreeBSD ãà×Ñkg(8)ãà configured by the ãàפPackFreeBSDãàmodule. The CPack ãà×¥EBãàgenerator, configured by the ãàפPackDebãàmodule, was enabled on Windows. While not fully featured (due to the lack of external UNIX tools) this will allow building basic cross- platform Debian packages. The ãà×Ämake(1)ãàãàEãàmode gained support for ãà×Ôha1sumãà ãà×Ôha224sumãà ãà×Ôha256sumãà ãà×Ôha384sumãà and ãà×Ôha512sumãà The ãà×Çile(GENERATE)ãàcommand now interprets relative paths given to its ãà×°UTPUTãàand ãàתNPUTãàarguments with respect to the callerãàÑÔ current binary and source directories, respectively. See policy ãàפMP0070ãà
Revision 1.18 / (download) - annotate - [select for diffs], Mon Nov 13 13:38:03 2017 UTC (6 years, 5 months ago) by adam
Branch: MAIN
Changes since 1.17: +2 -2
lines
Diff to previous 1.17 (colored) to selected 1.10 (colored)
cmake: updated to 3.9.6 CMake 3.9.6: * Restore exclusion of "gcc_eh" from implicit link libraries
Revision 1.17 / (download) - annotate - [select for diffs], Mon Nov 6 10:02:03 2017 UTC (6 years, 5 months ago) by adam
Branch: MAIN
Changes since 1.16: +2 -2
lines
Diff to previous 1.16 (colored) to selected 1.10 (colored)
cmake: updated to 3.9.5 Changes in 3.9.5: * Autogen: Don't add AUTOMOC_MOC_OPTIONS to moc-predefs command
Revision 1.16 / (download) - annotate - [select for diffs], Fri Oct 6 04:35:23 2017 UTC (6 years, 6 months ago) by adam
Branch: MAIN
Changes since 1.15: +2 -2
lines
Diff to previous 1.15 (colored) to selected 1.10 (colored)
cmake: update to 3.9.4 Changes in 3.9.4: FindBoost: Finish reverting "Simplify search in lists" for 3.9
Revision 1.15 / (download) - annotate - [select for diffs], Tue Sep 26 04:50:50 2017 UTC (6 years, 6 months ago) by adam
Branch: MAIN
Changes since 1.14: +2 -3
lines
Diff to previous 1.14 (colored) to selected 1.10 (colored)
cmake: update to 3.9.3 Changes in 3.9.3 since 3.9.2: * VS: Do not consider MAP_IMPORTED_CONFIG_ on non-imported targets bootstrap: Fix running multiple times in-source * vim: Remove default setting of expandtab * FindBoost: Add support for Boost 1.65.0 and 1.65.1 to CMake 3.9 * CTest: fix crash if source file for coverage cannot be found * Autogen: Backport autogen target dependency as file dependency fix * Autogen: Tests: Backport tests for _autogen target dependencies
Revision 1.14 / (download) - annotate - [select for diffs], Tue Sep 19 15:58:21 2017 UTC (6 years, 7 months ago) by prlw1
Branch: MAIN
CVS Tags: pkgsrc-2017Q3-base,
pkgsrc-2017Q3
Changes since 1.13: +2 -1
lines
Diff to previous 1.13 (colored) to selected 1.10 (colored)
Patch cmake to find boost version 1.65 (i.e., the one in pkgsrc)
Revision 1.13 / (download) - annotate - [select for diffs], Fri Sep 8 07:56:08 2017 UTC (6 years, 7 months ago) by adam
Branch: MAIN
Changes since 1.12: +2 -2
lines
Diff to previous 1.12 (colored) to selected 1.10 (colored)
Changes in 3.9.2 since 3.9.1: InstallRequiredSystemLibraries: Factor redist name into variable InstallRequiredSystemLibraries: Find VS 2017 Update 3 redist directory macOS: Revert default Hi-DPI support in applications Ninja: Fix support for MSVC with non-English output Xcode: Revert addition of "outputPaths" to custom command build phase cmCPackDragNDropGenerator: Add missing include cmake: Fix --find-package mode with imported targets Genex: Fix TARGET_PROPERTY value of SOURCES Android: Update for NDK r16 FindBoost: Revert "Simplify search in lists." InstallRequiredSystemLibraries: Add support for future VS 2017 toolchains Tests: Fix RunCMake.GeneratorExpression to run in CMake 3.9 FindOpenMP: Restore OpenMP_FOUND result variable CUDA: Pass host compiler to nvcc while device linking VS: Do not reference output assemblies if not possible for CSharp target VS: Initialize CSharp flags consistently Autogen: Restore AUTOUIC lookup paths from 3.8.2 Autogen: Update AUTOUIC documentation for search paths Autogen: Extend AUTOUIC search paths test Clang: Find version-suffixed LLVM/Clang binutils FindCygwin: Fix regression when CYGWIN_INSTALL_PATH is already set
Revision 1.12 / (download) - annotate - [select for diffs], Sat Aug 12 21:06:30 2017 UTC (6 years, 8 months ago) by adam
Branch: MAIN
Changes since 1.11: +2 -2
lines
Diff to previous 1.11 (colored) to selected 1.10 (colored)
Changes in 3.9.1 since 3.9.0: Utilities/Sphinx: Restore compatibility with Sphinx pre-1.2 Help: Silence warning about document not included in toctree UseSWIG: Fix when Java is enabled as a language VS: Fix VCTargetsPath detection Android: Fix support for CMAKE_SYSROOT without CMAKE_SYSROOT_COMPILE expat: Update script to get Expat 2.2.3 expat: Update CMake build for 2.2.3 Tests: Simplify RunCMake.find_package PackageRoot case regexes find_*: Disable the PACKAGE_ROOT search path group for CMake 3.9 find_package: Add missing PACKAGE_ROOT_PATH search path implementation. find_package: Fix PACKAGE_ROOT test to check find_pacakge(CONFIG) mode. find_package: Split PACKAGE_ROOT tests to work with smaller regex FindJava: Allow early access version trailing string to be mixed case FindBoost: pop policy stack before returning expat 2017-08-02 (97c6bd01) server: Fix crash on missing cache entries FindJava: fix hint for windows jre 1.6 Help: Fix module and function names in CMP0069 examples Autogen: Always create AUTOMOC/AUTOUIC include directory
Revision 1.11 / (download) - annotate - [select for diffs], Wed Jul 19 17:44:34 2017 UTC (6 years, 9 months ago) by adam
Branch: MAIN
Changes since 1.10: +2 -2
lines
Diff to previous 1.10 (colored)
3.9.0: * The ãà×·isual Studio 14 2015ãàgenerator has been taught about a change to the ãà××140ãàtoolset made by a VS 2015 update. VS changed the set of values it understands for the ãàרenerateDebugInformationãàlinker setting that produces the ãàDEBUGãàlinker flag variants. * ãàפUDAãàis now supported by the Visual Studio Generators for VS 2010 and above. This complements the existing support by the Makefile Generators and the ãàׯinjaãàgenerator. CUDA 8.0.61 or higher is recommended due to known bugs in the VS integration by earlier versions. * CMake is now aware of the ãàפ++ standardsãàand ãàפ standardsãàand their associated meta-features for the following ãà×Äompiler idsãà ãàפrayãà ãà×±GIãà and ãà×¹Lãà * The ãà×Âdd_library()ãàcommand ãàתMPORTEDãàoption learned to support Object Libraries. * All ãà×Çind_ãàcommands now have a ãà×±ACKAGE_ROOTãàsearch path group that is first in the search heuristics. If a ãà×Çind_ãàcommand is called from inside a find module, then the CMake variable and environment variable named ãà×ÀROOTãàare used as prefixes and are the first set of paths to be searched. * The ãà×Ênstall(TARGETS)ãàcommand learned a new ãà×°BJECTSãàoption to specify where to install Object Libraries. * The ãà×Ênstall(EXPORT)ãàcommand learned how to export Object Libraries. * A ãà×£UILD_WITH_INSTALL_NAME_DIRãàtarget property and corresponding ãàפMAKE_BUILD_WITH_INSTALL_NAME_DIRãàvariable were added to control whether to use the ãàתNSTALL_NAME_DIRãàtarget property value for binaries in the build tree. This is for macOS ãà×Ênstall_nameãàas ãà×£UILD_WITH_INSTALL_RPATHãàis for ãà׳PATHãà * A ãàפUDA_PTX_COMPILATIONãàtarget property was added to Object Libraries to support compiling to ãàptxãàfiles instead of host object files. * A new ãàרoogleTestãàmodule was added to provide the ãà×Ètest_add_tests()ãàfunction independently of the ãàקindGTestãàmodule. The function was also updated to support keyword arguments, with functionality expanded to allow a test name prefix and suffix to be specified, the dependency on the source files to be optional and the list of discovered test cases to be returned to the caller. * The ãàׯinjaãàgenerator has loosened the dependencies of object compilation. Object compilation now depends only on custom targets and custom commands associated with libraries on which the objectãàÑÔ target depends and no longer depends on the libraries themselves. Source files in dependent targets may now compile without waiting for their targetsãàdependencies to link. * Interprocedural optimization (IPO) is now supported for GNU and Clang compilers using link time optimization (LTO) flags. See the ãàתNTERPROCEDURAL_OPTIMIZATIONãàtarget property and ãàפheckIPOSupportedãàmodule. * The ãà×µARGET_OBJECTSãàãà×Èenerator expressionãàis now supported by the ãà×Âdd_custom_command()ãàand ãà×Çile(GENERATE)ãàcommands.
Revision 1.10 / (download) - annotate - [selected], Thu Jun 1 20:47:25 2017 UTC (6 years, 10 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2017Q2-base,
pkgsrc-2017Q2
Changes since 1.9: +2 -2
lines
Diff to previous 1.9 (colored)
Changes in 3.8.2 since 3.8.1: * bootstrap: fix build on mingw-w64 * cmFileCommand: Fix build on mingw-w64 * GNUtoMS: Add search path for VS 2015 environment scripts * GNUtoMS: Add search path for VS 2017 environment scripts * FindDevIL: Restore IL_FOUND result variable * FindOpenSSL: Restore support for crypto-only result * source_group: Restore TREE support for relative paths * VS: Fix debugging of C++ executables if CSharp is enabled
Revision 1.9 / (download) - annotate - [select for diffs], Wed May 3 09:33:06 2017 UTC (6 years, 11 months ago) by adam
Branch: MAIN
Changes since 1.8: +2 -3
lines
Diff to previous 1.8 (colored) to selected 1.10 (colored)
Changes in 3.8.1 since 3.8.0: * FindOpenSSL: Add more library name alternatives * FindBoost: Restore tolerance of backslashes in paths * Tests: Fix FindModulesExecuteAll when KDE4 is installed * Tests: Simplify CMakeOnly.AllFindModules policy settings * FindBoost: Fix library directory for VS 2017 * CPack/RPM doc: CPACK_RPM_BUILDREQUIRES docs * source_group: Fix TREE with root that is not current source dir * FindMatlab: Add support for Matlab 2017a * VS: Fix project reference inspection in VS IDE * FindBoost: Allow testing for multiple compiler suffixes * FindBoost: Support prebuilt Windows binaries from SourceForge * VS2017: Verify Windows 8.1 SDK before using it
Revision 1.8 / (download) - annotate - [select for diffs], Wed Apr 26 18:19:31 2017 UTC (6 years, 11 months ago) by maya
Branch: MAIN
Changes since 1.7: +2 -1
lines
Diff to previous 1.7 (colored) to selected 1.10 (colored)
cmake: revise netbsd-6 build fix patch as suggested by Brad King TagRunPath = 0 may cause client code such as cmSystemTools::RemoveRPath to misbehave. Define DT_RUNPATH to the expected value (29) instead. bump pkgrevision
Revision 1.7 / (download) - annotate - [select for diffs], Tue Apr 11 20:18:54 2017 UTC (7 years ago) by adam
Branch: MAIN
Changes since 1.6: +2 -2
lines
Diff to previous 1.6 (colored) to selected 1.10 (colored)
Changes 3.8.0: CMake learned to support CSharp (C#) as a first-class language that can be enabled via the project() and enable_language() commands. It is currently supported by the Visual Studio Generators for VS 2010 and above. C# assemblies and programs can be added just like common C++ targets using the add_library() and add_executable() commands. References between C# targets in the same source tree may be specified by target_link_libraries() like for C++. References to system or 3rd-party assemblies may be specified by the target properties VS_DOTNET_REFERENCE_<refname> and VS_DOTNET_REFERENCES. More fine tuning of C# targets may be done using target and source file properties. Specifically the target properties related to Visual Studio (VS_*) are worth a look (for setting toolset versions, root namespaces, assembly icons, ...). CMake learned to support CUDA as a first-class language that can be enabled via the project() and enable_language() commands. CUDA is currently supported by the Makefile Generators and the Ninja generator on Linux, macOS, and Windows. Support for the Visual Studio IDE is under development but not included in this release. The NVIDIA CUDA Toolkit compiler (nvcc) is supported. The Compile Features functionality now offers meta-features that request compiler modes for specific language standard levels (e.g. cxx_std_11). See CMAKE_C_KNOWN_FEATURES and CMAKE_CXX_KNOWN_FEATURES. The Compile Features functionality is now aware of C++ 17. No specific features are yet enumerated besides the cxx_std_17 meta-feature. The Compile Features functionality is now aware of the availability of C99 in gcc since version 3.4. A new minimal platform file for Fuchsia was added. The CodeBlocks extra generator may now be used to generate with NMake Makefiles JOM. The Visual Studio Generators for VS 2013 and above learned to support a host=x64 option in the CMAKE_GENERATOR_TOOLSET value (e.g. via the cmake(1) -T option) to request use of a VS 64-bit toolchain on 64-bit hosts. The Visual Studio Generators learned to treat files passed to target_link_libraries() whose names end in .targets as MSBuild ãà×Õargetsãàfiles to be imported into generated project files. ...more...
Revision 1.6 / (download) - annotate - [select for diffs], Mon Jan 16 08:49:42 2017 UTC (7 years, 3 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2017Q1-base,
pkgsrc-2017Q1
Changes since 1.5: +2 -2
lines
Diff to previous 1.5 (colored) to selected 1.10 (colored)
Changes 3.7.2: Bug fixes.
Revision 1.5 / (download) - annotate - [select for diffs], Sun Dec 4 08:52:56 2016 UTC (7 years, 4 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2016Q4-base,
pkgsrc-2016Q4
Changes since 1.4: +2 -2
lines
Diff to previous 1.4 (colored) to selected 1.10 (colored)
Changes 3.7.1: Unknown
Revision 1.4 / (download) - annotate - [select for diffs], Sat Nov 12 07:49:18 2016 UTC (7 years, 5 months ago) by adam
Branch: MAIN
Changes since 1.3: +2 -2
lines
Diff to previous 1.3 (colored) to selected 1.10 (colored)
Some of the more significant changes in CMake 3.7 are: CMake now supports Cross Compiling for Android with simple toolchain files. The ãàׯinjaãàgenerator learned to conditionally support Fortran when using a ãà×Ïinjaãàtool that has the necessary features. See generator documentation for details. The ãà×Êf()ãàcommand gained new boolean comparison operations ãà×ESS_EQUALãà ãàרREATER_EQUALãà ãà×´TRLESS_EQUALãà ãà×´TRGREATER_EQUALãà ãà×·ERSION_LESS_EQUALãà and ãà×·ERSION_GREATER_EQUALãà The ãà×Õry_compile()ãàcommand source file signature now honors configuration-specific flags (e.g. ãàפMAKE_<LANG>_FLAGS_DEBUGãà in the generated test project. Previously only the default such flags for the current toolchain were used. See policy ãàפMP0066ãà ãà×µoolchain filesãàmay now set ãàפMAKE_EXE_LINKER_FLAGS_INITãà ãàפMAKE_SHARED_LINKER_FLAGS_INITãà and ãàפMAKE_MODULE_LINKER_FLAGS_INITãàvariables to initialize the ãàפMAKE_EXE_LINKER_FLAGSãà ãàפMAKE_SHARED_LINKER_FLAGSãà and ãàפMAKE_MODULE_LINKER_FLAGSãàcache entries the first time a language is enabled in a build tree. CTest now supports test fixtures through the new ãàקIXTURES_SETUPãà ãàקIXTURES_CLEANUPãàand ãàקIXTURES_REQUIREDãàtest properties. When using regular expressions or ãàØärerun-failedãàto limit the tests to be run, a fixtureãàÑÔ setup and cleanup tests will automatically be added to the execution set if any test requires that fixture. We no longer provide Linux i386 binaries for download from ãà×Ämake.orgãàfor new versions of CMake. Vim support files ãà×Ämake-indent.vimãà ãà×Ämake-syntax.vimãà and ãà×Ämake-help.vimãàhave been removed in favor of the files now provided from the vim-cmake-syntax project. Support for building CMake itself with some compilers was dropped: Visual Studio 7.1 and 2005 ãàsuperseded by VS 2008 and above MinGW.org mingw32 ãàsuperseded by MSYS2 mingw32 and mingw64 CMake still supports generating build systems for other projects using these compilers.
Revision 1.3 / (download) - annotate - [select for diffs], Fri Nov 4 20:41:09 2016 UTC (7 years, 5 months ago) by adam
Branch: MAIN
Changes since 1.2: +2 -2
lines
Diff to previous 1.2 (colored) to selected 1.10 (colored)
Changes in 3.6.3 since 3.6.2: FindHDF5: Restore pre-3.6 behavior of finding only C by default CMake 3.6.3 cmake-gui: Do not remove library paths for Qt5 plugins.
Revision 1.2 / (download) - annotate - [select for diffs], Mon Sep 12 17:22:45 2016 UTC (7 years, 7 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2016Q3-base,
pkgsrc-2016Q3
Changes since 1.1: +2 -2
lines
Diff to previous 1.1 (colored) to selected 1.10 (colored)
Changes in 3.6.2 since 3.6.1: Ben Boeckel (3): Intel-C: declare support for gnu11 Intel-C: support gnu89 and gnu99 extension flags Intel-C: standard flags are also supported in 12.0 Brad King (11): Add script to update curl from upstream curl: Update script to get curl 7.50.1 curl: Remove CMake-specific README VS: Fix VS 2015 .vcxproj debug setting for Windows7.1SDK toolset GetPrerequisites: Fix regression in gp_resolved_file_type Fortran: Fix .mod file comparison for Intel 16 format VS: Fix VS 2015 .vcxproj debug setting for v80 toolset FindHDF5: Fix regression in providing HDF5_IS_PARALLEL FindHDF5: Fix regression in finding hdf5hl_fortran curl: Backport certificate reuse fix from 7.50.2 CMake 3.6.2 Chuck Atkins (2): FindHDF5: Make sure compile definition vars keep the -D flag CrayLinuxEnvironment: Add alternative methods to get version info Curl Upstream (2): curl 2015-08-11 (1a7f66a3) curl 2016-08-03 (f2cb3a01) Fujii Hironori (1): VS: Fix out-of-bounds write on empty Nsight Tegra version Konstantin Sinitsyn (1): FindProtobuf: Restore support for PROTOBUF_IMPORT_DIRS
Revision 1.1 / (download) - annotate - [select for diffs], Thu Jul 28 17:44:43 2016 UTC (7 years, 8 months ago) by prlw1
Branch: MAIN
Diff to selected 1.10 (colored)
Update cmake to 3.6.1 CMake 3.6 Release Notes *********************** Changes made since CMake 3.5 include the following. New Features ============ Generators ---------- * The :generator:`Ninja` generator learned to produce phony targets of the form ``sub/dir/all`` to drive the build of a subdirectory. This is equivalent to ``cd sub/dir; make all`` with :ref:`Makefile Generators`. * The :generator:`Ninja` generator now includes system header files in build dependencies to ensure correct re-builds when system packages are updated. * The :generator:`Visual Studio 14 2015` generator learned to support the Clang/C2 toolsets, e.g. with the ``-T v140_clang_3_7`` option. This feature is experimental. Commands -------- * The :command:`add_custom_command` and :command:`add_custom_target` commands learned how to use the :prop_tgt:`CROSSCOMPILING_EMULATOR` executable target property. * The :command:`install` command learned a new ``EXCLUDE_FROM_ALL`` option to leave installation rules out of the default installation. * The :command:`list` command gained a ``FILTER`` sub-command to filter list elements by regular expression. * The :command:`string(TIMESTAMP)` and :command:`file(TIMESTAMP)` commands gained support for the ``%s`` placeholder. This is the number of seconds since the UNIX Epoch. Variables --------- * A :variable:`CMAKE_DEPENDS_IN_PROJECT_ONLY` variable was introduced to tell :ref:`Makefile Generators` to limit dependency scanning only to files in the project source and build trees. * A new :variable:`CMAKE_HOST_SOLARIS` variable was introduced to indicate when CMake is running on an Oracle Solaris host. * A :variable:`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable was added for use by toolchain files to specify system include directories to be appended to all compiler command lines. * The :variable:`CMAKE_<LANG>_STANDARD_LIBRARIES` variable is now documented. It is intended for use by toolchain files to specify system libraries to be added to all linker command lines. * A :variable:`CMAKE_NINJA_OUTPUT_PATH_PREFIX` variable was introduced to tell the :generator:`Ninja` generator to configure the generated ``build.ninja`` file for use as a ``subninja``. * A :variable:`CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` variable was added for use by toolchain files to specify platform-specific variables that must be propagated by the :command:`try_compile` command into test projects. * A :variable:`CMAKE_TRY_COMPILE_TARGET_TYPE` variable was added to optionally tell the :command:`try_compile` command to build a static library instead of an executable. This is useful for cross-compiling toolchains that cannot link binaries without custom flags or scripts. Properties ---------- * A :prop_tgt:`DEPLOYMENT_REMOTE_DIRECTORY` target property was introduced to tell the :generator:`Visual Studio 9 2008` and :generator:`Visual Studio 8 2005` generators to generate the "remote directory" for WinCE project deployment and debugger settings. * A :prop_tgt:`<LANG>_CLANG_TIDY` target property and supporting :variable:`CMAKE_<LANG>_CLANG_TIDY` variable were introduced to tell the :ref:`Makefile Generators` and the :generator:`Ninja` generator to run ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages. * A :prop_test:`TIMEOUT_AFTER_MATCH` test property was introduced to optionally tell CTest to enforce a secondary timeout after matching certain output from a test. * A :prop_tgt:`VS_CONFIGURATION_TYPE` target property was introduced to specify a custom project file type for :ref:`Visual Studio Generators` supporting VS 2010 and above. * A :prop_dir:`VS_STARTUP_PROJECT` directory property was introduced to specify for :ref:`Visual Studio Generators` the default startup project for generated solutions (``.sln`` files). Modules ------- * The :module:`CMakePushCheckState` module now pushes/pops/resets the variable ``CMAKE_EXTRA_INCLUDE_FILE`` used in :module:`CheckTypeSize`. * The :module:`ExternalProject` module leared the ``GIT_SHALLOW 1`` option to perform a shallow clone of a Git repository. * The :module:`ExternalProject` module learned to initialize Git submodules recursively and also to initialize new submodules on updates. Use the ``GIT_SUBMODULES`` option to restrict which submodules are initalized and updated. * The :module:`ExternalProject` module leared the ``DOWNLOAD_NO_EXTRACT 1`` argument to skip extracting the file that is downloaded (e.g., for self-extracting shell installers or ``.msi`` files). * The :module:`ExternalProject` module now uses ``TLS_VERIFY`` when fetching from git repositories. * The :module:`FindBLAS` and :module:`FindLAPACK` modules learned to support `OpenBLAS <http://www.openblas.net>`__. * The :module:`FindCUDA` module learned to find the ``cublas_device`` library. * The :module:`FindGTest` module ``gtest_add_tests`` function now causes CMake to automatically re-run when test sources change so that they can be re-scanned. * The :module:`FindLTTngUST` module was introduced to find the LTTng-UST library. * The :module:`FindPkgConfig` module learned to optionally create imported targets for the libraries it has found. * The :module:`FindProtobuf` module learned to provide a ``Protobuf_VERSION`` variable and check the version number requested in a :command:`find_package` call. * The :module:`InstallRequiredSystemLibraries` module learned a new ``CMAKE_INSTALL_UCRT_LIBRARIES`` option to enable app-local deployment of the Windows Universal CRT libraries with Visual Studio 2015. Platforms --------- * The Clang compiler is now supported on CYGWIN. * Support was added for the Bruce C Compiler with compiler id ``Bruce``. CTest ----- * The :command:`ctest_update` command now looks at the :variable:`CTEST_GIT_INIT_SUBMODULES` variable to determine whether submodules should be updated or not before updating. * The :command:`ctest_update` command will now synchronize submodules on an update. Updates which add submodules or change a submodule's URL will now be pulled properly. CPack ----- * The :module:`CPackDeb` module learned how to handle ``$ORIGIN`` in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` is used for dependency auto detection. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs`` contorl file when package contains shared libraries. * The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``). * The :module:`CPackDeb` module learned how to generate dependencies between Debian packages if multi-component setup is used and :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set. For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`. * The :module:`CPackDeb` module learned how to set custom package file names including how to generate properly-named Debian packages:: <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb For backward compatibility this feature is disabled by default. See :variable:`CPACK_DEBIAN_FILE_NAME` and :variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`. * The :module:`CPackDeb` module learned how to set the package release number (``DebianRevisionNumber`` in package file name when used in combination with ``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`. * The :module:`CPackDeb` module learned how to set the package architecture per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`. * The :module:`CPackDMG` module learned a new option to tell the CPack ``DragNDrop`` generaor to skip the ``/Applications`` symlink. See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable. * The :module:`CPackIFW` module gained a new :command:`cpack_ifw_update_repository` command to update a QtIFW-specific repository from a remote repository. * The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for e.g. on Fedora). See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`. * The :module:`CPackRPM` module learned how to set default values for owning user/group and file/directory permissions of package content. See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`, :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`, :variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component counterparts. * The :module:`CPackRPM` module learned how to set user defined package file names, how to specify that rpmbuild should decide on file name format as well as handling of multiple rpm packages generated by a single user defined spec file. See :variable:`CPACK_RPM_PACKAGE_NAME` and :variable:`CPACK_RPM_<component>_PACKAGE_NAME`. * The :module:`CPackRPM` module learned how to correctly handle symlinks that are pointing outside generated packages. Other ----- * The :manual:`Compile Features <cmake-compile-features(7)>` functionality is now aware of features supported by Intel C++ compilers versions 12.1 through 16.0 on UNIX platforms. Deprecated and Removed Features =============================== * The :module:`CMakeForceCompiler` module and its macros are now deprecated. See module documentation for an explanation. * The :command:`find_library`, :command:`find_path`, and :command:`find_file` commands no longer search in installation prefixes derived from the ``PATH`` environment variable on non-Windows platforms. This behavior was added in CMake 3.3 to support Windows hosts but has proven problematic on UNIX hosts. Users that keep some ``<prefix>/bin`` directories in the ``PATH`` just for their tools do not necessarily want any supporting ``<prefix>/lib`` directories searched. One may set the ``CMAKE_PREFIX_PATH`` environment variable with a :ref:`;-list <CMake Language Lists>` of prefixes that are to be searched. * The :generator:`Visual Studio 7 .NET 2003` generator is now deprecated and will be removed in a future version of CMake. * The :generator:`Visual Studio 7` generator (for VS .NET 2002) has been removed. It had been deprecated since CMake 3.3. * The :generator:`Visual Studio 6` generator has been removed. It had been deprecated since CMake 3.3. Other Changes ============= * The precompiled OS X binary provided on ``cmake.org`` now requires OS X 10.7 or newer. * On Linux and FreeBSD platforms, when building CMake itself from source and not using a system-provided libcurl, OpenSSL is now used by default if it is found on the system. This enables SSL/TLS support for commands supporting network communication via ``https``, such as :command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and :command:`ctest_submit`. * The :manual:`cmake(1)` ``--build`` command-line tool now rejects multiple ``--target`` options with an error instead of silently ignoring all but the last one. * :prop_tgt:`AUTOMOC` now diagnoses name collisions when multiple source files in different directories use ``#include <moc_foo.cpp>`` with the same name (because the generated ``moc_foo.cpp`` files would collide). * The :module:`FindBISON` module ``BISON_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindFLEX` module ``FLEX_TARGET`` macro now supports special characters by passing the ``VERBATIM`` option to internal :command:`add_custom_command` calls. This may break clients that added escaping manually to work around the bug. * The :module:`FindProtobuf` module input and output variables were all renamed from ``PROTOBUF_`` to ``Protobuf_`` for consistency with other find modules. Input variables of the old case will be honored if provided, and output variables of the old case are always provided. * The :module:`CPackRPM` module now supports upper cased component names in per component CPackRPM specific variables. E.g. component named ``foo`` now expects component specific variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before it expected ``CPACK_RPM_foo_PACKAGE_NAME``. Upper cased component name part in variables is compatible with convention used for other CPack variables. For back compatibility old format of variables is still valid and preferred if both versions of variable are set, but the preferred future use is upper cased component names in variables. New variables that will be added to CPackRPM in later versions will only support upper cased component variable format. * The CPack NSIS generator's configuration file template was fixed to quote the path to the uninstaller tool used by the :variable:`CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL` option. This avoids depending on an insecure Windows feature to run an uninstaller tool with a space in the path.