./devel/cmake, Cross platform make

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

Branch: CURRENT, Version: 3.19.6, Package name: cmake-3.19.6, 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:

SHA1: 5ade1bb2652e8dc136935fdfd6f23261f2d8ece4
RMD160: ec7e9a6f438d165c419db8046f8186563a251948
Filesize: 9053.644 KB

Version history: (Expand)

CVS history: (Expand)

   2021-02-26 07:20:43 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
cmake: updated to 3.19.6

CMake 3.19.6
* Intel: Make explicit Fortran preprocessing under Ninja more robust
* Tests: Update for upstream ninja change to write status on stderr
* CMakePresets.json: Remove undocumented support for comments
* FindPython: fix erroneous variable handling
   2021-02-15 21:35:44 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
cmake: updated to 3.19.5

When IOS_INSTALL_COMBINED is enabled and the Xcode generator is used, it is now \ 
possible to initiate an install or package creation by running cmake --install \ 
or cpack from the command line. When using the Xcode new build system, these are \ 
the only supported methods due to a limitation of Xcode. Initiating these \ 
operations by building the install or package targets in Xcode is only supported \ 
when using the legacy build system.
The framework handling introduced in 3.19.0 as part of supporting Xcode’s Link \ 
Binaries With Libraries build phase broke the ability to switch between device \ 
and simulator builds without reconfiguring. That capability has now been \ 
   2021-01-31 12:40:59 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
cmake: updated to 3.19.4

CMake 3.19.4
* FindHDF5: avoid writing to the output when testing h5cc
* FindHDF5: silence STATUS messages when found with QUIET
* GetPrerequisites: Include weak macOS dependencies
* file(GET_RUNTIME_DEPENDENCIES): Fix weak macOS libraries not detected
* ci: speed up cmake and ninja downloads on Windows
* ci: download WiX on Windows
* Intel: Replace deprecated Fortran flag -nofor_main with -nofor-main
* Help: Add Ninja Multi-Config to list in GENERATOR_IS_MULTI_CONFIG
* IRSL: Install msvcp${v}${d}_atomic_wait.dll if available with CRT
* Restore support for cross-compiling CMake itself
* VS: Generalize Win10 max SDK version to all VS generators
   2021-01-16 12:16:25 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
cmake: updated to 3.19.3

CMake 3.19.3
* cmSystemTools: Revert use of MOVEFILE_WRITE_THROUGH by RenameFile on Windows
* Tests: Fix ConfigSources test with empty CMAKE_BUILD_TYPE
* gitlab-ci: consolidate Linux release package job spec for x86_64
* Help: Add 3.19.3 release note for Linux aarch64 binary
* gitlab-ci: update macOS jobs to use Xcode 12.3
* cmGlobalXCodeGenerator: Adopt pbxproj object id generation
* cmGlobalXCodeGenerator: Add infrastructure for deterministic object ids
* Xcode: Use deterministic object ids for script build phases
* gitlab-ci: update upload jobs to go to cmake.org
* cmake-gui: Fix macOS styling for binaries distributed with Qt 5.10+
* Utilities/Release: Fix macOS Qt 5.9 build script umask
* Utilities/Release: Add script to build Qt 5.15.2 macOS universal binaries
* ci: build separate macOS packages for macOS 10.13+ and macOS 10.10+
* Help: Fix Sphinx not recognising list in XCODE_LINK_BUILD_PHASE_MODE
* FetchContent: Relative SOURCE_DIR override cannot be a hard error
* FindMPI: remove single quotes from include path
* Utilities/Release: Add docker specs for Linux aarch64 binaries
* gitlab-ci: add jobs to make Linux release packages for aarch64 on 3.19 branch
* FindHDF5: Fix finding both debug and release libs
* cmake-gui: Restore linking of Qt resources
* cmMakefile: Don't expand bracket arguments in --trace-expand
   2020-12-17 13:14:35 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
cmake: updated to 3.19.2

