./devel/cmake, Cross platform make

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 3.31.1, Package name: cmake-3.31.1, Maintainer: pkgsrc-users

CMake is an extensible, open-source system that manages the build
process in an operating system and compiler independent manner. Unlike
many cross-platform systems, CMake is designed to be used in
conjunction with the native build environment. Simple configuration
files placed in each source directory (called CMakeLists.txt files)
are used to generate standard build files (e.g., makefiles on Unix and
projects/workspaces in Windows MSVC) which are used in the usual
way. CMake can compile source code, create libraries, generate
wrappers, and build executables in arbitrary combinations. CMake
supports in-place and out-of-place builds, and can therefore support
multiple builds from a single source tree. CMake also supports static
and dynamic library builds. Another nice feature of CMake is that it
generates a cache file that is designed to be used with a graphical
editor. For example, when CMake runs, it locates include files,
libraries, and executable, and may encounter optional build
directives. This information is gathered into the cache, which may be
changed by the user prior to the generation of the native build files.


Required to run:
[www/curl] [archivers/libarchive] [devel/libuv]

Required to build:
[misc/rhash] [pkgtools/cwrappers]

Master sites:

Filesize: 11430.099 KB

Version history: (Expand)


CVS history: (Expand)


   2024-12-11 14:44:31 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
cmake: downgraded to 3.31.1 for the sake of 1 December
   2024-12-11 12:34:32 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
cmake cmake-gui: updated to 3.31.2

CMake 3.31.2
* AIX: Disallow TARGET_SONAME_* genex for AIX_SHARED_LIBRARY_ARCHIVE targets
* AIX: Propagate AIX_SHARED_LIBRARY_ARCHIVE through exports
* GNU linker: Use single-argument form of --dependency-file flag
* fileapi: Do not expose flags for linker-generated dependencies
* LINK_OPTIONS: Fix crash on empty LINKER: prefix
* ci: Update to ROCm 6 HIP on Fedora 41
* Tutorial: Restore TODO 4 comment in step 7
* Intel/Classic: deactivate linker dependency file support
* FindPython: Ensure SABIModule is found in all cases
* Autogen: Restore <target_name>_autogen_timestamp_deps target
* Autogen: Fix Ninja Multi-Config dependency graph regression
* Autogen: Revert adding ui files to byproducts of the timestamp target
* FindRuby: Add support for 3.4
   2024-11-27 08:02:35 by Adam Ciarcinski | Files touched by this commit (5) | Package updated
Log message:
cmake cmake-gui: updated to 3.31.1

3.31.1
This version made no changes to documented features or interfaces. Some
implementation updates were made to support ecosystem changes and/or fix
regressions.
   2024-11-14 23:22:33 by Thomas Klausner | Files touched by this commit (2429)
Log message:
*: recursive bump for icu 76 shlib major version bump
   2024-11-10 20:58:31 by Adam Ciarcinski | Files touched by this commit (8) | Package updated
Log message:
cmake cmake-gui: updated to 3.31.0

CMake 3.31 Release Notes
************************

Changes made since CMake 3.30 include the following.

New Features
============

Presets
-------

* "cmake-presets(7)" files may now include comments using the key
  "$comment" at any level within the JSON object to provide
  documentation.

* "cmake-presets(7)" files may now request graphviz output using the
  "graphviz" key in a configure preset.

Generators
----------

* The Ninja Generators and Makefile Generators now produce a "codegen"
  build target.  See policy "CMP0171".  It drives a subset of the
  build graph sufficient to run custom commands created with
  "add_custom_command()"'s new "CODEGEN" option.

Command-Line
------------

* The "cmake --workflow" mode now accepts a preset name as the first
  argument, allowing the simpler command line "cmake --workflow
  <preset>".

* The "cmake -LR[A][H]" option was added to list cache entries whose
  names match a regular expression.

Compilers
---------

* The LFortran compiler is now supported with "compiler id"
  "LFortran".

Commands
--------

* The "add_custom_command()" command gained a "CODEGEN" \ 
option to mark
  a custom command's outputs as dependencies of a "codegen" target.
  See policy "CMP0171".

* The "cmake_pkg_config()" command was added as an endpoint for using
  CMake's native pkg-config format parser. The only supported option
  in this release is "EXTRACT", which provides low-level access to the
  values produced by parsing a pkg-config file. For most users, this
  is not yet a suitable replacement for the "FindPkgConfig" module.

