--- - branch: MAIN date: Thu Jul 29 11:37:40 UTC 2021 files: - new: '1.66' old: '1.65' path: pkgsrc/devel/cmake/PLIST pathrev: pkgsrc/devel/cmake/PLIST@1.66 type: modified - new: '1.182' old: '1.181' path: pkgsrc/devel/cmake/distinfo pathrev: pkgsrc/devel/cmake/distinfo@1.182 type: modified - new: '1.18' old: '1.17' path: pkgsrc/devel/cmake/version.mk pathrev: pkgsrc/devel/cmake/version.mk@1.18 type: modified id: 20210729T113740Z.ece4e1b891b2c77b09a7374a61d598669514ab9f log: | cmake: updated to 3.21.1 CMake 3.21.1 AUTOUIC: Fix cyclic dependency between generated UI headers and timestamp AUTOUIC: Fix generating of dependency rules for UI header files ci: use CMake 3.21.0 Help/ctest_memcheck: mention `ctest_test` arguments TestDriver: suppress deprecated header lints for time.h TestDriver: use `CM_NULL` to avoid lints about `nullptr` usage Help/ctest_test: add a comment to also update `ctest_memcheck` enable_language: Fix test for working compiler with CMP0126 NEW behavior VS: Recognize CSharp VS 2019 compiler version v142 VS: Improve v142 CL flag table LanguageStandard ordering VS: Add CSharp VS 2022 compiler version and flag table v143 VS: Add v143 flag tables for VS 17.0 Preview 2 VS: Fix `/MANIFESTUAC:` link flag mapping for v143 VS: Map the link `/debug` flag for v143 VS: Remove the /MERGE flag from v143 link flag table VS: Fix `/analyze:log` flag mapping for v143 VS: Add `-Zc:inline[-]` flag table entry for v143 VS: Populate `/Y-` flag table entry for v143 VS: Populate `-Qspectre-` flag table entry for v143 VS: Populate `/JMC-` flag table entry for v143 VS: Remove empty ConformanceMode entry from flag table for v143 VS: Remove empty LanguageStandard entries from flag table for v143 VS: Remove empty ExternalWarningLevel entry from flag table for v143 VS: Remove broken EnableASAN entry from flag table for v143 VS: Fix `/sourceDependencies` flag table entries for v143 VS: Update Visual Studio 17 2022 generator for Preview 2 CMakeDetermineCompilerId: Fix CMAKE_EXECUTABLE_FORMAT in CMP0126 NEW behavior try_compile: Propagate CMP0126 to the generated test project CMakeDependentOption: Revert "Allow parentheses in the depends string" cmMessenger: Revert to non-color messages on Windows cmGeneratorExpressionNode: Factor out local variable for global generator Swift: Update test case to try CMP0126 NEW behavior Ninja Multi-Config: Restore TARGET_OBJECTS support in cross-configs VS: Remove cl /FS entry from flag table for v142 and v143 VS: Remove C++ module CompileAs flag table entries for v142 and v143 Help: Clarify wording of CMP0124 Help: Explain policy CMP0125 in more detail Help: Make policy CMP0126 wording more accurate Help: Fix trivial typo Help: Clarify which project() call PROJECT_IS_TOP_LEVEL is for Help: Re-order file() sub-commands in Filesystem section Help: Expand details for file(COPY_FILE) Help: Clarify and correct wording around DEPFILE option Help: Improve wording and cross-referencing for ctest JUnit output Help: Add cross-references between test output size ctest variables IAR: Moved search logic to BinUtils. AutoGen: Fix needless compilation of mocs_compilation.cpp KWSys 2021-07-26 (d5fd6ca2) CMakePresets.json: Fix expansion issue with empty binaryDir Tests: Clean up Ninja Multi-Config test from cb777dd Compiler/IAR: search for both IAR's binaries * and *.exe Compiler/IAR: Avoid clobbering CMAKE_EXECUTABLE_SUFFIX Help: Document CMAKE_EXECUTABLE_SUFFIX_ explicitly libuv: Fix building with mingw toolchains for ARM/AArch64 GNU: Correct C23 flags FindXCTest: Fix output directory for test bundle with Xcode 12.5 Tests/CompileOptions: allow CMAKE_BUILD_TYPE=None Add option to explicitly avoid using execinfo for backtraces CMake 3.21 Release Notes ************************ Changes made since CMake 3.20 include the following. New Features ============ Presets ------- * "cmake-presets(7)" gained support for specifying the install prefix in a configure preset. * "cmake-presets(7)" gained support for conditional enabling of presets. * "cmake-presets(7)" gained support for a "${hostSystemName}" macro. * "cmake-presets(7)" gained support for omitting the "generator" and "binaryDir" fields. Generators ---------- * The Makefile Generators and the "Ninja" generator learned to add linker launcher tools along with the linker for "C", "CXX", "OBJC", and "OBJCXX" languages. See the "CMAKE__LINKER_LAUNCHER" variable and "_LINKER_LAUNCHER" target property for details. * The "Visual Studio 17 2022" generator was added. This is experimental and based on "Visual Studio 2022 Preview 1.1" because this version of VS has not been released. Languages --------- * CMake learned to support "HIP" as a first-class language that can be enabled via the "project()" and "enable_language()" commands. * "C_STANDARD", "OBJC_STANDARD", and the "Compile Features" functionality gained support for C17 and C23. * Source file extensions ".ixx" and ".cppm" are now treated as C++. Command-Line ------------ * "cmake(1)" gained the "--install-prefix " command-line option to specify the location of the install prefix. * "cmake(1)" gained the "--toolchain " command-line option to specify a toolchain file. * "cmake(1)" "-E capabilities" output, for some generators, may now contain a "supportedPlatforms" field listing platforms known to be supported in "CMAKE_GENERATOR_PLATFORM". * Messages printed to a terminal now may be colored by message type. Compilers --------- * The Fujitsu compiler is now supported using compiler id "Fujitsu" in traditional ("Trad") mode, and compiler id "FujitsuClang" in "Clang" mode. Platforms --------- * CMake now supports the MSYS runtime environment, much like CYGWIN. File-Based API -------------- * The "cmake-file-api(7)" "codemodel" version 2 "version" field has been updated to 2.3. * The "cmake-file-api(7)" "codemodel" version 2 gained a new "directory" object containing directory-level information. This includes a list of installers generated by the "install()" command. Commands -------- * The "add_custom_command()" command "DEPFILE" option may now use "generator expressions", is now supported by Visual Studio Generators for VS 2012 and above, and is now supported by the "Xcode" generator. * The "add_custom_command(TARGET)" command (for Build Events) gained support for resolving target-dependent generator expressions. * The "build_command()" command gained a "PARALLEL_LEVEL" option. * The "file(COPY_FILE)" command was added to copy a single file. * The "file(GET_RUNTIME_DEPENDENCIES)" command gained new "POST_INCLUDE_FILES" and "POST_EXCLUDE_FILES" arguments. * The "file(REAL_PATH)" command gained the option "EXPAND_TILDE" to replace any leading tilde with the path to the user's home directory. * The "file(RENAME)" command learned to optionally capture failure in a result variable. It also gained a "NO_REPLACE" option to fail if the destination exists. * The "install()" command gained a new "IMPORTED_RUNTIME_ARTIFACTS" mode, which can be used to install the runtime artifacts of imported targets. * The "install()" command gained a new "RUNTIME_DEPENDENCY_SET" mode, which can be used to install runtime dependencies using "file(GET_RUNTIME_DEPENDENCIES)". * The "install(TARGETS)" command gained new "RUNTIME_DEPENDENCIES" and "RUNTIME_DEPENDENCY_SET" arguments, which can be used to install runtime dependencies using "file(GET_RUNTIME_DEPENDENCIES)". * The "install(SCRIPT|CODE)" command supports a new option "ALL_COMPONENTS" which allows the corresponding code to run for every component of a per component installation. * The "project()" command now sets variables "PROJECT_IS_TOP_LEVEL" and "_IS_TOP_LEVEL" to indicate whether it was called in a top-level "CMakeLists.txt" file. Variables --------- * The "CMAKE_TOOLCHAIN_FILE" environment variable was added to provide a default value for the "CMAKE_TOOLCHAIN_FILE" variable. Properties ---------- * The "IMPORTED_TARGETS" directory property was added to get a list of Imported Targets created in the current directory. * The "XCODE_EMBED_APP_EXTENSIONS" target property was added to tell the "Xcode" generator to embed app extensions such as iMessage sticker packs. Aspects of the embedding can be customized with the "XCODE_EMBED_APP_EXTENSIONS_PATH", "XCODE_EMBED_APP_EXTENSIONS_CODE_SIGN_ON_COPY" and "XCODE_EMBED_APP_EXTENSIONS_REMOVE_HEADERS_ON_COPY" properties. Modules ------- * The "FindBLAS" and "FindLAPACK" modules learned to support the serial "Fujitsu_SSL2" and parallel "Fujitsu_SSL2BLAMP" libraries. * The "FindDevIL" module now provides imported targets. * The "FindIconv" module now has version support. * The "FindIntl" module now has version support. * The "FindMPI" module learned to support "Fujitsu" and "FujitsuClang" in both host and cross compiling modes. * The "FindMsys" module was added to find MSYS installations. Like "FindCygwin", it is used automatically by some other find modules to locate UNIX-style tools on Windows. * The "FindOpenMP" module learned to support "Fujitsu" and "FujitsuClang". * The "FindVulkan" module gained imported targets "Vulkan::Headers" and "Vulkan::glslangValidator". * The "UseJava" module command "add_jar" gained a "RESOURCES" option to allow explicit naming of resources with non-optional namespace. * The "UseSWIG" module use now standard library naming conventions for the "CSharp" language. See policy "CMP0122". * The "UseSWIG" module now supports using the "swig" tool to generate implicit dependencies with the "Xcode" generator. Generator Expressions --------------------- * A new "TARGET_RUNTIME_DLLS" generator expression was added. CTest ----- * "ctest(1)" gained documentation for its ability to capture Additional Test Measurements. * "ctest(1)" learned to recognize files attached to a test at run time. Previously it was only possible to attach files to tests at configure time by using the "ATTACHED_FILES" or "ATTACHED_FILES_ON_FAIL" test properties. See Additional Test Measurements for more information. * "ctest(1)" gained a "--output-junit" option to write test results to a JUnit XML file. * The "ctest_build()" command gained a "PARALLEL_LEVEL" option. CPack ----- * The "CPack DragNDrop Generator" gained option "CPACK_DMG_FILESYSTEM" to control the ".dmg" filesystem. * The "CPack IFW Generator" now supports hyphens in names given to "cpack_ifw_configure_component()" or "cpack_ifw_configure_component_group()" as "DEPENDS" or "DEPENDENCIES" arguments. This requires QtIFW 3.1 or later. * The "CPack NSIS Generator" gained a new "CPACK_NSIS_EXECUTABLE" variable to specify the "makensis" executable to use instead of the default one. * The "CPACK_CUSTOM_INSTALL_VARIABLES" variable was added to set variables in "cmake_install.cmake" script invocations made by CPack. Deprecated and Removed Features =============================== * Undocumented "CMAKE_SYSTEM_NAME" version-stripping behavior has been removed entirely. If it is set by a "-D" flag or by a "toolchain file", it is left unaltered, even if it still contains a version number. Similar "CMAKE_HOST_SYSTEM_NAME" version-stripping behavior, also undocumented, has been moved earlier, before "project()" or "enable_language()" is called. * "ARMClang" cpu/arch compile and link flags are no longer added automatically based on the "CMAKE_SYSTEM_PROCESSOR" variable or the undocumented "CMAKE_SYSTEM_ARCH" variable. They must be specified explicitly. See policy "CMP0123". Other Changes ============= * The "find_file()", "find_path()", "find_program()", and "find_library()" commands handle cache variables in the same way regardless how they are defined. See policy "CMP0125" for details. * The "find_file()", "find_path()", "find_program()", and "find_library()" commands gained the option "NO_CACHE" to store find result in normal variable. * The "foreach()" command now isolates loop variables in the loop scope. See policy "CMP0124" for details. * The "list()" command's "GET", "INSERT", "SUBLIST", and "REMOVE_AT" subcommands now error with invalid (i.e., non-integer) values are given as any of their index arguments based on the setting of policy "CMP0121". * The "set(CACHE)" command no longer removes a normal variable of the same name, if any. See policy "CMP0126". * "target_link_libraries()" calls referencing object libraries via the "TARGET_OBJECTS" generator expression now place the object files before all libraries on the link line, regardless of their specified order. See documentation on Linking Object Libraries via $ for details. * The Ninja Generators now pass source files and include directories to the compiler using absolute paths. This makes diagnostic messages and debug symbols more consistent, and matches the Makefile Generators. * The "NMake Makefiles" generator now encodes the generated makefiles as UTF-8 with a BOM when using "nmake" from VS 9 or above. * The Visual Studio Generators for VS 2010 and above now place per- source preprocessor definitions after target-wide preprocssor definitions. This makes VS consistent with the Ninja Generators and the Makefile Generators. * The precompiled binaries provided on cmake.org now support "liblzma" multi-threading. See the "CPACK_THREADS" and "CPACK_ARCHIVE_THREADS" variables. module: pkgsrc subject: 'CVS commit: pkgsrc/devel/cmake' unixtime: '1627558660' user: adam