CMake 3.19.2
* Compiler/TI: Fix C standard flags in C-only project
* execute_process: Improve COMMAND_ERROR_IS_FATAL error capture scenarios
* FindHDF5: improve error messages when a location variable isn't known
* FindHDF5: support the hdf5hl_fortran-based variable names
* FindPython2: avoid doubling the extension in CPython2 SOABI
* Tests: Add CMake_TEST_Java option to control Java tests
* Tests: Teach RunCMake to ignore Xcode install_name_tool signature warnings
* gitlab-ci: update macOS jobs to use Xcode 12.2
* Tests: Fix RunCMake.Check* conditions for enabling Fortran
* Check*: Tolerate variables set with names of languages
* Ninja: Clean metadata after regen during build on Windows with 1.10.2+
* ci: update to use ninja 1.10.2
* Tests: Look for Visual Studio only on Windows hosts
* CMakeDetermineCompilerId: Filter IAR-AVR format INFO strings earlier
* CMakeDetermineCompilerId: Add whitespace to clarify logic
* CMakeDetermineCompilerId: Tolerate stray text around INFO strings
* Revert "Intel: Add Intel Clang compiler identification"
* Revert "Intel: Add Intel DPC++ compiler identification"
* Tests: Add cache entry to control XCTest deployment target
* Tests: Remove outdated exclusion of tests on OS X 10.3
* ci: Hard-code XCTest deployment target to 10.15
* Utilities/Release: Add script to build Qt 5.9.9 macOS universal binaries
* ci: update to pre-built Qt 5.9.9 universal binaries for macOS packages
* ci: do not use sccache for macOS packaging
* ci: update macOS package to produce universal binaries
* macOS: Offer control over host architecture on Apple Silicon hosts
* Tests: Cover macOS host architecture selection on Apple Silicon hosts
* cmake: Clear INSTALL file properties between runs
* macOS: Add /opt/homebrew to CMAKE_SYSTEM_PREFIX_PATH on Apple Silicon
* Ninja: Remove cleandead on regeneration
* Utilities/Release: Update macOS Qt 5.9 build for platform versioning
* cmake-gui: Restore completion during path editing
* Help: xref variable that cmake_minimum_required() sets
* Help: Mention how OPTIMIZE_DEPENDENCIES is initialized
* Help: Re-sort indexes in the manuals
* Help: Clarify scope details of deferred call ids for cmake_language()
* PCH: Fix compiler errors on iOS multi-arch using Ninja Multi-Config
* export: Do not fail generation for separate namelink only case
* Cray: Fix Cray compiler detection on new platforms
* FPHSA: ensure it can be used outside 'find_package'
* Clang on Windows: 'LINKER:' prefix must be honored
* CMakePackageConfigHelpers: Relax restrictions on version range
* CUDA: Fix user-set architectures during detection with Visual Studio
* macOS: Add architecture flags only for native ASM dialect
* Modules: Rename Internal/CMake{CheckCompiler => TryCompilerOrLinker}Flag
* ISPC: Ninja properly compute ISPC_HEADER_DIRECTORY location
* ISPC: Handle OBJECT sources in different directories
* Document CMP0112 covers $
* ISPC: Treat system includes as '-I' includes
* FindGLUT: Handle Mojave and Big Sur 'tbd' framework files
* ISPC: Generated Headers suffix configurable with a better default
* Help: Fix presets typo (longDescription to displayName)
* QNX: Do not disable compiler extensions for CMake itself
* llvm-rc: Force C language for the clang gnu frontend
* llvm-rc: Add CMAKE_VFS_OVERLAY to the preprocessing flags
   2020-11-25 11:33:28 by Adam Ciarcinski | Files touched by this commit (10) | Package updated
Log message:
cmake cmake-gui: updated to 3.19.1

CMake 3.19.1

ci: update to use CMake 3.19.0
gitlab-ci: update macOS jobs to use Xcode 12.0
Revert “specify language flag when source LANGUAGE property is set”
FindGTest: Revert “Allow either “Debug” or “Release” configurations.”
Makefiles: Fix CMAKE_EXPORT_COMPILE_COMMANDS crash with custom compile rule
Xcode: Fix custom command work-dir placeholders in “new build system”
Tests: Match RunCMake.CMP0111 stderr more strictly
cmTarget: Do not enforce CMP0111 on imported INTERFACE libraries
cmVisualStudio10TargetGenerator: Avoid GetFullPath on INTERFACE library
cmGlobalGenerator: FindMakeProgram() at a generator-specific time
cmFileTime: Fix overflow on time computation
Help: Fix ‘… versionadded’ directives for CTEST_CUSTOM_* variables
CUDA: Clang CUDA 11.1 support
CUDA: Error if can’t determine toolkit library root

CMake 3.19 Release Notes

Changes made since CMake 3.18 include the following.

New Features


* "cmake(1)" and "cmake-gui(1)" now recognize \ 
"CMakePresets.json" and
  "CMakeUserPresets.json" files (see "cmake-presets(7)").


* The "Xcode" generator now uses the Xcode “new build system” when
  generating for Xcode 12.0 or higher. See the
  "CMAKE_XCODE_BUILD_SYSTEM" variable. One may use "-T \ 
  to switch to the legacy build system.

* The "Xcode" generator gained support for linking libraries and
  frameworks via the *Link Binaries With Libraries* build phase
  instead of always by embedding linker flags directly.  This behavior
  is controlled by a new "XCODE_LINK_BUILD_PHASE_MODE" target
  property, which is initialized by a new