* The "file(ARCHIVE_CREATE)" command gained a "WORKING_DIRECTORY"
  option to specify a working directory for the archiving process.

* The "file(MAKE_DIRECTORY)" command gained a "RESULT" option to
  capture failure in a result variable.

* The "install(FILES)" and "install(DIRECTORY)" commands' \ 
"TYPE"
  argument gained support for a "LIBEXEC" type.

Variables
---------

* The "CMAKE_AIX_SHARED_LIBRARY_ARCHIVE" variable and corresponding
  "AIX_SHARED_LIBRARY_ARCHIVE" target property were added to create
  shared libraries on AIX as shared library archives.

* The "CMAKE_EXPORT_BUILD_DATABASE" variable, a corresponding
  "CMAKE_EXPORT_BUILD_DATABASE" environment variable, and an
  "EXPORT_BUILD_DATABASE" target property, were added to enable
  exporting C++ module compile commands. This is only supported with
  Ninja Generators.

* The "CMAKE_HOST_EXECUTABLE_SUFFIX" variable was added to provide the
  suffix for executable names on the host platform.

* The "CMAKE_<LANG>_HOST_COMPILER_ID" and
  "CMAKE_<LANG>_HOST_COMPILER_VERSION" variables were added, where
  "<LANG>" is either "CUDA" or "HIP".  They \ 
are populated when
  "CMAKE_<LANG>_COMPILER_ID" is "NVIDIA" to identify \ 
NVCC's host
  compiler.

* The "CMAKE_<LANG>_STANDARD_LINK_DIRECTORIES" variable was added.
  Toolchain files can set this variable to control which link library
  directory paths are always passed to the compiler for the specified
  language.

* The "CMAKE_LINK_LIBRARIES_STRATEGY" variable and corresponding
  "LINK_LIBRARIES_STRATEGY" target property were added to optionally
  specify the strategy CMake uses to generate link lines.

Properties
----------

* The "MACOSX_FRAMEWORK_BUNDLE_NAME" target property was added to set
  the "CFBundleName" key in an Apple "FRAMEWORK"'s \ 
"Info.plist" file.

* The "UNITY_BUILD" target property now supports the "CUDA" \ 
language.

* The "VS_FRAMEWORK_REFERENCES" target property was added to tell
  Visual Studio Generators to add framework references.

Modules
-------

* Check modules now support a "CMAKE_REQUIRED_LINK_DIRECTORIES"
  variable. The following modules gained this support:

  * "CMakePushCheckState"

  * "CheckCCompilerFlag"

  * "CheckCSourceCompiles"

  * "CheckCSourceRuns"

  * "CheckCXXCompilerFlag"

  * "CheckCXXSourceCompiles"

  * "CheckCXXSourceRuns"

  * "CheckCXXSymbolExists"

  * "CheckCompilerFlag"

  * "CheckFortranCompilerFlag"

  * "CheckFortranFunctionExists"

  * "CheckFortranSourceCompiles"

  * "CheckFortranSourceRuns"

  * "CheckFunctionExists"

  * "CheckIncludeFile"

  * "CheckIncludeFileCXX"

  * "CheckIncludeFiles"

  * "CheckOBJCCompilerFlag"

  * "CheckLibraryExists"

  * "CheckOBJCCompilerFlag"

  * "CheckOBJCSourceCompiles"

  * "CheckOBJCSourceRuns"

  * "CheckOBJCXXCompilerFlag"

  * "CheckOBJCXXSourceCompiles"

  * "CheckOBJCXXSourceRuns"

  * "CheckPrototypeDefinition"

  * "CheckSourceCompiles"

  * "CheckSourceRuns"

  * "CheckStructHasMember"

  * "CheckSymbolExists"

  * "CheckTypeSize"

  * "CheckVariableExists"

* The "CMakePackageConfigHelpers" module's
  "generate_apple_platform_selection_file()" function gained support
  for iOS Mac Catalyst.

* The "GoogleTest" module "gtest_discover_tests()" command \ 
gained a
  new "DISCOVERY_EXTRA_ARGS" keyword.  It allows extra arguments to be
  appended to the command line when querying for the list of tests.

* The "FindCUDAToolkit" module now provides a "CUDA::nvml_static"
  target.