* The Visual Studio Generators for VS 2015 and above gained support
  for the Visual Studio Tools for Android.  One may now set
  "CMAKE_SYSTEM_NAME" to "Android" to generate \ 
".vcxproj" files for
  the Android tools.


* CMake learned to support "ISPC" as a first-class language that can
  be enabled via the "project()" and "enable_language()" \ 
  "ISPC" is currently supported by the Makefile Generators and the
  "Ninja" generator on Linux, macOS, and Windows using the Intel ISPC

* "CUDA" language support for Clang now includes:

  * separable compilation ("CUDA_SEPARABLE_COMPILATION"), and

  * finding scattered toolkit installations when cross-compiling.

File-Based API

* The "cmake-file-api(7)" “codemodel” version 2 \ 
"version" field has
  been updated to 2.2.

* The "cmake-file-api(7)" “codemodel” version 2 “target” \ 
object gained
  a new "languageStandard" field in the "compileGroups" objects.


* The "cmake(1)" command-line tool’s "--install" mode \ 
gained a "--
  default-directory-permissions" option.

* "cmake(1)" gained a "-E create_hardlink" command-line tool \ 
that can
  be used to create hardlinks between files.


* The "CMake GUI" now has an environment variable editor.


* The "add_test()" command now (officially) supports whitespace and
  other special characters in the name for the test it creates. See
  policy "CMP0110".

* The "cmake_language()" command gained a "DEFER" mode to \ 
  command calls to occur at the end of processing a directory.

* The "configure_file()" command gained a "NO_SOURCE_PERMISSIONS"
  option to suppress copying the input file’s permissions to the
  output file.

* The "execute_process()" command gained a \ 
  option to specify a fatal error.

* The "file(ARCHIVE_CREATE)" command gained a "COMPRESSION_LEVEL"
  option to specify the compression level.

* The "file(CHMOD)" and "file(CHMOD_RECURSE)" subcommands \ 
were added
  to set permissions of files and directories.

* The "file(DOWNLOAD)" command "" argument is now optional.  If
  it is not specified, the file is not saved.

* The "file(GENERATE)" command gained a new "TARGET" keyword to
  support resolving target-dependent generator expressions.

* The "file()" command gained a new "REAL_PATH" sub-command \ 
to compute
  a path with symlinks resolved.

* The "find_package()" command learned to handle a version range.

* The "separate_arguments()" command gained a new "PROGRAM" \ 
option. It
  allows the arguments to be treated as a program invocation and will
  resolve the executable to a full path if it can be found.

* The "DIRECTORY" option of the "set_property()", \ 
  and "get_directory_property()" commands now accepts references to
  binary directory paths, such as the value of

* The "string()" command gained a set of new "JSON" sub \ 
commands that
  provide JSON parsing capabilities.


* The "CMAKE_CLANG_VFS_OVERLAY" variable was added to tell Clang to
  use a VFS overlay to support the Windows SDK when cross-compiling
  from hosts with case-sensitive filesystems.

* The "CMAKE_MFC_FLAG" variable now supports generator expressions.

* The "CMAKE_OPTIMIZE_DEPENDENCIES" variable was added to initialize
  the new "OPTIMIZE_DEPENDENCIES" target property and avoid
  unnecessarily building dependencies for a static library.

* The "CMAKE_PCH_INSTANTIATE_TEMPLATES" variable was added to
  initialize the new "PCH_INSTANTIATE_TEMPLATES" target property.

  added to tell the Visual Studio Generators what maximum version of
  the Windows SDK to choose.


* The "EXCLUDE_FROM_ALL" target property now supports "generator

* The "OPTIMIZE_DEPENDENCIES" target property was added to avoid
  unnecessarily building dependencies for a static library.

* The "PCH_INSTANTIATE_TEMPLATES" target property was added to enable
  template instantiation in the precompiled header. This is enabled by
  default and may significantly improve compile times. Currently only
  supported for Clang (version 11 or later).

* The "WIN32_EXECUTABLE" target property now supports "generator


* The "CheckCompilerFlag" module has been added to generalize
  "CheckCCompilerFlag" and "CheckCXXCompilerFlag" to more \ 
  It also supports the "CUDA" and "ISPC" languages.

* The "CheckLinkerFlag" module now supports the "CUDA" language.

* The "CheckSourceCompiles" module has been added to generalize
  "CheckCSourceCompiles" and "CheckCXXSourceCompiles" to more
  languages. It also supports the "CUDA" and "ISPC" languages.

* The "CheckSourceRuns" module has been added to generalize
  "CheckCSourceRuns" and "CheckCXXSourceRuns" to more \ 
languages. It
  also supports the "CUDA" language.

* The "CMakePackageConfigHelpers" module gained support for version

* The "FindCUDAToolkit" module gained support for finding CUDA
  toolkits that do not contain "nvcc", as well as for finding
  scattered toolkit installations when cross-compiling.

* The "FindPackageHandleStandardArgs" module learned to handle version
  ranges. It also gained the "find_package_check_version()" command to
  check the validity of a version against version-related arguments of
  "find_package()" command.

* The "FindPython3", "FindPython2" and \ 
"FindPython" modules gained the
  ability to handle a version range.

* The "FindPython3", "FindPython2" and \ 
"FindPython" modules provide,
  respectively, the variable "Python3_LINK_OPTIONS",
  "Python2_LINK_OPTIONS" and "Python_LINK_OPTIONS" for link \ 

* The "FindSDL" module now provides:

  * An imported target "SDL::SDL".

  * Result variables "SDL_LIBRARIES" and "SDL_INCLUDE_DIRS".

  * Version variables "SDL_VERSION", "SDL_VERSION_MAJOR",

* The "FindSWIG" module gained the ability to handle a version range.

* The "FindTIFF" module gained a "CXX" component to find the \ 
  library containing C++ bindings.

* The "FindVulkan" module now provides a "Vulkan::glslc" imported
  target and associated "Vulkan_GLSLC_EXECUTABLE" variable which
  contain the path to the GLSL SPIR-V compiler.

* The "UseSWIG" module gained support for new source file properties
  "OUTPUT_DIR" and "OUTFILE_DIR" to manage output \ 
directories on a
  per-source basis.


* "ctest(1)" now supports the CUDA "compute-sanitizer" checker
  (previously known as "cuda-memcheck") as the
  "CTEST_MEMORYCHECK_COMMAND". The different tools ("memcheck",
  "racecheck", "synccheck" and "initcheck") \ 
supported by "compute-
  sanitizer" can be selected by adding appropriate flags to the
  "CTEST_MEMORYCHECK_COMMAND_OPTIONS" variable.  The default flags are
  "--tool memcheck --leak-check full".


* CPack gained the "CPACK_PRE_BUILD_SCRIPTS",

* The "CPack External Generator" gained the

* The "CPack WIX Generator" gained a \ 
  to specify custom XML namespaces.


* Interface Libraries may now have source files added via
  "add_library()" or "target_sources()".  Those with sources \ 
will be
  generated as part of the build system.

Deprecated and Removed Features

* Compatibility with versions of CMake older than 2.8.12 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.

* An explicit deprecation diagnostic was added for policy "CMP0071"
  ("CMP0071" 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.

* macOS SDKs older than 10.5 are no longer supported.

* "cmake-gui(1)" now requires Qt5. Support for compiling with Qt4 has
  been removed.

* The "cmake(1)" command-line option "--warn-unused-vars" \ 
has been
  removed and is now silently ignored.  The option has not worked
  correctly since CMake 3.3.


The following guides have been added:

* "IDE Integration Guide"

* "Importing and Exporting Guide"

Other Changes

* Building for macOS will now use the latest SDK available on the
  system, unless the user has explicitly chosen a SDK using
  "CMAKE_OSX_SYSROOT".  The deployment target or system macOS version
  will not affect the choice of SDK.

* The "CMAKE_<LANG>_COMPILER" variable may now be used to store
  “mandatory” compiler flags like the "CC" and other environment

* The "CMAKE_<LANG>_FLAGS_INIT" variable will now be considered \ 
  the compiler identification check if other sources like
  "CMAKE_<LANG>_FLAGS" or "CFLAGS" are not set.

* The "find_program()" command now requires permission to execute but
  not to read the file found.  See policy "CMP0109".

* An imported target missing its location property fails during
  generation if the location is used.  See policy "CMP0111".

* The following target-based generator expressions that query for
  directory or file name components no longer add a dependency on the
  evaluated target. See policy "CMP0112".











* Makefile Generators no longer repeat custom commands from target
  dependencies.  See policy "CMP0113".

* The "ExternalProject" module handling of step target dependencies
  has been revised.  See policy "CMP0114".

* The "OSX_ARCHITECTURES" target property is now respected for the
  "ASM" language.

* If "CUDA" compiler detection fails with user-specified
an error
  is raised.
   2020-11-01 11:54:06 by Mark Davies | Files touched by this commit (3)
Log message:
cmake: patch another instance where should only find pkgsrc selected python
   2020-10-08 12:57:46 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
cmake: updated to 3.18.4

CMake 3.18.4
* FindJNI: Add aarch64 support
* VS: Populate `std:c{11,17}` flag table entries for v142
* OBJCXX: Fix regression for compiling cpp files as objcxx
* VS: Fix regression in C# source links
* FindPython: Fix erroneous regex in ABI check
* Clang: Look for llvm-lib when using MSVC-like front-end
* FindCUDA/select_compute_arch: Add CUDA 11.1 and SM86 support