* The "FindOpenMP" module gained support for the "CUDA" language.

CTest
-----

* The "ctest_submit()" command and "ctest -T Submit" step \ 
now verify
  TLS server certificates for connections to "https://" URLs by
  default.  See the "CTEST_TLS_VERIFY" variable for details.

* The "ctest_submit()" command and "ctest -T Submit" step \ 
now require
  TLS 1.2 or higher for connections to "https://" URLs by default.
  See the "CTEST_TLS_VERSION" variable for details.

CPack
-----

* The "CPack DEB Generator" gained a \ 
"CPACK_DEBIAN_PACKAGE_MULTIARCH"
  option to support multi-arch packages.

* The "CPack IFW Generator" gained the new
  "CPACK_IFW_PACKAGE_PRODUCT_IMAGE_URLS" variable to specify images
  associated with entries of "CPACK_IFW_PACKAGE_PRODUCT_IMAGES". This
  feature is available for QtIFW 4.0 and newer.

* The "CPack RPM Generator" gained support for "zstd" as a
  "CPACK_RPM_COMPRESSION_TYPE" value.

* The "CPack" module enables per-machine installation by default in
  the "CPack WIX Generator".  See policy "CMP0172" and the
  "CPACK_WIX_INSTALL_SCOPE" variable.

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

* Compatibility with versions of CMake older than 3.10 is now
  deprecated and will be removed from a future version.  Calls to
  "cmake_minimum_required()" or "cmake_policy()" that set \ 
the policy
  version to an older value now issue a deprecation diagnostic.

* The "CMakeFindFrameworks" module has been deprecated via \ 
"CMP0173".
  Projects should use "find_library()" instead.

* The "Visual Studio 12 2013" generator has been removed.

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

* When static libraries on link lines are de-duplicated (by policy
  "CMP0156"), the first occurrence is now kept on all platforms. See
  policy "CMP0179".

* Empty list elements in the "TEST_LAUNCHER" and
  "CROSSCOMPILING_EMULATOR" target properties are now preserved by:

  * The "add_test()" command.

  * The "ExternalData_Add_Test()" command from the "ExternalData"
    module.

  * The "gtest_add_tests()" and "gtest_discover_tests()" \ 
commands from
    the "GoogleTest" module. Empty list elements after the
    "EXTRA_ARGS" keyword of these two commands are also now preserved.

  See policy "CMP0178".

* The "execute_process()" command's "ENCODING" option, \ 
meaningful on
  Windows, now defaults to "UTF-8". See policy "CMP0176".

* The "file(DOWNLOAD)" and "file(UPLOAD)" commands now verify TLS
  server certificates for connections to "https://" URLs by default.
  See the "CMAKE_TLS_VERIFY" variable for details. This change was
  made without a policy so that users are protected even when building
  projects that have not been updated. Users may set the
  "CMAKE_TLS_VERIFY" environment variable to "0" to restore \ 
the old
  default.

* The "file(DOWNLOAD)" and "file(UPLOAD)" commands now \ 
require TLS 1.2
  or higher for connections to "https://" URLs by default. See the
  "CMAKE_TLS_VERSION" variable for details.

* The "file(GET_RUNTIME_DEPENDENCIES)" command was updated to more
  closely match the dynamic loader's behavior on Linux.

* The "install()" command's "DESTINATION" arguments are now
  normalized, with the exception of "INCLUDES DESTINATION" arguments
  in "install(TARGETS)". See policy "CMP0177".

* The "project()" command now always sets \ 
"<PROJECT-NAME>_SOURCE_DIR",
  "<PROJECT-NAME>_BINARY_DIR", and \ 
"<PROJECT-NAME>_IS_TOP_LEVEL" as
  both normal variables and cache entries.  See policy "CMP0180".

* The "cmake_parse_arguments(PARSE_ARGV)" command now defines a
  variable for an empty string after a single-value keyword. See
  policy "CMP0174".
   2024-11-01 13:55:19 by Thomas Klausner | Files touched by this commit (2426)
Log message:
*: revbump for icu downgrade
   2024-11-01 01:54:33 by Thomas Klausner | Files touched by this commit (2427)
Log message:
*: recursive bump for icu 76.1 shlib bump
   2024-10-10 10:56:32 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
cmake: updated to 3.30.5

CMake 3.30.5
* project: Only check non-cache vars when setting project vars