[ANNOUNCE] CMake 3.19.2 available for download

2020-12-16 Thread Robert Maynard
We are pleased to announce that CMake 3.19.2 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Starting with CMake 3.19.2 Apple ARM is now supported:

  * The "CMAKE_HOST_SYSTEM_PROCESSOR" is selected using "uname -m".
Since this may vary based on CMake’s own architecture and that of
the invoking process tree, the "CMAKE_APPLE_SILICON_PROCESSOR"
variable or "CMAKE_APPLE_SILICON_PROCESSOR" environment variable
may be set to specify a host architecture explicitly.

  * If "CMAKE_OSX_ARCHITECTURES" is not set, CMake adds explicit flags
to tell the compiler to build for the
"CMAKE_HOST_SYSTEM_PROCESSOR" so the toolchain does not have to
guess based on the process tree’s architecture.


Thanks for your support!

-
Changes in 3.19.2 since 3.19.1:

Adam Weisi (1):
  Compiler/TI: Fix C standard flags in C-only project

Asit Dhal (1):
  execute_process: Improve COMMAND_ERROR_IS_FATAL error capture scenarios

Ben Boeckel (3):
  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

Brad King (28):
  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
  CMake 3.19.2

Craig Scott (4):
  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()

Cristian Adam (1):
  PCH: Fix compiler errors on iOS multi-arch using Ninja Multi-Config

Deniz Bahadir (1):
  export: Do not fail generation for separate namelink only case

Justin LaPolla (1):
  Cray: Fix Cray compiler detection on new platforms

Marc Chevrier (3):
  FPHSA: ensure it can be used outside 'find_package'
  Clang on Windows: 'LINKER:' prefix must be honored
  CMakePackageConfigHelpers: Relax restrictions on version range

Raul Tambre (2):
  CUDA: Fix user-set architectures during detection with Visual Studio
  macOS: Add architecture flags only for native ASM dialect

Robert Maynard (7):
  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

Sam Freed (1):
  Help: Fix presets typo (longDescription to displayName)

Stephen Kelly (1):
  QNX: Do not disable compiler extensions for CMake itself

Thomas Bernard (2):
  llvm-rc: Force C language for the clang gnu frontend
  llvm-rc: Add CMAKE_VFS_OVERLAY to the preprocessing flags


[ANNOUNCE] CMake 3.19.1 available for download

2020-11-24 Thread Robert Maynard
We are pleased to announce that CMake 3.19.1 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.19.1 since 3.19.0:

Brad King (10):
  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
  CMake 3.19.1

Kyle Edwards (1):
  cmGlobalGenerator: FindMakeProgram() at a generator-specific time

Marc Chevrier (1):
  cmFileTime: Fix overflow on time computation

Nikita Nemkin (1):
  Help: Fix `.. versionadded` directives for CTEST_CUSTOM_* variables

Raul Tambre (2):
  CUDA: Clang CUDA 11.1 support
  CUDA: Error if can't determine toolkit library root


[ANNOUNCE] CMake 3.19.0 available for download

2020-11-18 Thread Robert Maynard
I am happy to announce that CMake 3.19.0 is now available for download at:
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.19

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.19/release/3.19.html

Some of the more significant changes in CMake 3.19 are:

* "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 buildsystem=1"
  to switch to the legacy build system.

* 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()" commands.
  "ISPC" is currently supported by the Makefile Generators and the
  "Ninja" generator on Linux, macOS, and Windows using the Intel ISPC
  compiler.

* "CUDA" language support for Clang now supports separable compilation
  ("CUDA_SEPARABLE_COMPILATION")

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

* The "file(GENERATE)" command gained a new "TARGET" keyword to
  support resolving target-dependent 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 "CheckCompilerFlag" module has been added to generalize
  "CheckCCompilerFlag" and "CheckCXXCompilerFlag" to more languages.
  It also supports the "CUDA" and "ISPC" languages.

* 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 "FindCUDAToolkit" module gained support for finding CUDA
  toolkits that do not contain "nvcc", as well as for finding
  scattered toolkit installations when cross-compiling.

* 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.

* 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.


CMake 3.19 Release Notes


Changes made since CMake 3.18 include the following.


New Features



Presets
---

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


Generators
--

* 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 buildsystem=1"
  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
  "CMAKE_XCODE_LINK_BUILD_PHASE_MODE" variable.

* 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.


Languages
-

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

* "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.


Command-Line


* 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.


GUI
---

* The "CMake GUI" now has an environment variable 

[ANNOUNCE] CMake 3.18.5 available for download

2020-11-18 Thread Robert Maynard
We are pleased to announce that CMake 3.18.5 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.18.5 since 3.18.4:

Brad King (5):
  clang-format: Fix include block order in ctest.cxx and cpack.cxx
  cmConsoleBuf: Factor out cout/cerr console buffer management
  FindRuby: Restore compatibility variable RUBY_VENDORLIB_DIR
  Xcode: Extract CMAKE__COMPILER from compiler id with multiple archs
  CMake 3.18.5

Johnny Jazeix (1):
  cmake: Fix '-E cat' command for binary files on Windows

Kyle Edwards (1):
  Ninja Multi-Config: Don't try to calculate dependencies for "all"

Raul Tambre (1):
  VS: Don't compute CUDA options unless necessary


[ANNOUNCE] CMake 3.19.0-rc3 now ready for testing!

2020-11-06 Thread Robert Maynard
I am proud to announce the third CMake 3.19 release candidate.
  https://cmake.org/download/

The first two 3.19.0 release candidates included the "cmake_path()"
command. This has been removed in rc3 pending further development.

Documentation is available at:
  https://cmake.org/cmake/help/v3.19

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.19/release/3.19.html

Some of the more significant changes in CMake 3.19 are:

* "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 buildsystem=1"
  to switch to the legacy build system.

* 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()" commands.
  "ISPC" is currently supported by the Makefile Generators and the
  "Ninja" generator on Linux, macOS, and Windows using the Intel ISPC
  compiler.

* "CUDA" language support for Clang now supports separable compilation
  ("CUDA_SEPARABLE_COMPILATION")

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

* The "file(GENERATE)" command gained a new "TARGET" keyword to
  support resolving target-dependent 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 "CheckCompilerFlag" module has been added to generalize
  "CheckCCompilerFlag" and "CheckCXXCompilerFlag" to more languages.
  It also supports the "CUDA" and "ISPC" languages.

* 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 "FindCUDAToolkit" module gained support for finding CUDA
  toolkits that do not contain "nvcc", as well as for finding
  scattered toolkit installations when cross-compiling.

* 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.

* 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.


CMake 3.19 Release Notes


Changes made since CMake 3.18 include the following.


New Features



Presets
---

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


Generators
--

* 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 buildsystem=1"
  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
  "CMAKE_XCODE_LINK_BUILD_PHASE_MODE" variable.

* 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.


Languages
-

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

* "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.


Command-Line


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

* "cmake(1)" gained a "-E create_hardlink" 

[ANNOUNCE] CMake 3.19.0-rc2 now ready for testing!

2020-10-28 Thread Robert Maynard
mmand 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".

  * "TARGET_FILE_DIR"

  * "TARGET_LINKER_FILE_BASE_NAME"

  * "TARGET_LINKER_FILE_NAME"

  * "TARGET_LINKER_FILE_DIR"

  * "TARGET_SONAME_FILE_NAME"

  * "TARGET_SONAME_FILE_DIR"

  * "TARGET_PDB_FILE_NAME"

  * "TARGET_PDB_FILE_DIR"

  * "TARGET_BUNDLE_DIR"

  * "TARGET_BUNDLE_CONTENT_DIR"

* 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
  "CMAKE_CUDA_ARCHITECTURES" or "CMAKE_CUDA_HOST_COMPILER", an error
  is raised.



Changes made since CMake 3.19.0-rc1:

Ben Boeckel (3):
  ci: use a patched sccache on macOS
  ci: update to use CMake 3.18.4
  ci: update to Qt 5.15.1

Ben McMorran (1):
  Help: Add JSON schema for CMakePresets.json

Brad King (12):
  cmake-gui: Attach icons only to main GUI executables
  clang-format: Fix include block order in ctest.cxx and cpack.cxx
  cmConsoleBuf: Factor out cout/cerr console buffer management
  Tests: Add cases for CheckSource{Compiles,Runs} bad arguments
  Fix regression in test/install/package configuration selection
  CMP0111: Clarify that the new error is on a missing property setting
  find_package: Fix regression in searching root prefix
  ci: add Python to PATH on Windows
  FindBoost: Honor Boost_NO_SYSTEM_PATHS when finding upstream BoostConfig
  FindBoost: Honor BOOST_ROOT when finding upstream BoostConfig
  FindRuby: Restore compatibility variable RUBY_VENDORLIB_DIR
  CMake 3.19.0-rc2

Craig Scott (1):
  Help: Cleanup typos and grammar for the 3.19 release

Cristian Adam (1):
  file(CONFIGURE): Allow angle brackets in content

Deniz Bahadir (1):
  add_custom_command: Properly recognize if sources depend on config

Felipe Torrezan (1):
  IAR: Use .o object file extension with IAR-Ilink toolchains

Gusts Kaksis (1):
  Xcode: Fix regression that automatically links libraries in source list

Issam E. Maghni (2):
  bootstrap: add samu as known ninja processors
  bootstrap: add smake as known make processors

Johnny Jazeix (1):
  cmake: Fix '-E cat' command for binary files on Windows

Kyle Edwards (21):
  Help: Fix invalid code-block in cmake(1) manual
  CMake GUI: Disable preset fields instead of hiding them
  Help: Move CMakePresets.json documentation into a separate file
  Help: s/unusedVars/unusedCli/
  Help: Move vendor field into example
  Help: Show multiple ways of doing cacheVariables
  Help: Show environment field
  Help: Add documentation for debug field
  Help: Add inheritance to CMakePresets.json example
  Help: Make architecture and toolset descriptions generic
  Help: Clarify purpose of warnings and errors
  Tests: Add JSON schema validation to CMakePresets.json tests
  CI: Install jsonschema for schema testing
  CMakePresets.json: Properly report macro expansion errors
  CMakePresets.json: Allow boolean for cache variable value
  CMakePresets.json: Add ${sourceDirName} macro
  CMakePresets.json: Split cmakeGeneratorConfig field
  CMakePresets.json: Rework how --preset argument is handled
  Ninja Multi-Config: Don't try to calculate dependencies for "all"
  ccmake: Don't list --preset in --help
  CMake GUI: Add --browse-manual argument

Marc Chevrier (2):
  FindPython: Add support of version 3.10
  cmake_path: Enhance documentation

Michael Hirsch (1):
  CheckSource{Runs,Compiles}: Fix default Fortran source extension

Raul Tambre (1):
  VS: Don't compute CUDA options unless necessary

Robert Bozzetto (1):
  separate_arguments: Fix crash on *_COMMAND with no arguments

Robert Maynard (3):
  cmake: command arguments which use '=' behave consistently
  Modules: Do not implicitly add new functions via old Check Modules
  CUDA: Use MSVC version to determine supported C++ standard levels

Volker Jacht (1):
  VS: Remove flag table entries for Fortran /Z* flags


[ANNOUNCE] CMake 3.19.0-rc1 now ready for testing!

2020-10-13 Thread Robert Maynard
I am proud to announce the first CMake 3.19 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.19

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.19/release/3.19.html

Some of the more significant changes in CMake 3.19 are:

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

* 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 buildsystem=1"
  to switch to the legacy build system.

* 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()" commands.
  "ISPC" is currently supported by the Makefile Generators and the
  "Ninja" generator on Linux, macOS, and Windows using the Intel ISPC
  compiler.

* "CUDA" language support for Clang now supports separable compilation
  ("CUDA_SEPARABLE_COMPILATION")

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

* The "cmake_path()" command was added for operations on filesystem
  paths.

* The "file(GENERATE)" command gained a new "TARGET" keyword to
  support resolving target-dependent 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 "CheckCompilerFlag" module has been added to generalize
  "CheckCCompilerFlag" and "CheckCXXCompilerFlag" to more languages.
  It also supports the "CUDA" and "ISPC" languages.

* 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 "FindCUDAToolkit" module gained support for finding CUDA
  toolkits that do not contain "nvcc", as well as for finding
  scattered toolkit installations when cross-compiling.

* 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.

* 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.


CMake 3.19 Release Notes


Changes made since CMake 3.18 include the following.


New Features



Presets
---

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


Generators
--

* 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 buildsystem=1"
  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
  "CMAKE_XCODE_LINK_BUILD_PHASE_MODE" variable.

* 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.


Languages
-

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

* "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.


Command-Line


* 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.


GUI
---

* The "CMake GUI" now has an 

[ANNOUNCE] CMake 3.18.4 available for download

2020-10-06 Thread Robert Maynard
We are pleased to announce that CMake 3.18.4 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.18.4 since 3.18.3:

Brad King (3):
  FindJNI: Add aarch64 support
  VS: Populate `std:c{11,17}` flag table entries for v142
  CMake 3.18.4

Cristian Adam (1):
  OBJCXX: Fix regression for compiling cpp files as objcxx

Kinan Mahdi (1):
  VS: Fix regression in C# source links

Marc Chevrier (1):
  FindPython: Fix erroneous regex in ABI check

Shoaib Meenai (1):
  Clang: Look for llvm-lib when using MSVC-like front-end

zasdfg bnm (1):
  FindCUDA/select_compute_arch: Add CUDA 11.1 and SM86 support


[ANNOUNCE] CMake 3.18.3 available for download

2020-09-22 Thread Robert Maynard
We are pleased to announce that CMake 3.18.3 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.18.3 since 3.18.2:

Alexandru Croitor (1):
  AutoGen: Fix moc and uic dependencies when building Qt itself

Ben McMorran (1):
  foreach: Fix crash parsing integer out of range

Brad King (5):
  gitlab-ci: Prefer MR rules for any pipeline associated with a MR
  Help: Update 3.18.2 release notes to mention 3.16.9 and 3.17.5
  gitlab-ci: update macOS jobs to use Xcode 11.7
  Check*CompilerFlag: Do not set result as a normal variable too
  CMake 3.18.3

Cristian Adam (2):
  PCH: Mark CMake PCH source files as -x -header
  PCH: Fix 30s wait for VS2008 when used via -Tv90

Joerg Bornemann (2):
  AutoMoc: Restore support for re-running after project file changes
  AutoMoc: Re-run moc if a dependency is missing

Josef Angstenberger (1):
  file(GENERATE): Create output file structures for all directories first

Kyle Edwards (5):
  Tests: Pass additional Qt information to Ninja and NMC tests
  Ninja Multi-Config: Fix clean:all target
  Ninja Multi-Config: Fix cleaning of utility targets with commands
  Ninja Multi-Config: Fix dependencies of utility targets
  Ninja Multi-Config: Fix dependencies of custom commands

Malcolm Parsons (1):
  FindJNI: Add arm64 support

Marc Chevrier (4):
  UseSWIG: Update option -interface usage
  FindPython: enhance ABI checks against include directory
  FindPython: CMP0012 must be set to NEW
  ARMClang: Fix link line generation after addition of armlink support

Michael Hirsch (1):
  FindMatlab: add R2020b => 9.9

Raul Tambre (1):
  MSVC: Record support for c_static_assert

Robert Maynard (1):
  CUDA: Support setting CUDA14/17 when using MSVC

Sumit Bhardwaj (1):
  Implement cm::static_reference_cast by declval


[ANNOUNCE] CMake 3.17.5 available for download

2020-09-15 Thread Robert Maynard
We are pleased to announce that CMake 3.17.5 is now available for download at:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.17.5 since 3.17.4:

Alexandru Croitor (2):
  AutoGen: Fix over-specified direct dependencies of custom command
  AutoGen: Add test to check for correct AutoMoc dependencies

Brad King (2):
  Tests: Isolate RunCMake.FindPkgConfig from caller environment
  CMake 3.17.5

Joerg Bornemann (3):
  Autogen: Turn off moc path prefix generation by default
  AutoMoc: Restore support for re-running after project file changes
  Help: Add 3.17.5 release note about AUTOMOC_PATH_PREFIX default change

Kyle Edwards (1):
  Ninja: Restore shorter path to response files

Sumit Bhardwaj (1):
  Implement cm::static_reference_cast by declval


[ANNOUNCE] CMake 3.16.9 available for download

2020-09-15 Thread Robert Maynard
We are pleased to announce that CMake 3.16.9 is now available for download.

You can find the 3.16.9 release at:
  https://github.com/Kitware/CMake/releases/tag/v3.16.9

Thanks for your support!

-
Changes in 3.16.9 since 3.16.8:

Brad King (2):
  Tests: Isolate RunCMake.FindPkgConfig from caller environment
  CMake 3.16.9

Joerg Bornemann (2):
  Autogen: Turn off moc path prefix generation by default
  Help: Add 3.16.9 release note about AUTOMOC_PATH_PREFIX default change


ANNOUNCE] CMake 3.18.2 available for download

2020-08-20 Thread Robert Maynard
We are pleased to announce that CMake 3.18.2 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.18.2 since 3.18.1:

Alexandru Croitor (2):
  AutoGen: Fix over-specified direct dependencies of custom command
  AutoGen: Add test to check for correct AutoMoc dependencies

Axel Huebl (1):
  FindMPI: Fix regression in pthread guard

Ben Boeckel (1):
  FPHSA: detect inclusion between find modules

Brad King (8):
  Tests: Isolate RunCMake.FindPkgConfig from caller environment
  FindRuby: Restore compatibility variable RUBY_INCLUDE_PATH
  Xcode: Explicitly turn off signing in try_compile projects
  PCH: Avoid Apple-specific architecture flags on other platforms
  gitlab-ci: add 'cmake' tag to all jobs
  Tests: Fix RunCMake.try_compile test for C standards with MSVC 19.27
  gitlab-ci: Update Windows builds to MSVC 19.27
  CMake 3.18.2

Craig Scott (2):
  ExternalProject: Stop patch target from always appearing out-of-date
  ExternalProject: Stop configure target from always appearing out-of-date

Cristian Adam (1):
  PCH: Avoid unnecessary 30s delay on MSBuild Generator with REUSE_FROM

Daniele E. Domenichelli (1):
  FindRuby: Add documentation for deprecated variables

Joerg Bornemann (2):
  Autogen: Turn off moc path prefix generation by default
  Help: Add 3.18.2 release note about AUTOMOC_PATH_PREFIX default change

Kyle Edwards (1):
  Ninja: Restore shorter path to response files

Laurits Riple (1):
  GoogleTest: Restore support for list arguments in TEST_EXECUTOR

Marc Chevrier (3):
  FindPython: ensure user's policies are respected
  FindPython: manage SOABI for all Python versions
  FindPython: enhance robustness of version extraction from library name

Raul Tambre (1):
  MSVC: Record support for C11 and c_restrict

Robert Maynard (1):
  CMakeFindBinUtils: Always consider plain binutils when not cross-compiling

Seth R Johnson (1):
  FindHDF5: fix compiler detection when HL is disabled

Thomas Bernard (1):
  llvm-rc: Fix quoting of path to cmake in CMAKE_RC_COMPILE_OBJECT


[ANNOUNCE] CMake 3.18.1 available for download

2020-07-30 Thread Robert Maynard
We are pleased to announce that CMake 3.18.1 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.18.1 since 3.18.0:

Ben Boeckel (1):
  gitlab-ci: avoid failing dependent steps

Brad King (16):
  cmGlobalXCodeGenerator: Save CMAKE_SYSTEM_NAME in member
  Swift: Fix regression in linking to interface libraries
  Xcode: Explicitly specify default native architecture on macOS
  bootstrap: Add options to control use of system nghttp2
  GHS: Fix crash when GHS_NO_SOURCE_GROUP_FILE property is not defined
  Auxiliary: Add options to control Vim and Emacs file installation
  cmake-gui: Fix crash when built with Qt 5.14 or later
  VS: Restore toleration of target-wide -TP flag with MSVC
  Xcode: Suppress legacy build system deprecation warning
  Help: Update file(GET_RUNTIME_DEPENDENCIES) prose to match option names
  FindXalanC: Fix version parsing for XalanC 1.12
  bootstrap: Fix support for Intel compiler with modern GNU system compiler
  Compilers: Ignore -print-sysroot prefix when it is '/'
  add_test: Revert "Allow special characters in test name"
  Clang: Fix fallback compile features when simulating old MSVC versions
  CMake 3.18.1

Cristian Adam (1):
  Unity Builds: Do not set SKIP_AUTOGEN to source files

Julien Schueller (1):
  centos5: Fix FTBFS with strdup

Kyle Edwards (1):
  Ninja Multi-Config: Make link response files per-config

Mike Gelfand (1):
  FindCURL: Fix list index check after search

Nate Avers (1):
  ExternalProject: omit --no-checkout from git clone when using git 2.20.x.

Stephan Rohmen (2):
  Graphviz: Restore support for per-target dependency graph options
  Tests: Cover Graphviz support for per-target dependency graph options


[ANNOUNCE] CMake 3.18.0 available for download

2020-07-15 Thread Robert Maynard
I am happy to announce that CMake 3.18.0 is now available for download at:
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.18

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.18/release/3.18.html

Some of the more significant changes in CMake 3.18 are:

* The "CUDA" language can now be compiled using Clang on non-Windows
  platforms. Separable compilation is not yet supported on any
  platform.

* "cmake(1)" gained support for profiling of CMake scripts through the
  parameters "--profiling-output" and "--profiling-format".

* The "add_library()" and "add_executable()" commands learned to
  create Alias Targets referencing non-"GLOBAL" Imported Targets.

* The "cmake_language()" command was added for meta-operations on
  scripted or built-in commands, starting with a mode to "CALL" other
  commands, and "EVAL CODE" to inplace evaluate a CMake script.

* The "file(CONFIGURE)" subcommand was created in order to replicate
  the "configure_file()" functionality without resorting to a pre-
  existing file on disk as input. The content is instead passed as a
  string.

* The "find_program()", "find_library()", "find_path()" and
  "find_file()" commands gained a new "REQUIRED" option that will stop
  processing with an error message if nothing is found.

* A "CMAKE_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
  "CMAKE_CUDA_COMPILER_ID" is "NVIDIA". The variable is used to
  initialize the new "CUDA_ARCHITECTURES" target property.  See policy
  "CMP0104".

* The "UNITY_BUILD_MODE" target property was added to tell generators
  which algorithm ("BATCH", "GROUP") to use for grouping included source
  files.

* The "CheckLinkerFlag" module has been added to provide a facility to
  check validity of link flags.

* The "$" and "$" "generator
  expressions" were added to manage device and host link steps.

* The "$" and "$" "generator
  expressions" were added.

* "ctest(1)" gained a new "CTEST_RESOURCE_SPEC_FILE" variable, which
  can be used to specify a resource specification file.

* "ccmake(1)" learned to read a "CCMAKE_COLORS" environment variable
  to customize colors.

* On Windows, the "Ninja" and "Ninja Multi-Config" generators, when a
  compiler is not explicitly specified, now select the first compiler
  (of any name) found in directories listed by the "PATH" environment
  variable.

CMake 3.18 Release Notes


Changes made since CMake 3.17 include the following.


New Features



Languages
-

* The "CUDA" language can now be compiled using Clang on non-Windows
  platforms. Separable compilation is not yet supported on any
  platform.


Command-Line


* "cmake(1)" gained support for profiling of CMake scripts through the
  parameters "--profiling-output" and "--profiling-format".

* "cmake(1)" gained a "cat" command line option that can be used to
  concatenate files and print them on standard output.


Commands


* The "add_library()" and "add_executable()" commands learned to
  create Alias Targets referencing non-"GLOBAL" Imported Targets.

* The "cmake_language()" command was added for meta-operations on
  scripted or built-in commands, starting with a mode to "CALL" other
  commands, and "EVAL CODE" to inplace evaluate a CMake script.

* The "execute_process()" command gained the "ECHO_OUTPUT_VARIABLE"
  and "ECHO_ERROR_VARIABLE" options.

* The "export()" command now raise an error if used multiple times
  with same "FILE" without "APPEND". See policy "CMP0103".

* The "file()" command gained the "ARCHIVE_CREATE" and
  "ARCHIVE_EXTRACT" subcommands to expose the "cmake(1)" "-E tar"
  functionality to CMake scripting code.

* The "file(CONFIGURE)" subcommand was created in order to replicate
  the "configure_file()" functionality without resorting to a pre-
  existing file on disk as input. The content is instead passed as a
  string.

* The "file(UPLOAD)" command gained "TLS_VERIFY" and "TLS_CAINFO"
  options to control server certificate verification.

* The "find_program()", "find_library()", "find_path()" and
  "find_file()" commands gained a new "REQUIRED" option that will stop
  processing with an error message if nothing is found.

* The "get_property()" command with "SOURCE" scope gained the
  "DIRECTORY" and "TARGET_DIRECTORY" options to get a property from
  the provided directory scope.

* The "get_source_file_property()" command gained the "DIRECTORY" and
  "TARGET_DIRECTORY" options to get a property from the provided
  directory scope.

* The "list()" operation "SORT" gained the "NATURAL" sort option to
  sort using natural order (see "strverscmp(3)" manual).

* The "set_property()" command with the "SOURCE" scope gained the
  "DIRECTORY" and 

[ANNOUNCE] CMake 3.18.0-rc4 is ready for testing

2020-07-10 Thread Robert Maynard
 error. See policy "CMP0107".

* Linking a target to itself through an alias now raises an error. See
  policy "CMP0108".

* The "FindPackageHandleStandardArgs" module option "REQUIRED_VARS" is
  now optional if "HANDLE_COMPONENTS" is specified.

* The "source_group()" command now also recognizes forward slashes as
  subgroup delimiters, not just backslashes.

* "ctest(1)" now logs environment variables that it sets for each
  test, either due to the "ENVIRONMENT" property or the resource
  allocation feature, and submits this log to CDash. It does not log
  environment variables that were set outside of CTest.

* When building CMake itself from source and not using a system-
  provided libcurl, HTTP/2 support is now enabled for commands
  supporting network communication via "http(s)", such as
  "file(DOWNLOAD)", "file(UPLOAD)", and "ctest_submit()". The
  precompiled binaries provided on "cmake.org" now support HTTP/2.

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

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


Changes made since CMake 3.18.0-rc3:

Alexandru Croitor (3):
  set_property: Fix name of TARGET_DIRECTORY option in error messages
  set_property: Allow both DIRECTORY and TARGET_DIRECTORY together
  Help: Update get_property and get_source_file_property docs

Axel Huebl (1):
  FindMPI: Deny -fexceptions from NVCC

Brad King (7):
  curl: Update script to get curl 7.71.1
  cmake: Tolerate nullptr from uv_default_loop
  Restore handling of build directory inside a symlinked path
  cmake-gui: Fix compilation as C++14 with Qt 5.14
  FindJava: Update check to avoid accepting macOS stub 'java' as Java
  FindOpenMP: Set version variables every time CMake runs
  CMake 3.18.0-rc4

Craig Scott (2):
  Help: FRAMEWORK_MULTI_CONFIG_POSTFIX example should use actual config
  Help: Update file(ARCHIVE...) synopsis for renamed options

Curl Upstream (1):
  curl 2020-06-30 (5a1fc8d3)

Felix Yan (1):
  FindLua: Add support for Lua 5.4

Joachim Wuttke (h) (1):
  Help: Fix CPack module docs on config file for source package

Kyle Edwards (1):
  Help: Clarify search order for resource spec file

Michael Hirsch (2):
  FindBLAS: Handle Windows Intel MKLROOT with backslash
  FindLAPACK: Handle Windows Intel MKLROOT with backslash

Robert Maynard (1):
  FindMPI: Pass -pthread to NVCC through -Xlinker for device linking

Sumit Bhardwaj (1):
  cmext: Implement cm::static_reference_cast by declval

Torgeir Rusten (1):
  IRSL: Fix path to Intel 32-bit redist libraries

zasdfg bnm (2):
  FindCUDA/select_compute_arch: Add CUDA 11 and Ampere support
  FindCUDA/select_compute_arch: generate PTX for the latest architecture


[ANNOUNCE] CMake 3.18.0-rc3 is ready for testing

2020-07-01 Thread Robert Maynard
error. See policy "CMP0107".

* Linking a target to itself through an alias now raises an error. See
  policy "CMP0108".

* The "FindPackageHandleStandardArgs" module option "REQUIRED_VARS" is
  now optional if "HANDLE_COMPONENTS" is specified.

* The "source_group()" command now also recognizes forward slashes as
  subgroup delimiters, not just backslashes.

* "ctest(1)" now logs environment variables that it sets for each
  test, either due to the "ENVIRONMENT" property or the resource
  allocation feature, and submits this log to CDash. It does not log
  environment variables that were set outside of CTest.

* When building CMake itself from source and not using a system-
  provided libcurl, HTTP/2 support is now enabled for commands
  supporting network communication via "http(s)", such as
  "file(DOWNLOAD)", "file(UPLOAD)", and "ctest_submit()". The
  precompiled binaries provided on "cmake.org" now support HTTP/2.

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

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

------------
Changes made since CMake 3.18.0-rc2:

Brad King (15):
  Tests: Shorten case names in RunCMake.target_link_libraries-* tests
  Help: Fix order of FindCUDAToolkit entry in 3.18 release notes
  try_compile: Do not try to remove '.nfs*' files
  CUDA: Skip the entire search for nvcc when it is CMAKE_CUDA_COMPILER
  CUDA: Simplify CMAKE_CUDA_COMPILER_TOOLKIT_ROOT computation
  CUDA: Remove unused variables while determining compiler
  CUDA: Re-order some logic for determining the compiler
  CUDA: Fix CMAKE_CUDA_COMPILER_TOOLKIT_ROOT detection in Visual Studio
  Tests: Drop redundant FindModulesExecuteAll test
  curl: Update script to get curl 7.71.0
  curl: Set build options the way we need for CMake
  Intel: Add flags for C++20
  find_library: Check that library files are readable
  file: Fix CONFIGURE output relative path
  CMake 3.18.0-rc3

Christopher Tetreault (1):
  Help: Update docs for failure result of get_target_property

Craig Scott (12):
  Help: Fix formatting error and consistency for gtest_discover_tests()
  Help: Add missing PCH_WARN_INVALID docs and related cleanups
  Help: Formatting, crossref for FRAMEWORK_MULTI_CONFIG_POSTFIX_
  Help: Add missing cross-referencing for generator expressions
  Help: Correct and condense examples for VS_SOLUTION_DEPLOY
  Help: Explicitly say transaction, don't abbreviate to trans
  Tests: Don't ask for things not required for GoogleTest
  GoogleTest: Replace SEND_ERROR with FATAL_ERROR
  Help: Add CMAKE_GTEST_DISCOVER_TESTS_DISCOVERY_MODE to release notes
  Help: Fix contents indenting for file(ARCHIVE_...) subcommands
  file(ARCHIVE_CREATE): Rename TYPE option to COMPRESSION
  file(ARCHIVE*): Collapse FILES and DIRECTORY options

Curl Upstream (1):
  curl 2020-06-23 (e9db32a0)

Daniel Colascione (1):
  Makefile: Fix regression in .SILENT rule

Kyle Edwards (1):
  Help: Update FileAPI codemodel version to 2.1, add release notes

Lihua Zhao (1):
  VxWorks: Add Platform ID for Modules/CMakePlatformId.h.in

Marc Chevrier (1):
  Tests: Split RunCMake.target_link_libraries test

Osama Moharam (1):
  ARMClang: Fix typo in -Xlinker flag

Raul Tambre (1):
  CUDA: Fix NVCC executable search during compiler detection

Robert Maynard (3):
  CudaToolkit: Update for new/removed libraries in CUDA 11
  Help: Better document that CMP0105 controls DEVICE_LINK parsing
  FindCUDA: Do not search for the deprecated nppicom when CUDA >= 11

Stefan Floeren (1):
  GoogleTest: Fix name generation for XML_OUTPUT_DIR

Yan (1):
  Find{FLEX,BISON}: Add 'win-' executable names


[ANNOUNCE] CMake 3.18.0-rc1 is ready for testing

2020-06-09 Thread Robert Maynard
I am proud to announce the first CMake 3.18 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.18

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.18/release/3.18.html

Some of the more significant changes in CMake 3.18 are:

* The "CUDA" language can now be compiled using Clang.
  This is experimental and still under development.

* "cmake(1)" gained support for profiling of CMake scripts through the
  parameters "--profiling-output" and "--profiling-format".

* The "add_library()" and "add_executable()" commands learned to
  create Alias Targets referencing non-"GLOBAL" Imported Targets.

* The "cmake_language()" command was added for meta-operations on
  scripted or built-in commands, starting with a mode to "CALL" other
  commands, and "EVAL CODE" to inplace evaluate a CMake script.

* The "file(CONFIGURE)" subcommand was created in order to replicate
  the "configure_file()" functionality without resorting to a pre-
  existing file on disk as input. The content is instead passed as a
  string.

* The "find_program()", "find_library()", "find_path()" and
  "find_file()" commands gained a new "REQUIRED" option that will stop
  processing with an error message if nothing is found.

* A "CMAKE_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
  "CMAKE_CUDA_COMPILER_ID" is "NVIDIA". The variable is used to
  initialize the new "CUDA_ARCHITECTURES" target property.  See policy
  "CMP0104".

* The "UNITY_BUILD_MODE" target property was added to tell generators
  which algorithm ("BATCH", "GROUP") to use for grouping included source
  files.

* The "CheckLinkerFlag" module has been added to provide a facility to
  check validity of link flags.

* The "$" and "$" "generator
  expressions" were added to manage device and host link steps.

* The "$" and "$" "generator
  expressions" were added.

* "ctest(1)" gained a new "CTEST_RESOURCE_SPEC_FILE" variable, which
  can be used to specify a resource specification file.

* "ccmake(1)" learned to read a "CCMAKE_COLORS" environment variable
  to customize colors.

* On Windows, the "Ninja" and "Ninja Multi-Config" generators, when a
  compiler is not explicitly specified, now select the first compiler
  (of any name) found in directories listed by the "PATH" environment
  variable.

CMake 3.18 Release Notes


Changes made since CMake 3.17 include the following.


New Features



Languages
-

* The "CUDA" language can now be compiled using Clang.
  This is experimental and still under development.


Command-Line


* "cmake(1)" gained support for profiling of CMake scripts through the
  parameters "--profiling-output" and "--profiling-format".

* "cmake(1)" gained a "cat" command line option that can be used to
  concatenate files and print them on standard output.


Commands


* The "add_library()" and "add_executable()" commands learned to
  create Alias Targets referencing non-"GLOBAL" Imported Targets.

* The "cmake_language()" command was added for meta-operations on
  scripted or built-in commands, starting with a mode to "CALL" other
  commands, and "EVAL CODE" to inplace evaluate a CMake script.

* The "execute_process()" command gained the "ECHO_OUTPUT_VARIABLE"
  and "ECHO_ERROR_VARIABLE" options.

* The "export()" command now raise an error if used multiple times
  with same "FILE" without "APPEND". See policy "CMP0103".

* The "file()" command gained the "ARCHIVE_CREATE" and
  "ARCHIVE_EXTRACT" subcommands to expose the "cmake(1)" "-E tar"
  functionality to CMake scripting code.

* The "file(CONFIGURE)" subcommand was created in order to replicate
  the "configure_file()" functionality without resorting to a pre-
  existing file on disk as input. The content is instead passed as a
  string.

* The "file(UPLOAD)" command gained "TLS_VERIFY" and "TLS_CAINFO"
  options to control server certificate verification.

* The "find_program()", "find_library()", "find_path()" and
  "find_file()" commands gained a new "REQUIRED" option that will stop
  processing with an error message if nothing is found.

* The "get_property()" command with "SOURCE" scope gained the
  "DIRECTORY" and "TARGET_DIRECTORY" options to get a property from
  the provided directory scope.

* The "get_source_file_property()" command gained the "DIRECTORY" and
  "TARGET_DIRECTORY" options to get a property from the provided
  directory scope.

* The "list()" operation "SORT" gained the "NATURAL" sort option to
  sort using natural order (see "strverscmp(3)" manual).

* The "set_property()" command with the "SOURCE" scope gained the
  "DIRECTORY" and "TARGET_DIRECTORY" options to set properties in the
  provided directory scopes.

* The 

[ANNOUNCE] CMake 3.16.8 available for download

2020-06-01 Thread Robert Maynard
We are pleased to announce that CMake 3.16.8 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.16.8 since 3.16.7:

Brad King (2):
  PCH: Fix logic error that incorrectly clears sources during VS generation
  CMake 3.16.8


[ANNOUNCE] CMake 3.17.3 available for download

2020-05-28 Thread Robert Maynard
We are pleased to announce that CMake 3.17.3 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.17.3 since 3.17.2:

Andreas Schönle (1):
  PCH: Fix REUSE_FROM in multi-config generators

Ben Boeckel (1):
  ExternalProject: expose _ep_cache_args_script to the caller

Boris Basic (1):
  FindBoost: Add 1.73 to known versions

Brad King (14):
  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
  CMake 3.17.3

Jennifer Green (2):
  cm_cxx_features: Filter out libhugetlbfs warnings
  cm_cxx_features: Filter out 'icpc: command line warning #10121'

Jonathan Verner (1):
  CPack-deb: don't add a line with a dot to pkg desc

Kyle Edwards (1):
  Ninja Multi-Config: Make "install" targets depend on default configs

Marc Chevrier (4):
  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

Robert Maynard (5):
  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

Rolf Eike Beer (1):
  FindPkgConfig: also handle "-isystem" prefixes for include directories

Vitezslav Cizek (1):
  FindOpenSSL: Detect OpenSSL 3.0.0


Re: [ANNOUNCE] CMake 3.16.6 available for download

2020-05-27 Thread Robert Maynard
The subject should have been 3.16.7 has been released :(

On Wed, May 27, 2020 at 11:15 AM Robert Maynard
 wrote:
>
> We are pleased to announce that CMake 3.16.7 is now available for download.
>
> Please use the latest release from our download page:
>   https://cmake.org/download/
>
> Thanks for your support!
>
> -
> Changes in 3.16.7 since 3.16.6:
>
> Brad King (14):
>   AIX: Activate symbol export/import IBM i (OS400)
>   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
>   CheckLanguage: Fix forwarding of CMAKE_CUDA_HOST_COMPILER
>   FindGTK2: Add harfbuzz target for dependency from pango
>   VS: Fix using PCH from source with COMPILE_OPTIONS
>   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
>   cmGeneratorTarget: Clear AllConfigSources in ClearSourcesCache
>   Help: Add 3.16.7 release note for FindPkgConfig '-isystem' fix
>   VS: Restore .sln support for VS Version Selector
>   CMake 3.16.7
>
> Chuck Atkins (1):
>   FindMPI: Add the pgi compiler wrapper names used by IBM Spectrum MPI
>
> Rolf Eike Beer (1):
>   FindPkgConfig: also handle "-isystem" prefixes for include directories


[ANNOUNCE] CMake 3.16.6 available for download

2020-05-27 Thread Robert Maynard
We are pleased to announce that CMake 3.16.7 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.16.7 since 3.16.6:

Brad King (14):
  AIX: Activate symbol export/import IBM i (OS400)
  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
  CheckLanguage: Fix forwarding of CMAKE_CUDA_HOST_COMPILER
  FindGTK2: Add harfbuzz target for dependency from pango
  VS: Fix using PCH from source with COMPILE_OPTIONS
  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
  cmGeneratorTarget: Clear AllConfigSources in ClearSourcesCache
  Help: Add 3.16.7 release note for FindPkgConfig '-isystem' fix
  VS: Restore .sln support for VS Version Selector
  CMake 3.16.7

Chuck Atkins (1):
  FindMPI: Add the pgi compiler wrapper names used by IBM Spectrum MPI

Rolf Eike Beer (1):
  FindPkgConfig: also handle "-isystem" prefixes for include directories


[ANNOUNCE] CMake 3.17.2 available for download

2020-04-28 Thread Robert Maynard
We are pleased to announce that CMake 3.17.2 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.17.2 since 3.17.1:

Alexander Grund (3):
  BoostScanDeps: Fix typo in numpy handling
  FindBoost: Simplify Boost_VERSION_STRING comparisons
  FindBoost: Add support for Boost 1.73

Alexandru Croitor (1):
  iOS: Fix detection of supported SDK architectures

Ben Boeckel (2):
  FindPython: avoid autoderef in version comparisons
  FindPython: remove extra dereference

Brad King (7):
  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
  CMake 3.17.2

Chuck Atkins (1):
  FindMPI: Add the pgi compiler wrapper names used by IBM Spectrum MPI

Craig Scott (4):
  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

Gregor Jasny (1):
  Apple: Merge per-arch sysroot parameters if all are the same

Harry Mallon (1):
  file(UPLOAD): Add default ca_certs

Kyle Edwards (1):
  Ninja: Remove config suffix from order-only target

Marc Chevrier (2):
  FindPython: fix python compiler validation
  FindPython: fix reason failure propagation

Orgad Shaneh (1):
  FindBoost: Prevent warning with boost 1.73

Robert Maynard (1):
  FindCUDAToolkit searches stub location last


[ANNOUNCE] CMake 3.16.6 available for download

2020-04-10 Thread Robert Maynard
We are pleased to announce that CMake 3.16.6 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.16.6 since 3.16.5:

Brad King (4):
  Makefiles: Fix silencing of nested calls for GNU make 4.3
  target_link_libraries: Fix regression in case of $ genex
  AIX: Install ExportImportList script with execute permission
  CMake 3.16.6

Err0rC0deX (1):
  GetPrerequisites: Classify vcruntime libraries as system

Jesse Gorzinski (1):
  libuv: Add support for building on IBM i (OS400)

Marc Chevrier (1):
  FindPython: fix handling when FIND_VIRTUALENV == FIRST

Saleem Abdulrasool (1):
  Swift: Fix quoting of library search paths with spaces

ThePrez (1):
  cmstd: Remove -isystem option for IBM i (OS400)


[ANNOUNCE] CMake 3.17.1 available for download

2020-04-09 Thread Robert Maynard
We are pleased to announce that CMake 3.17.1 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.17.1 since 3.17.0:

Ben Boeckel (1):
  ExternalProject: allow `DOWNLOAD_NO_EXTRACT OFF`

Brad King (15):
  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
  CMake 3.17.1

Craig Scott (5):
  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

Francisco Facioni (1):
  cmake-gui: Fix use-after-free in Open-possible check

Jaak Ristioja (1):
  Help: Fixed typo in CMAKE_INSTALL_RPATH_USE_LINK_PATH.rst

Kyle Edwards (2):
  Help: Move Ninja Multi-Config variable details into their respective pages
  Ninja: Make config uppercase in object order target

Lucas Wang (1):
  llvm-rc: Enable preprocessing if CMAKE_RC_COMPILER_INIT is an absolute path

Marc Chevrier (3):
  FindPython: misc. fixes
  FindPython: fix variable spelling error
  FindPython: fix handling when FIND_VIRTUALENV == FIRST

Sylvain Joubert (1):
  ccmake: Use incremental rendering for the logs

Thomas Bernard (4):
  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


[ANNOUNCE] CMake 3.17.0 available for download

2020-03-20 Thread Robert Maynard
I am happy to announce that CMake 3.17.0 is now available for download at:
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.17

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.17/release/3.17.html

Some of the more significant changes in CMake 3.17 are:

* "cmake(1)" gained a "Ninja Multi-Config" generator, which is similar
  to the "Ninja" 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 "Compile Features" functionality now offers meta-features for
  the CUDA language standard levels (e.g. "cuda_std_03",
  "cuda_std_14").  See "CMAKE_CUDA_KNOWN_FEATURES".

* The "CMAKE_CUDA_RUNTIME_LIBRARY" variable and "CUDA_RUNTIME_LIBRARY"
  target property were introduced to select the CUDA runtime library
  used when linking targets that use CUDA.

* The "FindCUDAToolkit" module was added to find the CUDA Toolkit
  without enabling CUDA as a language.

* "cmake(1)" gained a "--debug-find" command-line option to enable
  additional human-readable output on where "find_*" commands search.

* The "CMAKE_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 "FindCURL" module learned to find CURL using the
  "CURLConfig.cmake" package configuration file generated by CURL’s
  cmake buildsystem.  It also gained a new "CURL_NO_CURL_CMAKE" option
  to disable this behavior.

* The "FindPython" module has learned to find Python components in
  active virtual environments managed by "conda".

* The "ctest(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 "ctest(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 "until-pass" and
  "after-timeout".

* Target link properties "INTERFACE_LINK_OPTIONS",
  "INTERFACE_LINK_DIRECTORIES" and "INTERFACE_LINK_DEPENDS" are now
  transitive over private dependencies on static libraries. See policy
  "CMP0099".

* When using MinGW tools, the "find_library()" command no longer finds
  ".dll" files by default.  Instead, it expects ".dll.a" import
  libraries to be available.

* The "Ninja" generator now prefers the first ninja build tool to
  appear in the "PATH" no matter whether it is called "ninja-build",
  "ninja", or "samu".  Previously the first of those names to appear
  anywhere in the "PATH" would be preferred.

* "cmake(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.


CMake 3.17 Release Notes


Changes made since CMake 3.16 include the following.


New Features



Generators
--

* "cmake(1)" gained a "Ninja Multi-Config" generator, which is similar
  to the "Ninja" 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.

* Visual Studio Generators for VS 2010 and above now support
  specifying the "VCTargetsPath" value for project files in
  "CMAKE_GENERATOR_TOOLSET" setting.

* Visual Studio Generators for VS 2010 and above learned to support
  .NET Standard and .NET Core.  See the "DOTNET_TARGET_FRAMEWORK"
  target property and associated "CMAKE_DOTNET_TARGET_FRAMEWORK"
  variable.


Languages
-

* The "Compile Features" functionality now offers meta-features for
  the CUDA language standard levels (e.g. "cuda_std_03",
  "cuda_std_14").  See "CMAKE_CUDA_KNOWN_FEATURES".


Compilers
-

* The IBM XL Fortran compiler is now supported by the "Ninja"
  generator.


Command-Line


* "cmake(1)" gained a "--debug-find" command-line option to enable
  additional human-readable output on where "find_*" commands search.

* "cmake(1)" gained a "--trace-format" command-line option that can be
  used to set the "--trace" output format. Currently, the old human
  readable and the new JSON format are supported. The new JSON format
  is easier to parse automatically than the existing format.

* "cmake(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.


Commands


* The "add_custom_command()" command learned to interpret paths in
  "DEPENDS" arguments that are specified relative to the current
  binary directory.

* The "foreach()" command learned a new "ZIP_LISTS" option 

[ANNOUNCE] CMake 3.17.0-rc3 is ready for testing

2020-03-12 Thread Robert Maynard
not be fixed without breaking compatibility,
  and so have been superseded.


Other Changes
=

* The "file API" index file now emits a "multiConfig" flag specifying
  whether or not the generator supports multiple output
  configurations.

* Target link properties "INTERFACE_LINK_OPTIONS",
  "INTERFACE_LINK_DIRECTORIES" and "INTERFACE_LINK_DEPENDS" are now
  transitive over private dependencies on static libraries. See policy
  "CMP0099".

* When using MinGW tools, the "find_library()" command no longer finds
  ".dll" files by default.  Instead, it expects ".dll.a" import
  libraries to be available.

* The "MinGW Makefiles" generator no longer issues an error if
  "sh.exe" is present in the environment’s "PATH".

* The "Ninja" generator now prefers the first ninja build tool to
  appear in the "PATH" no matter whether it is called "ninja-build",
  "ninja", or "samu".  Previously the first of those names to appear
  anywhere in the "PATH" would be preferred.

* With SDCC the "sdar" tool is now preferred over "sdcclib" as
  librarian. The latter was deprecated by SDCC 3.2.0 and removed in
  SDCC 3.8.6.

* With SDCC the default flags no longer include any target-specific
  flags. Previously the default flags were hard-coded for 8051.

* The "CMAKE_VS_GLOBALS" variable value now applies during compiler
  identification and in targets created by the "add_custom_target()"
  command.

* The "Xcode" generator no longer hard-codes "-Wmost", "-Wno-four-
  char-constants", and "-Wno-unknown-pragmas" warning flags.


Changes made since CMake 3.17.0-rc2:

Betsy McPhail (1):
  CTest: Fix our internal CURL_DEBUGFUNCTION to conform to CURL docs

Bo Anderson (1):
  FindPython: Convert env CMAKE_FRAMEWORK_PATH to CMake path

Brad King (5):
  Help: Clarify add_custom_command DEPENDS conversion to file paths
  Help: Fix toctree order of Xcode scheme variable and property
  Help: Fix 3.17 release notes for Xcode scheme settings
  macOS: Rename OSX_*_VERSION properties to MACHO_*_VERSION
  CMake 3.17.0-rc3

Craig Scott (1):
  Help: Cleanup minor typos and grammar in 3.17 release notes

Jesse Gorzinski (1):
  libuv: Add support for building on IBM i (OS400)

Kyle Edwards (2):
  Ninja Multi-Config: Don't build target dependencies for custom commands
  Ninja Multi-Config: Fix spurious unused variable warning

Marc Chevrier (2):
  FindPython: python_add_library can now manage SOABI suffix.
  Apple Clang: add flags for C++17 standard

Raul Tambre (2):
  cm_cxx_features: Filter out CUDA installation warnings
  cmAlgorithms: Fix -Wnon-c-typedef-for-linkage warnings

Robert Maynard (1):
  CUDAToolkit: Mark find queries as advanced variables

Saleem Abdulrasool (3):
  Swift: support Ninja Multi-Config
  Swift: repair RPATH handling for macOS
  Swift: Fix quoting of library search paths with spaces

ThePrez (1):
  cmstd: Remove -isystem option for IBM i (OS400)

Thomas Bernard (1):
  llvm-rc: Forward DEFINES instead of FLAGS


[ANNOUNCE] CMake 3.16.5 available for download

2020-03-04 Thread Robert Maynard
We are pleased to announce that CMake 3.16.5 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.16.5 since 3.16.4:

Brad King (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
  CMake 3.16.5

Francisco Facioni (1):
  Ninja: Do not use nvcc response files with non-nvcc tools

Kyle Edwards (1):
  install: Fix regression when using default destinations

Marc Chevrier (2):
  FindPython: Mark non-public cache entries INTERNAL in CMake 3.16
  FindPython: Do not cache computed result variables in CMake 3.16

Rolf Eike Beer (1):
  FindPkgConfig: set policies CMP0054 and CMP0057 to new


[ANNOUNCE] CMake 3.17.0-rc2 is ready for testing

2020-03-02 Thread Robert Maynard
IES" and "INTERFACE_LINK_DEPENDS" are now
  transitive over private dependencies on static libraries. See policy
  "CMP0099".

* When using MinGW tools, the "find_library()" command no longer finds
  ".dll" files by default.  Instead it expects ".dll.a" import
  libraries to be available.

* The "MinGW Makefiles" generator no longer issues an error if
  "sh.exe" is present in the environment’s "PATH".

* The "Ninja" generator now prefers the first ninja build tool to
  appear in the "PATH" no matter whether it is called "ninja-build",
  "ninja", or "samu".  Previously the first of those names to appear
  anywhere in the "PATH" would be preferred.

* With SDCC the "sdar" tool is now preferred over "sdcclib" as
  librarian. The latter was deprecated by SDCC 3.2.0 and removed in
  SDCC 3.8.6.

* With SDCC the default flags no longer include any target-specific
  flags. Previously the default flags were hard-coded for 8051.

* The "CMAKE_VS_GLOBALS" variable value now applies during compiler
  identification and in targets created by the "add_custom_target()"
  command.

* The "Xcode" generator no longer hard-codes "-Wmost", "-Wno-four-
  char-constants", and "-Wno-unknown-pragmas" warning flags.


Changes made since CMake 3.17.0-rc1:

Brad King (4):
  Help: Replace UTF-8 apostrophe with ascii apostrophe
  KWSys: SystemTools: CopyFileIfDifferent: Fix endless recursion
  KWSys: Terminal: Add st-256color to VT100 color support whitelist
  CMake 3.17.0-rc2

Craig Scott (3):
  Tests: Fix test_clean target missing some test directories
  Tests: Add missing ExternalProject smoke tests
  ExternalProject: Quote each git --config option to handle spaces

Cristian Adam (1):
  PCH: Copy the timestamp from an absolute header file

Francisco Facioni (1):
  Ninja: Do not use nvcc response files with non-nvcc tools

Kyle Edwards (14):
  Ninja Multi-Config: Fix issue with framework dependencies and Autogen
  Refactor: Require detail when calling cmCTestRunTest::StartFailure()
  CTest: Improve error reporting with bad working directory for tests
  Refactor: Provide more detailed error information from TryAllocateResources()
  CTest: Provide more detailed information on resource allocation error
  Tests: Fix CustComDepend test for Ninja Multi-Config
  Tests: Fix CFBundleTest for Ninja Multi-Config
  Help: Note that CMAKE_CFG_INTDIR is not fully supported on Ninja Multi-Config
  Help: Clarify that the CTest resource allocation feature doesn't oversubscribe
  Ninja Multi-Config: Remove "NMC" from variable names
  Generator: Don't allow Ninja Multi-Config variables on other generators
  Ninja Multi-Config: Always generate build.ninja
  foreach: Fix crash when parsing invalid integer
  foreach: Set fatal error on invalid range

Marc Chevrier (2):
  FindPython: Mark non-public cache entries INTERNAL
  FindPython: Do not cache computed result variables

Richard (1):
  Autogen: Recognize the new Q_NAMESPACE_EXPORT macro in AUTOMOC

Robert Maynard (1):
  FindCUDA: Only depend on Threads::Threads on platforms that need it

Rolf Eike Beer (2):
  FindPkgConfig: set policies CMP0054 and CMP0057 to new
  Tests: fix RunCMake.Make test when run on systems with non-english locale

Saleem Abdulrasool (1):
  Swift: support `-rpath` for executables

Sergey Larin (1):
  PCH: Clang: Update PCH usage flags to include original header


[ANNOUNCE] CMake 3.17.0-rc1 is ready for testing

2020-02-12 Thread Robert Maynard
I am proud to announce the first CMake 3.17 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.17

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.17/release/3.17.html

Some of the more significant changes in CMake 3.17 are:

* "cmake(1)" gained a "Ninja Multi-Config" generator, which is similar
  to the "Ninja" 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 "Compile Features" functionality now offers meta-features for
  the CUDA language standard levels (e.g. "cuda_std_03",
  "cuda_std_14").  See "CMAKE_CUDA_KNOWN_FEATURES".

* The "CMAKE_CUDA_RUNTIME_LIBRARY" variable and "CUDA_RUNTIME_LIBRARY"
  target property were introduced to select the CUDA runtime library
  used when linking targets that use CUDA.

* The "FindCUDAToolkit" module was added to find the CUDA Toolkit
  without enabling CUDA as a language.

* "cmake(1)" gained a "--debug-find" command-line option to enable
  additional human-readable output on where find commands search.

* The "CMAKE_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 "FindCURL" module learned to find CURL using the
  "CURLConfig.cmake" package configuration file generated by CURL’s
  cmake buildsystem.  It also gained a new "CURL_NO_CURL_CMAKE" option
  to disable this behavior.

* The "FindPython" module has learned to find Python components in
  active virtual environments managed by "conda".

* The "ctest(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 "ctest(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 "until-pass" and
  "after-timeout".

* Target link properties "INTERFACE_LINK_OPTIONS",
  "INTERFACE_LINK_DIRECTORIES" and "INTERFACE_LINK_DEPENDS" are now
  transitive over private dependencies on static libraries. See policy
  "CMP0099".

* When using MinGW tools, the "find_library()" command no longer finds
  ".dll" files by default.  Instead it expects ".dll.a" import
  libraries to be available.

* The "Ninja" generator now prefers the first ninja build tool to
  appear in the "PATH" no matter whether it is called "ninja-build",
  "ninja", or "samu".  Previously the first of those names to appear
  anywhere in the "PATH" would be preferred.

* "cmake(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.


CMake 3.17 Release Notes


Changes made since CMake 3.16 include the following.


New Features



Generators
--

* "cmake(1)" gained a "Ninja Multi-Config" generator, which is similar
  to the "Ninja" 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.

* Visual Studio Generators for VS 2010 and above now support
  specifying the "VCTargetsPath" value for project files in
  "CMAKE_GENERATOR_TOOLSET" setting.

* Visual Studio Generators for VS 2010 and above learned to support
  .NET Standard and .NET Core.  See the "DOTNET_TARGET_FRAMEWORK"
  target property and associated "CMAKE_DOTNET_TARGET_FRAMEWORK"
  variable.


Languages
-

* The "Compile Features" functionality now offers meta-features for
  the CUDA language standard levels (e.g. "cuda_std_03",
  "cuda_std_14").  See "CMAKE_CUDA_KNOWN_FEATURES".


Compilers
-

* The IBM XL Fortran compiler is now supported by the "Ninja"
  generator.


Command-Line


* "cmake(1)" gained a "--debug-find" command-line option to enable
  additional human-readable output on where find commands search.

* "cmake(1)" gained a "--trace-format" command-line option that can be
  used to set the "--trace" output format. Currently, the old human
  readable and the new JSON format are supported. The new JSON format
  is easier to parse automatically, than the existing format.

* "cmake(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.


Commands


* The "add_custom_command()" command learned to interpret paths in
  "DEPENDS" arguments that are specified relative to the current
  binary directory.

* The "foreach()" learned a new option "ZIP_LISTS" to iterate over
  multiple 

[ANNOUNCE] CMake 3.16.4 available for download

2020-02-05 Thread Robert Maynard
We are pleased to announce that CMake 3.16.4 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.16.4 since 3.16.3:

Brad King (6):
  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
  CMake 3.16.4

Kyle Edwards (3):
  file(GET_RUNTIME_DEPENDENCIES): Tolerate empty list arguments
  Help: Add more variable documentation to FindMPI
  CPack: Fix regression in Deb description


[ANNOUNCE] CMake 3.15.7 available for download

2020-02-04 Thread Robert Maynard
We are pleased to announce that CMake 3.15.7 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.15.7 since 3.15.6:

Brad King (4):
  IRSL: Install msvcp140_{1,2,codecvt_ids}.dll if available
  ASM_MASM: Populate MSVC runtime library abstraction table
  VS: Tell VS 16.4 not to verify SYMBOLIC custom command inputs
  CMake 3.15.7

Robert Maynard (1):
  CUDA: Do not device link if target has no CUDA usage


[ANNOUNCE] CMake 3.16.3 available for download

2020-01-21 Thread Robert Maynard
We are pleased to announce that CMake 3.16.3 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.16.3 since 3.16.2:

Ashley Whetter (1):
  FindOpenSSL: Fix ordering of dependency link flags

Brad King (3):
  GNUtoMS: Add search path for VS 2019 environment scripts
  IRSL: Install msvcp140_{1,2,codecvt_ids}.dll if available
  CMake 3.16.3

Cristian Adam (4):
  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)

Kyle Edwards (2):
  CTest: Improve error handling when reading resource spec file
  CPack: Fix regression in DEB generator description

Marc Chevrier (3):
  FindPython*: Fix erroneous target properties setting
  macOS: Add support for new Xcode 11 frameworks directory
  FindPython: ensure new Xcode framework for Python3 is detected

Miro Hrončok (1):
  FindPython: Add support for version 3.9

Neil Carlson (1):
  Fortran: Add support for NAG Fortran submodules

Pavel Liavonau (1):
  VS: Add Fortran link flag table entries for /OPT:*

Robert Maynard (1):
  CUDA: Do not device link if target has no CUDA usage

Sebastian Holtermann (1):
  Autogen: Enable SKIP_UNITY_BUILD_INCLUSION on AUTORCC generated files

Silvio Traversaro (2):
  FindMatlab: add R2019a and R2019b MATLAB_VERSIONS_MAPPING
  FindMatlab: in matlab_add_mex use the correct version file


[ANNOUNCE] CMake 3.16.2 available for download

2019-12-19 Thread Robert Maynard
We are pleased to announce that CMake 3.16.2 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.16.2 since 3.16.1:

Brad King (6):
  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
  CMake 3.16.2

Cristian Adam (1):
  PCH: Append pch header file to list of forced include files

Michael Dickens (1):
  Tests: Fix testCTestResourceSpec struct initialization for some compilers


[ANNOUNCE] CMake 3.15.6 available for download

2019-12-16 Thread Robert Maynard
We are pleased to announce that CMake 3.15.6 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.15.6 since 3.15.5:

Alexander Grund (1):
  Check for support before adding bigtoc linker flag

Ben Boeckel (1):
  FindPostgreSQL: support version encoding used in pre-10 releases

Brad King (4):
  CMakeParseImplicitIncludeInfo: Remove all CR chars from compiler output
  VS: Fix support for v142 toolset minor versions in VS 16.5+
  FindBLAS: Consider OpenBLAS with thread libraries only with C or CXX
  CMake 3.15.6

Deniz Bahadir (1):
  FindBoost: Prevent warning due to new meta-component "ALL" of Boost 1.73

Markus Mittendrein (1):
  FindGTK2: Add harfbuzz to GTK2_INCLUDE_DIRS


ANNOUNCE] CMake 3.16.1 available for download

2019-12-10 Thread Robert Maynard
We are pleased to announce that CMake 3.16.1 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.16.1 since 3.16.0:

Alexander Grund (2):
  bootstrap: Add target_link_options command
  Check for support before adding bigtoc linker flag

Ben Boeckel (1):
  TestDriver: ignore strcpy call

Brad King (2):
  FindThreads: Restore hard-coded '-l' flag on library name
  CMake 3.16.1

Cristian Adam (5):
  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

Kyle Edwards (1):
  CTest Resource Allocation: Add test for spec file with no version

Tobias Taschner (1):
  FindwxWidgets: Add support for 3.1.3 on macOS


[ANNOUNCE] CMake 3.16.0 available for download

2019-11-26 Thread Robert Maynard
I am happy to announce that CMake 3.16.0 is now available for download at:
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.16

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.16/release/3.16.html

Some of the more significant changes in CMake 3.16 are:

* 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.

* The "target_precompile_headers()" command was added to specify a
  list of headers to precompile for faster compilation times.

* The "UNITY_BUILD" target property was added to tell generators to
  batch include source files for faster compilation times.

* 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 "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".

* "ctest(1)" now has the ability to serialize tests based on
  resource requirements for each test. See Resource Allocation for
  details.

* 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).

* "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.

* 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)".


CMake 3.16 Release Notes


Changes made since CMake 3.15 include the following.


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
  

[ANNOUNCE] CMake 3.16.0-rc4 is ready for testing

2019-11-18 Thread Robert Maynard
ted 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.


Changes made since CMake 3.16.0-rc3:

Alex Turbov (1):
  CPack: Remove CPACK_INSTALL_CMAKE_CONFIGURATIONS

Arkadiusz Drabczyk (1):
  Tutorial: replace Unicode EN DASH with ASCII dash

Ben Boeckel (3):
  Help: drop confusing reference to `if()` from `$`
  FindPostgreSQL: support version encoding used in pre-10 releases
  FindPostgreSQL: also search for libraries in the MacPorts suffix

Brad King (20):
  CTest: Rename PROCESSES test property to RESOURCE_GROUPS
  CTest: Rename "Processes" lexer to "ResourceGroups"
  Help/dev: Update maintainer guide for Discourse transition
  cmGlobalXCodeGenerator: Mark known source locations
  Xcode: Fix generated references to CMakeLists.txt files
  CMakeCPack: Update Debian package contact email
  Help: Replace links to mailing lists with links to our Discourse Forum
  README: Update links to cmake.org pages
  README: Replace link to mailing list the CMake Discourse Forum
  CMakeSystemSpecificInformation: Replace mailing list with Discourse Forum
  FindBinUtils: Revert "Use the compiler to get the path to compiler tools"
  Help: Document target_precompile_headers genex with angle brackets
  CTestCoverageCollectGCOV: Fix typo in ctest_coverage_collect_gcov docs
  expat: Update script to get Expat 2.2.9
  expat: Update CMake build for 2.2.9
  Tests: Fix ExportImport PCH expectation on Cray Classic compiler
  Tests: Add RunCMake.CPackCommandLine case for multi-config package
  Tests: Organize Objective C/C++ test directories
  CPack: Restore support for custom package configuration templates
  CMake 3.16.0-rc4

Charles Barto (1):
  Help: Clarify load_cache documentation of first parameter

Craig Scott (14):
  ForceToRelativePath: Fix spurious assertion when local path is root dir
  Help: list(REMOVE_ITEM) removes all instances, not just the first found
  Help: Typo and grammar fixes for file(GET_RUNTIME_DEPENDENCIES)
  Tutorial: clean up typos, grammar and formatting
  RPATH: Remove stray indent in generated file(RPATH_CHANGE) command
  Help: Fix inaccuracies in INSTALL_REMOVE_ENVIRONMENT_RPATH docs
  CTest: Rename hardware -> resources for CMake variables, command options
  cmCTestMultiProcessHandler: Rename resource locking functions
  CTest: Rename hardware -> resources for source code
  CTest: Rename hardware -> resources for RunCMake tests
  Help: Improve readability and fix inaccuracies in unity build docs
  Help: Reorganise target_precompile_headers() docs for readability
  Help: Provide guidance on INTERFACE for target_precompile_headers()
  Help: Clarify compile features handling for OBJC and OBJCXX

Craig Sturdy (1):
  FindwxWidgets: Add support for wxQt

Cristian Adam (13):
  PCH: Add support for OBJC/OBJCXX languages
  CMakeVersion.rc: Fix build with llvm-rc
  ObjC: Mark explicitly the language for compilation
  Unity build: Include GENERATED files into unity build
  ObjC: Set same settings for all languages supported on Darwin
  ObjC: Add try_compile support
  PCH: No repeated path for internal generated PCH files
  Unity: Don't include sources with HEADER_FILE_ONLY property set
  ObjC: Document ObjC/ObjCXX standard properties / variables
  ObjC: Add OBJC/OBJCXX flags to Xcode projects
  ObjC: Initialize ObjC/XX standard properties from C/C++ counterparts
  ObjC: Proper initialization of ObjC/XX standard properties
  PCH: Do not issue an error on duplicate target_precompile_headers call

Daniel Eiband (2):
  cmFileAPI: Resolve full path in PCH source comparison
  UnityBuild: Resolve full paths of unity source includes

Deniz Bahadir (1):
  FindBoost: Prevent warning due to new meta-component "ALL" of Boost 1.73

Expat Upstream (1):
  expat 2019-09-25 (a7bc26b6)

Grant Kim (1):
  FindwxWidgets: Add link dependencies for MinGW

Kyle Edwards (2):
  Help: Fix error in resource allocation example
  Tests: Fix reliance on undefined behavior of cm::optional

Marc Aldorasi (2):
  Help: Reference IMPORTED_IMPLIB from the IMPORTED_LOCATION documentation
  Help: Both add_custom_command signatures support COMMAND_EXPAND_LISTS

Mateusz Janek (1):
  source_group: ensure that passed file is not a directory

Robert Maynard (3):
  Help: Remove out of date bounds on compile feature supported versions
  find_package: Add support for CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY
  Help: Clarify what 'aware' means as it relates to C++ standards

Saleem Abdulrasool (3):
  Swift: Allow build and installed RPATHs to differ
  Swift: support `INSTALL_NAME_DIR` on Darwin
  Swift: support `-rpath` on Darwin

Tomasz Słodkowicz (1):
  FindwxWidgets: Add support for 3.1.3 VS binaries


[ANNOUNCE] CMake 3.16.0-rc3 is ready for testing

2019-10-31 Thread Robert Maynard
I am proud to announce the third CMake 3.16 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.16

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.16/release/3.16.html

Some of the more significant changes in CMake 3.16 are:

* 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.

* The "target_precompile_headers()" command was added to specify a
  list of headers to precompile for faster compilation times.

* The "UNITY_BUILD" target property was added to tell generators to
  batch include source files for faster compilation times.

* 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 "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".

* "ctest(1)" now has the ability to serialize tests based on
  hardware requirements for each test. See Hardware Allocation for
  details.

* 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).

* "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.

* 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)".


CMake 3.16 Release Notes


Changes made since CMake 3.15 include the following.


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 

[ANNOUNCE] CMake 3.16.0-rc2 is ready for testing

2019-10-20 Thread Robert Maynard
I am proud to announce the second CMake 3.16 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.16

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.16/release/3.16.html

Some of the more significant changes in CMake 3.16 are:

* 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.

* The "target_precompile_headers()" command was added to specify a
  list of headers to precompile for faster compilation times.

* The "UNITY_BUILD" target property was added to tell generators to
  batch include source files for faster compilation times.

* 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 "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".

* "ctest(1)" now has the ability to serialize tests based on
  hardware requirements for each test. See Hardware Allocation for
  details.

* 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).

* "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.

* 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)".


CMake 3.16 Release Notes


Changes made since CMake 3.15 include the following.


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 

[ANNOUNCE] CMake 3.16.0-rc1 is ready for testing

2019-10-10 Thread Robert Maynard
I am proud to announce the first CMake 3.16 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.16

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.16/release/3.16.html

Some of the more significant changes in CMake 3.16 are:

* 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.

* The "target_precompile_headers()" command was added to specify a
  list of headers to precompile for faster compilation times.

* The "UNITY_BUILD" target property was added to tell generators to
  batch include source files for faster compilation times.

* 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 "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".

* "ctest(1)" now has the ability to serialize tests based on
  hardware requirements for each test. See Hardware Allocation for
  details.

* 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).

* "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.

* 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)".


CMake 3.16 Release Notes


Changes made since CMake 3.15 include the following.


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 

[ANNOUNCE] CMake 3.15.4 available for download

2019-10-02 Thread Robert Maynard
We are pleased to announce that CMake 3.15.4 is now available for download.

This release fixes a regression in EXCLUDE_FROM_ALL.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.15.4 since 3.15.3:

Brad King (10):
  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
  CMake 3.15.4

LE GARREC Vincent (1):
  Help: Document VS 2019 toolset in MSVC_TOOLSET_VERSION


[ANNOUNCE] CMake 3.14.7 available for download

2019-10-02 Thread Robert Maynard
We are pleased to announce that CMake 3.14.7 is now available for download.

This release fixes a regression in EXCLUDE_FROM_ALL.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.14.7 since 3.14.6:

Brad King (6):
  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
  Restore "all" target in subdirectories marked EXCLUDE_FROM_ALL
  Help: Add release note for EXCLUDE_FROM_ALL fix in 3.14.7
  CMake 3.14.7


[ANNOUNCE] CMake 3.15.3 available for download

2019-09-04 Thread Robert Maynard
We are pleased to announce that CMake 3.15.3 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.15.3 since 3.15.2:

Brad King (13):
  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
  CMake 3.15.3

Chuck Atkins (1):
  CrayPrgEnv: Change default linking mode based on PE version

M Furkan USLU (1):
  ccmake: handle cache entries with empty STRINGS property

Marvin Schmidt (1):
  libarchive: We now require at least version 3.3.3

Robert Maynard (1):
  FindMPI: Restore MPI__COMPILE_FLAGS and MPI__COMPILE_OPTIONS

Sebastian Holtermann (3):
  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


[ANNOUNCE] CMake 3.15.2 available for download

2019-08-07 Thread Robert Maynard
We are pleased to announce that CMake 3.15.2 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.15.2 since 3.15.1:

Brad King (8):
  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
  CMake 3.15.2

Claudio Fantacci (3):
  FindGLEW: Fix macOS library suffix selection
  FindGLEW: Add required OpenGL dependency in macOS
  FindGLEW: Fix typo in verbose log message

Cristian Adam (1):
  find_package: Fix prefer-config mode to not fail on missing optional package


[ANNOUNCE] CMake 3.15.1 available for download

2019-07-26 Thread Robert Maynard
We are pleased to announce that CMake 3.15.1 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.15.1 since 3.15.0:

Betsy McPhail (1):
  CTest: Generate Done.xml before calculating its hash

Brad King (7):
  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
  CMake 3.15.1

James Butler (2):
  IRSL: Fix typo in v143 toolset version check
  IRSL: Fix discovery of VS 2019 v141 toolset redistributables

Marc Chevrier (1):
  FindPython: ensure interpreter is founded when cross-compiling

Marek Antoniak (1):
  Fix allocation in CROSSCOMPILING_EMULATOR evaluation

Robert Maynard (2):
  FindMPI: Updated to use INTERFACE_LINK_OPTIONS
  FindMPI: make sure computed link flags are not de-duplicated

Saleem Abdulrasool (5):
  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


[ANNOUNCE] CMake 3.15.0 available for download

2019-07-17 Thread Robert Maynard
I am happy to announce that CMake 3.15.0 is now available for download at:
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.15

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.15/release/3.15.html

Some of the more significant changes in CMake 3.15 are:

* 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".

* With MSVC-like compilers the value of "CMAKE__FLAGS" no
  longer contains warning flags like "/W3" by default. See policy
  "CMP0092".

* The "Clang" compiler variant on Windows that targets the MSVC ABI
  but has a GNU-like command line is now supported.

* Preliminary support for the "Swift" language was added to the
  "Ninja" generator.

* The "$" generator expression was
  introduced to allow specification of compile options for target
  files based on the "CMAKE__COMPILER_ID" and "LANGUAGE" of each
  source file.

* 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.

* 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 "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 "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 "FindBoost" module was reworked to expose a more consistent
  user experience between its “Config” and “Module” modes and with
  other find modules in general.

* The "message()" command learned new types: "NOTICE", "VERBOSE",
  "DEBUG" and "TRACE".

* The "export(PACKAGE)" command now does nothing unless enabled via
  "CMAKE_EXPORT_PACKAGE_REGISTRY". See policy "CMP0090".


* 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)" 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-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.


CMake 3.15 Release Notes


Changes made since CMake 3.14 include the following.


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 

[ANNOUNCE] CMake 3.14.6 available for download

2019-07-16 Thread Robert Maynard
We are pleased to announce that CMake 3.14.6 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.14.6 since 3.14.5:

Brad King (1):
  CMake 3.14.6

Brian Carlson (1):
  FindBISON: Fix CMP0088 NEW behavior for non-absolute input paths

Chuck Atkins (1):
  Cray: Fix include parsing when the -hlist= flag is present

Marc Chevrier (1):
  Android: ensure PIE behavior is consistent regardless CMP0083 policy


[ANNOUNCE] CMake 3.15.0-rc4 is ready for testing

2019-07-10 Thread Robert Maynard
_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.



Changes made since CMake 3.15.0-rc3:

Alex Turbov (1):
  list(POP_FRONT): Fix always assigning first item to output vars

Brad King (4):
  expat: Update script to get Expat 2.2.7
  FindPostgreSQL: Fix regression in computation of library directory
  cmGlobalGenerator: Do not persist alias targets across configures
  CMake 3.15.0-rc4

Chuck Atkins (1):
  Cray: Fix include parsing when the -hlist= flag is present

Craig Scott (8):
  Help: Remove self-references from project() docs
  Help: move code injection vars to their own section
  Help: Clean up trivial typos and grammar
  Help: Improve formatting of list(TRANSFORM) sub-options
  Help: Add missing xref for CMAKE_EXECUTE_PROCESS_COMMAND_ECHO
  Help: Clarify how to provide multiple targets with cmake --target
  Help: Remove mention of CMAKE_INSTALL_DO_STRIP
  Help: Use consistent levels for cmake --loglevel and message()

Expat Upstream (1):
  expat 2019-06-19 (d3b78b42)

Frank Dana (1):
  message() help: Clarify how logs are displayed in various tools

Oleg Chernovskiy (1):
  Help: Discourage using CMAKE_SOURCE_DIR in toolchain files

Robert Maynard (2):
  CUDA: Do not device link if CUDA is not an enabled language
  CUDA: Restore device linking to imported static library targets

Sebastian Holtermann (2):
  Tests: Autogen: Use valid rcc compression levels
  QtDialog: Use QPalette::WindowText instead of QPalette::Foreground

Stefan Andersson (1):
  IAR: Add support for the RISC-V compiler


[ANNOUNCE] CMake 3.15.0-rc3 is ready for testing

2019-06-27 Thread Robert Maynard
I am proud to announce the third CMake 3.15 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.15

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.15/release/3.15.html

Some of the more significant changes in CMake 3.15 are:

* 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".

* With MSVC-like compilers the value of "CMAKE__FLAGS" no
  longer contains warning flags like "/W3" by default. See policy
  "CMP0092".

* The "Clang" compiler variant on Windows that targets the MSVC ABI
  but has a GNU-like command line is now supported.

* Preliminary support for the "Swift" language was added to the
  "Ninja" generator.

* The "$" generator expression was
  introduced to allow specification of compile options for target
  files based on the "CMAKE__COMPILER_ID" and "LANGUAGE" of each
  source file.

* 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.

* 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 "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 "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 "FindBoost" module was reworked to expose a more consistent
  user experience between its “Config” and “Module” modes and with
  other find modules in general.

* The "message()" command learned new types: "NOTICE", "VERBOSE",
  "DEBUG" and "TRACE".

* The "export(PACKAGE)" command now does nothing unless enabled via
  "CMAKE_EXPORT_PACKAGE_REGISTRY". See policy "CMP0090".


* 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)" 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-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.


CMake 3.15 Release Notes


Changes made since CMake 3.14 include the following.


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.

[ANNOUNCE] CMake 3.15.0-rc2 is ready for testing

2019-06-19 Thread Robert Maynard
RIDE". 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.



Changes made since CMake 3.15.0-rc1:

Alexander Grund (5):
  Tests.FindBoost: Don't use BoostConfig in MODULE test
  Tests.RunCMake.FindBoost: Fix example BoostConfig
  FindBoost: Don't overwrite Boost_${_comp}_FOUND
  FindBoost: Add legacy variables and targets for compatibility
  FindBoost: Add tests for legacy variables

Alexander Neumann (1):
  FindBLAS: Add second try for OpenBLAS with thread libraries.

Brad King (8):
  Help: Document XLClang compiler id
  fileapi: Factor out helper to construct a version object
  cmake: Simplify implementation of -E capabilities
  cmake: Teach -E capabilities to report supported fileapi requests
  cmake-gui: Update Qt copyright holder in About dialog
  fileapi: Suppress lint warning about non-move with old jsoncpp
  Help: Document what project() calls use CMAKE_PROJECT_INCLUDE and friends
  CMake 3.15.0-rc2

Craig Scott (2):
  Help: Trivial typo and grammar fixes for FindEnvModules
  Help: Move ADDITIONAL_MAKE_CLEAN_FILES dir prop to deprecated section

Cristian Adam (1):
  find_package: Fixed CMAKE_FIND_PACKAGE_PREFER_CONFIG Module fallback

Marc Chevrier (1):
  Android: ensure PIE behavior is consistent regardless CMP0083 policy

Mathieu Malaterre (1):
  CPack/NuGet: Find nuget tool on case sensitive file system

Robert Maynard (1):
  FindMPI: Store imported target link flags as a list instead of a string

Rolf Eike Beer (1):
  CheckCXXSymbolExists: reference to CheckCXXSourceCompiles instead of C version

Sebastian Holtermann (2):
  Autogen: Fix header detection for paths with symbolic links
  Help: Improve ADDITIONAL_CLEAN_FILES documentation


[ANNOUNCE] CMake 3.15.0-rc1 is ready for testing

2019-06-04 Thread Robert Maynard
I am proud to announce the first CMake 3.15 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.15

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.15/release/3.15.html

Some of the more significant changes in CMake 3.15 are:

* 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".

* With MSVC-like compilers the value of "CMAKE__FLAGS" no
  longer contains warning flags like "/W3" by default. See policy
  "CMP0092".

* The "Clang" compiler variant on Windows that targets the MSVC ABI
  but has a GNU-like command line is now supported.

* Preliminary support for the "Swift" language was added to the
  "Ninja" generator.

* The "$" generator expression was
  introduced to allow specification of compile options for target
  files based on the "CMAKE__COMPILER_ID" and "LANGUAGE" of each
  source file.

* 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.

* 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 "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 "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 "FindBoost" module was reworked to expose a more consistent
  user experience between its “Config” and “Module” modes and with
  other find modules in general.

* The "message()" command learned new types: "NOTICE", "VERBOSE",
  "DEBUG" and "TRACE".

* The "export(PACKAGE)" command now does nothing unless enabled via
  "CMAKE_EXPORT_PACKAGE_REGISTRY". See policy "CMP0090".


* 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)" 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-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.


CMake 3.15 Release Notes


Changes made since CMake 3.14 include the following.


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.

[ANNOUNCE] CMake 3.14.5 available for download

2019-05-31 Thread Robert Maynard
We are pleased to announce that CMake 3.14.5 is now available for download.

The Visual Studio 2019 16.1 update introduced a regression in MSBuild's
evaluation of custom command dependencies causing them to re-run on every build.
CMake 3.14.5 includes a workaround, for more details on the issue see:
  https://gitlab.kitware.com/cmake/cmake/issues/19303

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.14.5 since 3.14.4:

Alex Turbov (1):
  FindBoost: Add compiler features for Boost Contract library

Brad King (5):
  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
  CMake 3.14.5

Frans van Dorsselaer (2):
  VS: Clarify name of custom commands AdditionalInputs variable
  VS: De-duplicate custom command dependencies


[ANNOUNCE] CMake 3.14.4 available for download

2019-05-14 Thread Robert Maynard
We are pleased to announce that CMake 3.14.4 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.14.4 since 3.14.3:

Alex Turbov (2):
  FindBoost: Record compiler features for Boost 1.67 and above
  FindBoost: Fix compiler features for `fiber` and `context`

Alexandru Croitor (1):
  iOS: Fix try_compile FILE_COPY not to fail

Brad King (3):
  target_link_libraries: Fix static library private deps in other dirs
  Help: Add 3.14.4 release notes
  CMake 3.14.4

Daniele E. Domenichelli (1):
  FindSWIG: Support swig4.0

Gregor Jasny (2):
  Apple: Preserve high resolution mtime for static libraries
  Apple: Properly lookup XCTest for iOS and tvOS

Marc Chevrier (2):
  FindPython: NumPy: fix erroneous dependencies management
  FindPython: ensure variable Python_RUNTIME_LIBRARY_DIRS is set correctly


[ANNOUNCE] CMake 3.13.5 available for download

2019-05-14 Thread Robert Maynard
We are pleased to announce that CMake 3.13.5 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.13.5 since 3.13.4:

Brad King (3):
  target_link_libraries: Fix static library private deps in other dirs
  Help: Add 3.13.5 release notes
  CMake 3.13.5

Nils Gladitz (1):
  CMake: Fix WiX installer downgrades with versioned binaries


[ANNOUNCE] CMake 3.14.3 available for download

2019-04-22 Thread Robert Maynard
We are pleased to announce that CMake 3.14.3 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.14.3 since 3.14.2:

Ben Boeckel (1):
  FindOpenGL: look for GLVND libraries with a libglvnd suffix

Brad King (4):
  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
  CMake 3.14.3

Christian Pfeiffer (1):
  FindQt3: Restore missing lib and bin path suffixes

Rolf Eike Beer (1):
  FindBoost: Fix detection with version suffixes on Gentoo


[ANNOUNCE] CMake 3.14.2 available for download

2019-04-12 Thread Robert Maynard
We are pleased to announce that CMake 3.14.2 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.14.2 since 3.14.1:

Brad King (9):
  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 3.14.2

Julien Jomier (1):
  cmake-gui: Fix icon overlay on windows

Regina Pfeifer (1):
  Modules/CTest: Fix SubmitURL

mistersandman (1):
  cmake-gui: Fix theme on Windows with Qt >= 5.10


[ANNOUNCE] CMake 3.14.1 available for download

2019-03-29 Thread Robert Maynard
We are pleased to announce that CMake 3.14.1 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.14.1 since 3.14.0:

Brad King (11):
  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
  CMake 3.14.1

Clément Rezvoy (1):
  CPackIFW: Add missing cpack_ifw_configure_component_group option processing

Marc Chevrier (1):
  FindPython*: ensure correct architecture is selected.

Sebastian Holtermann (1):
  Autogen: Do not treat hard-coded -I/usr/include exclusion as implicit include

Sylvain Joubert (1):
  ctest_coverage: fix out-of-bounds index in Jacoco parser


[ANNOUNCE] CMake 3.14.0 available for download

2019-03-14 Thread Robert Maynard
I am happy to announce that CMake 3.14.0 is now available for download at:
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.14

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.14/release/3.14.html

Some of the more significant changes in CMake 3.14 are:

* Support for running CMake on Windows XP and Windows Vista has been
  dropped. The precompiled Windows binaries provided on "cmake.org"
  now require Windows 7 or higher.

* CMake now supports Cross Compiling for iOS, tvOS, or watchOS using
  simple toolchain files.

* The "Visual Studio 16 2019" generator was added.  This is
  experimental and based on "Visual Studio 2019 Preview 4" because
  this version of VS has not been released.

  The VS 2019 generator differs from generators for earlier versions
  in that it does not provide variants that specify the target
  platform in the generator name.  Instead "CMAKE_GENERATOR_PLATFORM"
  must be used, e.g. through the "-A" command-line option.
  Furthermore, the default target platform (architecture) is now based
  on the *host* platform.  The VS host toolset selection is now based
  on the host architecture as well.

* The "Green Hills MULTI" generator has been updated to include Object
  Library support, support for target renaming and destination output
  control properties, and other improvements.

* 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.

* 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 "install(CODE)" and "install(SCRIPT)" commands learned to
  support generator expressions.  See policy "CMP0087".

* The "if()" command gained support for checking if cache variables
  are defined with the  "DEFINED CACHE{VAR}" syntax.

* A file-based api for clients to get semantic buildsystem
  information has been added.  See the "cmake-file-api(7)" manual.
  This is intended to replace the "cmake-server(7)" mode for IDEs.

* The "cmake(1)" Build Tool Mode ("cmake --build") gained "--
  verbose" and "-v" options to specify verbose build output. Some
  generators such as Xcode don't support this option currently.

* The "cmake(1)" "-E compare_files" command learned a new "--ignore-
  eol" option to specify that end-of-line differences (e.g. LF vs
  CRLF) should be ignored when comparing files.


CMake 3.14 Release Notes


Changes made since CMake 3.13 include the following.


New Features



Generators
--

* The "Visual Studio 16 2019" generator was added.  This is
  experimental and based on "Visual Studio 2019 Preview 4" because
  this version of VS has not been released.

  The VS 2019 generator differs from generators for earlier versions
  in that it does not provide variants that specify the target
  platform in the generator name.  Instead "CMAKE_GENERATOR_PLATFORM"
  must be used, e.g. through the "-A" command-line option.
  Furthermore, the default target platform (architecture) is now based
  on the *host* platform.  The VS host toolset selection is now based
  on the host architecture as well.

* The "Green Hills MULTI" generator has been updated:

  * Now supports Object Libraries.

  * Now warns on unsupported project types such as shared libraries.

  * Now generates a top-level ".top.gpj" for each
directory calling the "project()" command.  The top-level project
file "default.gpj" is no longer created.

  * Now honors target renaming and destination output control
properties such as "RUNTIME_OUTPUT_DIRECTORY" and "OUTPUT_NAME".
This also fixes support for installation rules generated by
"install()".

  * Now honors source file properties "INCLUDE_DIRECTORIES",
"COMPILE_DEFINITIONS", and "COMPILE_OPTIONS".

  * Now supports Dynamic Download Integrity Applications which did
not include Integrate Files via "GHS_INTEGRITY_APP" and setting a
target link flag of "-dynamic".

  * The contents of project files now sorts sources groups and files
by name. Set the "GHS_NO_SOURCE_GROUP_FILE" target property to
"ON" to generate a single project file for the target instead of a
project file for each source group.  Set the
"CMAKE_GHS_NO_SOURCE_GROUP_FILE" variable to enable this for all
targets.


File-Based API
--

* A file-based api for 

[ANNOUNCE] CMake 3.14.0-rc4 is ready for testing

2019-03-08 Thread Robert Maynard
I am proud to announce the fourth CMake 3.14 release candidate.
  https://cmake.org/download/

The first two 3.14.0 release candidates included the FindOcatave
module. This has been removed in rc3, and rc4 pending further
development.

Documentation is available at:
  https://cmake.org/cmake/help/v3.14

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.14/release/3.14.html

Some of the more significant changes in CMake 3.14 are:

* Support for running CMake on Windows XP and Windows Vista has been
  dropped. The precompiled Windows binaries provided on "cmake.org"
  now require Windows 7 or higher.

* CMake now supports Cross Compiling for iOS, tvOS, or watchOS using
  simple toolchain files.

* The "Visual Studio 16 2019" generator was added.  This is
  experimental and based on "Visual Studio 2019 Preview 4" because
  this version of VS has not been released.

  The VS 2019 generator differs from generators for earlier versions
  in that it does not provide variants that specify the target
  platform in the generator name.  Instead "CMAKE_GENERATOR_PLATFORM"
  must be used, e.g. through the "-A" command-line option.
  Furthermore, the default target platform (architecture) is now based
  on the *host* platform.  The VS host toolset selection is now based
  on the host architecture as well.

* The "Green Hills MULTI" generator has been updated to include Object
  Library support, support for target renaming and destination output
  control properties, and other improvements.

* 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.

* 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 "install(CODE)" and "install(SCRIPT)" commands learned to
  support generator expressions.  See policy "CMP0087".

* The "if()" command gained support for checking if cache variables
  are defined with the  "DEFINED CACHE{VAR}" syntax.

* A file-based api for clients to get semantic buildsystem
  information has been added.  See the "cmake-file-api(7)" manual.
  This is intended to replace the "cmake-server(7)" mode for IDEs.

* The "cmake(1)" Build Tool Mode ("cmake --build") gained "--
  verbose" and "-v" options to specify verbose build output. Some
  generators such as Xcode don't support this option currently.

* The "cmake(1)" "-E compare_files" command learned a new "--ignore-
  eol" option to specify that end-of-line differences (e.g. LF vs
  CRLF) should be ignored when comparing files.


CMake 3.14 Release Notes


Changes made since CMake 3.13 include the following.


New Features



Generators
--

* The "Visual Studio 16 2019" generator was added.  This is
  experimental and based on "Visual Studio 2019 Preview 4" because
  this version of VS has not been released.

  The VS 2019 generator differs from generators for earlier versions
  in that it does not provide variants that specify the target
  platform in the generator name.  Instead "CMAKE_GENERATOR_PLATFORM"
  must be used, e.g. through the "-A" command-line option.
  Furthermore, the default target platform (architecture) is now based
  on the *host* platform.  The VS host toolset selection is now based
  on the host architecture as well.

* The "Green Hills MULTI" generator has been updated:

  * Now supports Object Libraries.

  * Now warns on unsupported project types such as shared libraries.

  * Now generates a top-level ".top.gpj" for each
directory calling the "project()" command.  The top-level project
file "default.gpj" is no longer created.

  * Now honors target renaming and destination output control
properties such as "RUNTIME_OUTPUT_DIRECTORY" and "OUTPUT_NAME".
This also fixes support for installation rules generated by
"install()".

  * Now honors source file properties "INCLUDE_DIRECTORIES",
"COMPILE_DEFINITIONS", and "COMPILE_OPTIONS".

  * Now supports Dynamic Download Integrity Applications which did
not include Integrate Files via "GHS_INTEGRITY_APP" and setting a
target link flag of "-dynamic".

  * The contents of project files now sorts sources groups and files
by name. Set the "GHS_NO_SOURCE_GROUP_FILE" target property to
"ON" to generate a single project file for the target instead of a
project file for each source group.  Set the

[ANNOUNCE] CMake 3.14.0-rc3 is ready for testing

2019-03-01 Thread Robert Maynard
t. The "paxr" value will be mapped to
  "gnutar" and a deprecation message emitted.

* CMake no longer issues a warning if a target listed in an
  "install(TARGETS)" command has its "EXCLUDE_FROM_ALL" property set
  to true.


Changes made since CMake 3.14.0-rc2:

Brad King (17):
  Prefix implicit include directories with sysroot on construction
  Restore unconditional use of "standard" include directories
  Do not explicitly report "standard" include directories as implicit
  Use -? instead of /? to test compiler for MSVC-like command-line support
  VS: Factor out a method to set the Windows SDK version internally
  VS: Tell VS 2019 to use Windows SDK 8.1 explicitly when needed
  Fortran: Do not suppress explicit use of implicit include directories
  Tests: Restore support for CMake 3.1 through 3.6 with MSVC
  FindThreads: Fix libc check to use proper header for pthread_kill
  VS: Fix detection of clang-cl with -T llvm
  include_external_msproject: Restore support for EXCLUDE_FROM_ALL
  FindOctave: Remove module pending further work
  FindThreads: Revert libc symbol check to pthread_create
  VS: Drop workaround needed only for VS 2019 preview 2 and 3
  Help: Update VS 2019 generator release note for preview 4
  ExternalProject: Restore default log dir with custom stamp dir
  CMake 3.14.0-rc3

Christian Pfeiffer (1):
  FindJNI: Unify path search, fix support for Java 9

Craig Scott (12):
  Help: Remove outdated statement about get_filename_component()
  Help: Clarify and improve readability of link-related file subcommands
  Release notes: Make ExternalProject dot points consistent
  Help: Clarify ExternalProject_Add()'s LOG_MERGED_STDOUTERR behavior
  EXCLUDE_FROM_ALL: Don't warn if installing target excluded from all
  CheckLangSourceRuns: Capture run output to log files
  Help: User-provided variable names for try_* commands
  Help: try_compile() readability and grammar improvements
  Help: Consistency in try_compile() docs for target type
  Help: Caveat for try_compile() and CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
  Help: Add release note for new ARCH_INDEPENDENT option
  Help: Fix minor inaccuracies of what BUILD_RPATH_USE_ORIGIN affects

Kyle Edwards (1):
  CMAKE_ROLE: Fix value in --build for Visual Studio generators

Maikel van den Hurk (1):
  Add ASM Compiler detection for QCC

Marc Chevrier (1):
  PIE link options: No warning when policy CMP0083 is not set.

Mathieu Garaud (1):
  Extend C++17/C++14 feature checks to cover more standard library APIs

Paul Seyfert (1):
  Help: Fix --build-and-test synopsis in ctest(1)

Robert Maynard (1):
  CUDA: Filter out -framework arguments during device linking

Sebastian Holtermann (2):
  Autogen: Add output caching GetExecutableTestOutput
  Autogen: Use output caching GetExecutableTestOutput

Yves Frederix (1):
  FindBoost: Find boost libraries built with --layout=tagged


[ANNOUNCE] CMake 3.14.0-rc2 is ready for testing

2019-02-15 Thread Robert Maynard
I am proud to announce the second CMake 3.14 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.14

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.14/release/3.14.html

Some of the more significant changes in CMake 3.14 are:

* Support for running CMake on Windows XP and Windows Vista has been
  dropped. The precompiled Windows binaries provided on "cmake.org"
  now require Windows 7 or higher.

* CMake now supports Cross Compiling for iOS, tvOS, or watchOS using
  simple toolchain files.

* The "Visual Studio 16 2019" generator was added.  This is
  experimental and based on "Visual Studio 2019 Preview 2" because
  this version of VS has not been released.

  The VS 2019 generator differs from generators for earlier versions
  in that it does not provide variants that specify the target
  platform in the generator name.  Instead "CMAKE_GENERATOR_PLATFORM"
  must be used, e.g. through the "-A" command-line option.
  Furthermore, the default target platform (architecture) is now based
  on the *host* platform.  The VS host toolset selection is now based
  on the host architecture as well.

* The "Green Hills MULTI" generator has been updated to include Object
  Library support, support for target renaming and destination output
  control properties, and other improvements.

* 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.

* 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 "install(CODE)" and "install(SCRIPT)" commands learned to
  support generator expressions.  See policy "CMP0087".

* The "if()" command gained support for checking if cache variables
  are defined with the  "DEFINED CACHE{VAR}" syntax.

* A file-based api for clients to get semantic buildsystem
  information has been added.  See the "cmake-file-api(7)" manual.
  This is intended to replace the "cmake-server(7)" mode for IDEs.

* The "cmake(1)" Build Tool Mode ("cmake --build") gained "--
  verbose" and "-v" options to specify verbose build output. Some
  generators such as Xcode don't support this option currently.

* The "cmake(1)" "-E compare_files" command learned a new "--ignore-
  eol" option to specify that end-of-line differences (e.g. LF vs
  CRLF) should be ignored when comparing files.


CMake 3.14 Release Notes


Changes made since CMake 3.13 include the following.


New Features



Generators
--

* The "Visual Studio 16 2019" generator was added.  This is
  experimental and based on "Visual Studio 2019 Preview 2" because
  this version of VS has not been released.

  The VS 2019 generator differs from generators for earlier versions
  in that it does not provide variants that specify the target
  platform in the generator name.  Instead "CMAKE_GENERATOR_PLATFORM"
  must be used, e.g. through the "-A" command-line option.
  Furthermore, the default target platform (architecture) is now based
  on the *host* platform.  The VS host toolset selection is now based
  on the host architecture as well.

* The "Green Hills MULTI" generator has been updated:

  * Now supports Object Libraries.

  * Now warns on unsupported project types such as shared libraries.

  * Now generates a top-level ".top.gpj" for each
directory calling the "project()" command.  The top-level project
file "default.gpj" is no longer created.

  * Now honors target renaming and destination output control
properties such as "RUNTIME_OUTPUT_DIRECTORY" and "OUTPUT_NAME".
This also fixes support for installation rules generated by
"install()".

  * Now honors source file properties "INCLUDE_DIRECTORIES",
"COMPILE_DEFINITIONS", and "COMPILE_OPTIONS".

  * Now supports Dynamic Download Integrity Applications which did
not include Integrate Files via "GHS_INTEGRITY_APP" and setting a
target link flag of "-dynamic".

  * The contents of project files now sorts sources groups and files
by name. Set the "GHS_NO_SOURCE_GROUP_FILE" target property to
"ON" to generate a single project file for the target instead of a
project file for each source group.  Set the
"CMAKE_GHS_NO_SOURCE_GROUP_FILE" variable to enable this for all
targets.


File-Based API
--

* A file-based api for clients to get 

[ANNOUNCE] CMake 3.14.0-rc1 is ready for testing

2019-02-07 Thread Robert Maynard
I am proud to announce the first CMake 3.14 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.14

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.14/release/3.14.html

Some of the more significant changes in CMake 3.14 are:

* Support for running CMake on Windows XP and Windows Vista has been
  dropped. The precompiled Windows binaries provided on "cmake.org"
  now require Windows 7 or higher.

* CMake now supports Cross Compiling for iOS, tvOS, or watchOS using
  simple toolchain files.

* The "Visual Studio 16 2019" generator was added.  This is
  experimental and based on "Visual Studio 2019 Preview 2" because
  this version of VS has not been released.

  The VS 2019 generator differs from generators for earlier versions
  in that it does not provide variants that specify the target
  platform in the generator name.  Instead "CMAKE_GENERATOR_PLATFORM"
  must be used, e.g. through the "-A" command-line option.
  Furthermore, the default target platform (architecture) is now based
  on the *host* platform.  The VS host toolset selection is now based
  on the host architecture as well.

* 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.

* 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 "install(CODE)" and "install(SCRIPT)" commands learned to
  support generator expressions.  See policy "CMP0087".

* The "if()" command gained support for checking if cache variables
  are defined with the  "DEFINED CACHE{VAR}" syntax.

* A file-based api for clients to get semantic buildsystem
  information has been added.  See the "cmake-file-api(7)" manual.
  This is intended to replace the "cmake-server(7)" mode for IDEs.

* The "cmake(1)" Build Tool Mode ("cmake --build") gained "--
  verbose" and "-v" options to specify verbose build output. Some
  generators such as Xcode don't support this option currently.

* The "cmake(1)" "-E compare_files" command learned a new "--ignore-
  eol" option to specify that end-of-line differences (e.g. LF vs
  CRLF) should be ignored when comparing files.


CMake 3.14 Release Notes


Changes made since CMake 3.13 include the following.


New Features



Generators
--

* The "Visual Studio 16 2019" generator was added.  This is
  experimental and based on "Visual Studio 2019 Preview 2" because
  this version of VS has not been released.

  The VS 2019 generator differs from generators for earlier versions
  in that it does not provide variants that specify the target
  platform in the generator name.  Instead "CMAKE_GENERATOR_PLATFORM"
  must be used, e.g. through the "-A" command-line option.
  Furthermore, the default target platform (architecture) is now based
  on the *host* platform.  The VS host toolset selection is now based
  on the host architecture as well.


File-Based API
--

* A file-based api for clients to get semantic buildsystem
  information has been added.  See the "cmake-file-api(7)" manual.
  This is intended to replace the "cmake-server(7)" mode for IDEs.


Platforms
-

* CMake now supports Cross Compiling for iOS, tvOS, or watchOS using
  simple toolchain files.


Command-Line


* The "cmake(1)" Build Tool Mode ("cmake --build") gained "--
  verbose" and "-v" options to specify verbose build output. Some
  generators such as Xcode don't support this option currently.

* The "cmake(1)" "-E compare_files" command learned a new "--ignore-
  eol" option to specify that end-of-line differences (e.g. LF vs
  CRLF) should be ignored when comparing files.

* The "cmake-gui(1)" dialog gained new "-S" and "-B" arguments to
  explicitly specify source and build directories.


Commands


* The "file()" command learned a new sub-command, "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

[ANNOUNCE] CMake 3.13.4 available for download

2019-02-04 Thread Robert Maynard
We are pleased to announce that CMake 3.13.4 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.13.4 since 3.13.3:

Ben Boeckel (2):
  Tests: add cases for providing Qt5Core_VERSION manually
  AutoGen: query Qt5 version from directory properties

Brad King (5):
  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
  CMake 3.13.4

Chuck Atkins (1):
  macOS: Add missing explicit dependency on CoreServices framework

Craig Scott (3):
  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


[ANNOUNCE] CMake 3.13.3 available for download

2019-01-14 Thread Robert Maynard
We are pleased to announce that CMake 3.13.3 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

* The VS 2017 generator has been fixed to work when VS 2019 is installed.

-
Changes in 3.13.3 since 3.13.2:

Brad King (4):
  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 3.13.3

Craig Scott (2):
  cmake: Stop processing if -P option lacks file name
  cmake: Ensure source and binary dirs are set

Paul Seyfert (1):
  cmake: distinguish '-Cpath' from '-C path' in source dir parsing

Sebastian Holtermann (1):
  Autogen: Issue a warning when AUTOMOC/UIC/RCC gets disabled.

Tim Blechmann (1):
  BundleUtilities: Ensure target dir exists when creating symlinks


[ANNOUNCE] CMake 3.13.2 available for download

2018-12-13 Thread Robert Maynard
We are pleased to announce that CMake 3.13.2 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

* CMake 3.13.0 included a change to pass compiler implicit include
  directories to the "moc" tool for "AUTOMOC".  This has been reverted
  due to regressing existing builds and will need further
  investigation before being re-introduced in a later release.

Thanks for your support!

-
Changes in 3.13.2 since 3.13.1:

Anton Chernov (1):
  CUDA: Add CUDA 10 (Turing) detection

Brad King (2):
  CUDA: Fix crash on linking to a CUDA target without CUDA enabled
  CMake 3.13.2

Nils Gladitz (1):
  CPack/External: Fix status messages of staging scripts

Sebastian Holtermann (1):
  Autogen: Revert passing compiler implicit includes to moc


[ANNOUNCE] CMake 3.13.1 available for download

2018-11-28 Thread Robert Maynard
We are pleased to announce that CMake 3.13.1 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.13.1 since 3.13.0:

Brad King (3):
  Fortran: Fix module dependency scanning with upper-case SUBMODULE
  FindBoost: Restore finding without CXX language enabled
  CMake 3.13.1

Harry Mallon (1):
  VS: Avoid crash with VS 2015 when all SDKs are higher than 10.0.14393.0

Sebastian Holtermann (1):
  Autogen: Fix empty uic executable string


[ANNOUNCE] CMake 3.13.0 available for download

2018-11-20 Thread Robert Maynard
I am happy to announce that CMake 3.13.0 is now available for download at:
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.13

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.13/release/3.13.html

Some of the more significant changes in CMake 3.13 are:

* The Visual Studio Generators for VS 2010 and above learned to
  support the "INTERPROCEDURAL_OPTIMIZATION" target property and
  supporting "CheckIPOSupported" module.

* The "Green Hills MULTI" generator has been updated to include
  support for platform, architecture, and toolset selection.

* The "cmake" command gained the "-S " command line
  option to specify the location of the source directory. This option
  can be used independently of "-B".

* The "cmake" command gained the "-B " command line
  option to specify the location of the build directory. This option
  can be used independently of "-S".

* The "cmake" "-E create_symlink" command can now be used on
  Windows.

* The "target_link_directories()" command was created to specify
  link directories for targets and their dependents.

* The "target_link_options()" command was created to specify link
  options for targets and their dependents.

* The "target_link_libraries()" command may now be called to modify
  targets created outside the current directory. See policy "CMP0079".

* The "install(TARGETS)" command learned to install targets created
  outside the current directory.

* A "VS_DEBUGGER_COMMAND_ARGUMENTS" target property was created to
  set the debugging command line arguments with Visual Studio
  Generators for VS 2010 and above.

* A "VS_DEBUGGER_ENVIRONMENT" target property was created to set the
  debugging environment with Visual Studio Generators for VS 2010 and
  above.

* The "option()" command now honors an existing normal variable of
  the same name and does nothing instead of possibly creating a cache
  entry (or setting its type) and removing the normal variable. See
  policy "CMP0077".

* The "target_sources()" command now interprets relative source file
  paths as relative to the current source directory.  This simplifies
  incrementally building up a target's sources from subdirectories.
  The "CMP0076" policy was added to provide backward compatibility
  with the old behavior where required.


CMake 3.13 Release Notes


Changes made since CMake 3.12 include the following.


New Features



Generators
--

* The Visual Studio Generators for VS 2010 and above learned to
  support the "INTERPROCEDURAL_OPTIMIZATION" target property and
  supporting "CheckIPOSupported" module.

* The "Xcode" generator learned to configure more Xcode Scheme
  fields. See the "CMAKE_XCODE_GENERATE_SCHEME" variable.

* The "Green Hills MULTI" generator has been updated:

  * Added support for architecture selection through
"CMAKE_GENERATOR_PLATFORM": e.g. "arm", "ppc", and "86".

  * Added support for toolset selection through
"CMAKE_GENERATOR_TOOLSET", e.g. "comp_201205", "comp_201510",
"comp_201722_beta".

  * Added support for platform selection through
"GHS_TARGET_PLATFORM", e.g. "integrity", "linux", "standalone",
etc.

  * No longer checks that "arm" based compilers are installed but
ensures that the correct "gbuild.exe" exists.

  * No longer hard-codes ARM files, BSP, toolset, or OS locations.


Command-Line


* The "cmake(1)" command gained the "-S " command line
  option to specify the location of the source directory. This option
  can be used independently of "-B".

* The "cmake(1)" command gained the "-B " command line
  option to specify the location of the build directory. This option
  can be used independently of "-S".

* The "cmake(1)" "-E create_symlink" command can now be used on
  Windows.


Commands


* The "add_custom_command()" and "add_custom_target()" commands
  learned to support generator expressions in "WORKING_DIRECTORY"
  options.

* The "add_link_options()" command was created to add link options
  in the current directory.

* The "install(TARGETS)" command learned to install targets created
  outside the current directory.

* The "link_directories()" command gained options to control
  insertion position.

* The "list(SORT)" command gained options to control the comparison
  operation used to order the entries.

* The "math()" command gained options for hexadecimal.

* The "target_link_directories()" command was created to specify
  link directories for targets and their dependents.

* The "target_link_options()" command was created to specify link
  options for targets and their dependents.

* The "target_link_libraries()" command may now be called to modify
  targets created outside the current directory. See policy "CMP0079".


Variables
-

* A "CMAKE_AUTOGEN_VERBOSE" variable was added to optionally
  increase the verbosity of "AUTOMOC", "AUTOUIC" and "AUTORCC" from
  within 

[ANNOUNCE] CMake 3.13.0-rc3 is ready for testing

2018-11-07 Thread Robert Maynard
  understand. The intention of this generator is to allow external
  packaging software to take advantage of CPack's features when it may
  not be possible to use CPack for the entire packaging process.


Deprecated and Removed Features
===

* An explicit deprecation diagnostic was added for policies
  "CMP0055" through "CMP0063" ("CMP0054" 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
=

* The precompiled binaries provided on "cmake.org" now include
  qthelp- format documentation.

* The "option()" command now honors an existing normal variable of
  the same name and does nothing instead of possibly creating a cache
  entry (or setting its type) and removing the normal variable. See
  policy "CMP0077".

* The Makefile Generators learned to remove custom command and
  custom target byproducts during "make clean".

* The "target_sources()" command now interprets relative source file
  paths as relative to the current source directory.  This simplifies
  incrementally building up a target's sources from subdirectories.
  The "CMP0076" policy was added to provide backward compatibility
  with the old behavior where required.

* The "BundleUtilities" module may no longer be included at
  configure time. This was always a bug anyway. See policy "CMP0080".

* The "UseSWIG" module has changed strategy for target naming. See
  policy "CMP0078".

* The "LINK_DIRECTORIES" target property now expects absolute paths.
  See policy "CMP0081".

* The CPack generators have been moved into their own separate
  section in the documentation, rather than having the documentation
  in their internal implementation modules. These internal
  implementation modules are also no longer available to scripts that
  may have been incorrectly including them, because they should never
  have been available in the first place.


Changes made since CMake 3.13.0-rc2:

Brad King (12):
  FindMPI: Pass -pthread to CUDA compiler through -Xcompiler
  set_directory_properties: Restore in script mode
      Flang: Fix command-line used to preprocess sources
  CSharp: Fix regression in VS project type selection for custom target
  curl: Update script to get curl 7.62.0
  curl: Update build within CMake to account for 7.62 changes
  FindProtobuf: Add missing link dependencies on threads
  curl: Modernize tiny test code used for build inside CMake
  curl: backport upstream fix to 7.62.0 regression
  add_custom_{command,target}: Fix WORKING_DIRECTORY leading genex
  FindBoost: Add explicit Boost_ARCHITECTURE option
  CMake 3.13.0-rc3

Craig Scott (3):
  Help: Fix generators link in cpack(1) manual
  CPack: Rename Ext generator to External
  Help: Use correct CPack generator names

Curl Upstream (1):
  curl 2018-10-30 (19667715)

Ivan Pozdeev (2):
  FindOpenMP: Fix warnings with -Wstrict-prototypes
  FindOpenMP: Log error output

Jakub Benda (2):
  FindBLAS: Correct symbol searched in BLAS95 wrapper
  FindLAPACK: Correct library name and symbol searched in LAPACK95 wrapper

Maikel van den Hurk (1):
  QNX: Update qcc depfile flags to be compliant with ccache

Marc Chevrier (2):
  Help: clarify "LINKER:" prefix usage
  UseSWIG: multiple input files must be supported in version 2

Martin Quinson (1):
  FindBoost: Add support for stacktrace components

Robert Maynard (1):
  CUDA: Filter out non-static libraries during device linking

Sylvain Joubert (3):
  UseSWIG: Typo, add missing letter
  UseSWIG: Add target language and input file in command description
  FindPostgreSQL: Search for version 11

Vladimir Penev (1):
  server: Fix assertion failure on directory paths in file monitor


[ANNOUNCE] CMake 3.12.4 available for download

2018-11-02 Thread Robert Maynard
We are pleased to announce that CMake 3.12.4 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.12.4 since 3.12.3:

Brad King (4):
  cmake: Distinguish '-E tar' warnings from errors copying data
  set_directory_properties: Restore in script mode
  CSharp: Fix regression in VS project type selection for custom target
  CMake 3.12.4

Chuck Atkins (1):
  FindMatlab: Guard against nonexistent installation

Marc Chevrier (1):
  UseSWIG: fix regression for PHP language

Robert Maynard (2):
  CUDA: Filter out host link flags during device linking
  CUDA: Filter out non-static libraries during device linking

Vladimir Penev (1):
  server: Fix assertion failure on directory paths in file monitor


[ANNOUNCE] CMake 3.13.0-rc2 is ready for testing

2018-10-25 Thread Robert Maynard
e to use CPack for the entire packaging process.


Deprecated and Removed Features
===

* An explicit deprecation diagnostic was added for policies
  "CMP0055" through "CMP0063" ("CMP0054" 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
=

* The precompiled binaries provided on "cmake.org" now include
  qthelp- format documentation.

* The "option()" command now honors an existing normal variable of
  the same name and does nothing instead of possibly creating a cache
  entry (or setting its type) and removing the normal variable. See
  policy "CMP0077".

* The Makefile Generators learned to remove custom command and
  custom target byproducts during "make clean".

* The "target_sources()" command now interprets relative source file
  paths as relative to the current source directory.  This simplifies
  incrementally building up a target's sources from subdirectories.
  The "CMP0076" policy was added to provide backward compatibility
  with the old behavior where required.

* The "BundleUtilities" module may no longer be included at
  configure time. This was always a bug anyway. See policy "CMP0080".

* The "UseSWIG" module has changed strategy for target naming. See
  policy "CMP0078".

* The "LINK_DIRECTORIES" target property now expects absolute paths.
  See policy "CMP0081".

* The CPack generators have been moved into their own separate
  section in the documentation, rather than having the documentation
  in their internal implementation modules. These internal
  implementation modules are also no longer available to scripts that
  may have been incorrectly including them, because they should never
  have been available in the first place.


Changes made since CMake 3.13.0-rc1:

Ben Boeckel (1):
  CMP0053: document that `$` is a valid literal variable character

Brad King (17):
  Tests: Fix Cuda test project names
  VS: Drop workaround for CUDA compiler PDB location on CUDA 9.2+
  VS: Add workaround for CUDA compiler PDB location with space
  install: Revert CODE,SCRIPT support for generator expressions
  cmake-server: Revert "Support codemodel filegroups for INTERFACE_SOURCES"
  Utilities/Release: Add qthelp docs to binary archives
  Help: Clarify command-line encoding of target_link_libraries items
  curl: Update script to get curl 7.61.1
  curl: Backport to work with CMake 3.1 again
  curl: Update build within CMake to account for 7.61 changes
  curl: add missing type sizes for 'long long' and '__int64'
  VS: Fix crash on CSharp sources in a custom target
  VS: Fix CSharp support for win32res: and win32icon: flags
  cmake: Distinguish '-E tar' warnings from errors copying data
  Tests: Add missing BUILD_TESTING conditions
  cmake-gui: Fix "Open Project" for VS IDE with space in path
  CMake 3.13.0-rc2

Craig Scott (1):
  FindPkgConfig: Document support for > and < operators

Curl Upstream (1):
  curl 2018-09-04 (432eb5f5)

James Clarke (1):
  GNUInstallDirs: Don't use BSD info and man paths on GNU/kFreeBSD

KWSys Upstream (1):
  KWSys 2018-10-19 (c2f29d2e)

Kyle Edwards (3):
  Help: Convert DeployQt4 to block-style comment
  DeployQt4: Convert to 2-space indentation
  DeployQt4: Do not include BundleUtilities at configure time

Marc Chevrier (1):
  FindPython*: Add missing registry paths

Mario Bielert (1):
  FindBoost: Search for -mt variant of release libs

Mateusz Łoskot (1):
  FindBoost: Add support for upcoming Boost 1.69

Robert Maynard (3):
  Help: document CMAKE_DEBUG_TARGET_PROPERTIES support for LINK properties
  CUDA: Filter out host link flags during device linking
  CUDA: Add test for device linking when host linking uses threads

Rolf Eike Beer (1):
  FindThreads: Pass -pthread to CUDA compiler through -Xcompiler

vim-cmake-syntax upstream (2):
  vim-cmake-syntax 2018-10-10 (ac1957fb)
  vim-cmake-syntax 2018-10-18 (64ff4bd7)


[ANNOUNCE] CMake 3.13.0-rc1 is ready for testing

2018-10-09 Thread Robert Maynard
I am proud to announce the first CMake 3.13 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.13

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.13/release/3.13.html

Some of the more significant changes in CMake 3.13 are:

* The Visual Studio Generators for VS 2010 and above learned to
  support the "INTERPROCEDURAL_OPTIMIZATION" target property and
  supporting "CheckIPOSupported" module.

* The "Green Hills MULTI" generator has been updated to include
  support for platform, architecture, and toolset selection.

* The "cmake" command gained the "-S " command line
  option to specify the location of the source directory. This option
  can be used independently of "-B".

* The "cmake" command gained the "-B " command line
  option to specify the location of the build directory. This option
  can be used independently of "-S".

* The "cmake" "-E create_symlink" command can now be used on
  Windows.

* The "target_link_directories()" command was created to specify
  link directories for targets and their dependents.

* The "target_link_options()" command was created to specify link
  options for targets and their dependents.

* The "target_link_libraries()" command may now be called to modify
  targets created outside the current directory. See policy "CMP0079".

* The "install(TARGETS)" command learned to install targets created
  outside the current directory.

* The "install(CODE)" and "install(SCRIPT)" commands learned to
  support generator expressions.

* A "VS_DEBUGGER_COMMAND_ARGUMENTS" target property was created to
  set the debugging command line arguments with Visual Studio
  Generators for VS 2010 and above.

* A "VS_DEBUGGER_ENVIRONMENT" target property was created to set the
  debugging environment with Visual Studio Generators for VS 2010 and
  above.

* The "option()" command now honors an existing normal variable of
  the same name and does nothing instead of possibly creating a cache
  entry (or setting its type) and removing the normal variable. See
  policy "CMP0077".

* The "target_sources()" command now interprets relative source file
  paths as relative to the current source directory.  This simplifies
  incrementally building up a target's sources from subdirectories.
  The "CMP0076" policy was added to provide backward compatibility
  with the old behavior where required.


CMake 3.13 Release Notes


Changes made since CMake 3.12 include the following.


New Features



Generators
--

* The Visual Studio Generators for VS 2010 and above learned to
  support the "INTERPROCEDURAL_OPTIMIZATION" target property and
  supporting "CheckIPOSupported" module.

* The "Xcode" generator learned to configure more Xcode Scheme
  fields. See the "CMAKE_XCODE_GENERATE_SCHEME" variable.

* The "Green Hills MULTI" generator has been updated:

  * Added support for architecture selection through
"CMAKE_GENERATOR_PLATFORM": e.g. "arm", "ppc", and "86".

  * Added support for toolset selection through
"CMAKE_GENERATOR_TOOLSET", e.g. "comp_201205", "comp_201510",
"comp_201722_beta".

  * Added support for platform selection through
"GHS_TARGET_PLATFORM", e.g. "integrity", "linux", "standalone",
etc.

  * No longer checks that "arm" based compilers are installed but
ensures that the correct "gbuild.exe" exists.

  * No longer hard-codes ARM files, BSP, toolset, or OS locations.


Command-Line


* The "cmake(1)" command gained the "-S " command line
  option to specify the location of the source directory. This option
  can be used independently of "-B".

* The "cmake(1)" command gained the "-B " command line
  option to specify the location of the build directory. This option
  can be used independently of "-S".

* The "cmake(1)" "-E create_symlink" command can now be used on
  Windows.


Commands


* The "add_custom_command()" and "add_custom_target()" commands
  learned to support generator expressions in "WORKING_DIRECTORY"
  options.

* The "add_link_options()" command was created to add link options
  in the current directory.

* The "install(CODE)" and "install(SCRIPT)" commands learned to
  support generator expressions.

* The "install(TARGETS)" command learned to install targets created
  outside the current directory.

* The "link_directories()" command gained options to control
  insertion position.

* The "list(SORT)" command gained options to control the comparison
  operation used to order the entries.

* The "math()" command gained options for hexadecimal.

* The "target_link_directories()" command was created to specify
  link directories for targets and their dependents.

* The "target_link_options()" command was created to specify link
  options for targets and their dependents.

* The "target_link_libraries()" command may now be called to modify
  targets created outside the current directory. 

[ANNOUNCE] CMake 3.12.3 available for download

2018-10-03 Thread Robert Maynard
We are pleased to announce that CMake 3.12.3 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.12.3 since 3.12.2:

Brad King (8):
  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
  CMake 3.12.3

Kyle Edwards (1):
  CTest: Fix regression in ctest_start()

Marc Chevrier (1):
  Help: TESTS property: clarify usage.


[ANNOUNCE] CMake 3.12.2 available for download

2018-09-07 Thread Robert Maynard
We are pleased to announce that CMake 3.12.2 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.12.2 since 3.12.1:

Brad King (5):
  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
  CMake 3.12.2

Craig Scott (2):
  EXPORT_PROPERTIES: Add test for an undefined property
  EXPORT_PROPERTIES: Prevent null dereference for undefined property

David Demelier (1):
  Help: Fix typo in clang-tidy example -checks option

Igor Kostenko (1):
  FindBoost: Fix context discovery for 1.60 and below

Kenta Kubo (1):
  FindCUDA: Do not find cublas_device on CUDA >= 9.2

Raffi Enficiaud (1):
  FindMatlab: Remove erroneous duplicate code

Robert Maynard (1):
  CUDA: Avoid using deprecated cublas_device to identify device lib dirs

Shane Parris (1):
  cmState: Clear GlobVerificationManager state on Reset


[ANNOUNCE] CMake 3.12.1 available for download

2018-08-09 Thread Robert Maynard
We are pleased to announce that CMake 3.12.1 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.12.1 since 3.12.0:

Brad King (8):
  CSharp: Set CMAKE_CSharp_COMPILER_LOADED variable when language is enabled
  UseSWIG: Use CSharp language only if it is enabled
  Help: Add explicit _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
  CMake 3.12.1

Craig Scott (1):
  GoogleTest: Ensure policy settings allow use of IN_LIST

Dima Panov (1):
  FindTCL: Add support for version 8.7

Marc Chevrier (2):
  FindPython*: fix erroneous behavior on multiple 'find_package' calls
  UseSWIG: restore legacy behavior for SWIG_MODULE__EXTRA_FLAGS


[ANNOUNCE] CMake 3.12.0 available for download

2018-07-17 Thread Robert Maynard
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 "$" and "$"
  "generator expression" has been added to enable consumption of
  generator expressions whose evaluation results itself in generator
  expressions.

* A new "$" "generator expression" has been added.

* A new "$" "generator expression" has been
  added.

* A new "$" "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 "_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.


Changes made since CMake 3.12.0-rc3:

Brad King (2):
  Help: Mention IMPORTED_OBJECTS in add_library docs
  CMake 3.12.0

Christian Pfeiffer (1):
  Intel: Fix incorrectly documented extension flags

Cristian Adam (1):
  QNX: Fix autogen compiler predefines detection

Robert Maynard (1):
  Help: Add OBJECT_LIBRARY to TYPE target property documentation

Roger Leigh (2):
  FindBoost: Add support for Boost 1.68 beta1
  FindBoost: Change context header used


[ANNOUNCE] CMake 3.12.0-rc3 is ready for testing

2018-07-09 Thread Robert Maynard
I am proud to announce the third CMake 3.12 release candidate.
  https://cmake.org/download/

The first two 3.12.0 release candidates included a change to allow
the target_link_libraries command to modify targets created outside
the current directory. This has been reverted in rc3 due to
problems with visibility of the linked targets. See issue 17943.

Documentation is available at:
  https://cmake.org/cmake/help/v3.12

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.12/release/3.12.html

Some of the more significant changes in CMake 3.12 are:

* 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.

* The "file(GLOB)" and "file(GLOB_RECURSE)" commands learned a new
  flag "CONFIGURE_DEPENDS" which enables expression of build system
  dependency on globbed directory's contents.

* The "Compile Features" functionality is now aware of C++ 20.  No
  specific features are yet enumerated besides the "cxx_std_20" meta-
  feature.

* 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.

* The "cmake(1)" Build Tool Mode ("cmake --build") gained "--
  parallel []" and "-j []" options to specify a parallel
  build level.  They map to corresponding options of the native build
  tool.

* 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
  "[...]". The "" version is required but policies are
  set based on the "" version.  This allows projects to specify a
  range of versions for which they have been updated and avoid
  explicit policy settings.

* 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".

* A new "$" and "$"
  "generator expression" has been added to enable consumption of
  generator expressions whose evaluation results itself in generator
  expressions.

* A new "$" "generator expression" has been
  added.

* A new "$" "generator expression" has
  been added.

* The "FindCURL" module now provides imported targets.

* The "FindJPEG" module now provides imported targets.

* A "FindODBC" module was added to find an Open Database
  Connectivity (ODBC) library.

* New "FindPython3" and "FindPython2" modules, as well as a new
  "FindPython" module, have been added to provide a new way to locate
  python environments.


CMake 3.12 Release Notes


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 []" and "-j []" 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
  "[...]". The "" version is required but policies are
  set based on the "" version.  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's contents.

* The "file(TOUCH)" and "file(TOUCH_NOCREATE)" commands were added
  to expose "TOUCH" functionality without having to use CMake's
  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's namelink. If none is specified, the value of "COMPONENT"
  is used by default.

* The "list()" command learned a "JOIN" sub-command to concatenate
  list's elements separated by a glue string.

* The 

[ANNOUNCE] CMake 3.12.0-rc2 is ready for testing

2018-06-29 Thread Robert Maynard
I am proud to announce the second CMake 3.12 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.12

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.12/release/3.12.html

Some of the more significant changes in CMake 3.12 are:

* 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.

* The "target_link_libraries()" command may now be called to modify
  targets created outside the current directory.

* The "file(GLOB)" and "file(GLOB_RECURSE)" commands learned a new
  flag "CONFIGURE_DEPENDS" which enables expression of build system
  dependency on globbed directory's contents.

* The "Compile Features" functionality is now aware of C++ 20.  No
  specific features are yet enumerated besides the "cxx_std_20" meta-
  feature.

* 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.

* The "cmake(1)" Build Tool Mode ("cmake --build") gained "--
  parallel []" and "-j []" options to specify a parallel
  build level.  They map to corresponding options of the native build
  tool.

* 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
  "[...]". The "" version is required but policies are
  set based on the "" version.  This allows projects to specify a
  range of versions for which they have been updated and avoid
  explicit policy settings.

* 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".

* A new "$" and "$"
  "generator expression" has been added to enable consumption of
  generator expressions whose evaluation results itself in generator
  expressions.

* A new "$" "generator expression" has been
  added.

* A new "$" "generator expression" has
  been added.

* The "FindCURL" module now provides imported targets.

* The "FindJPEG" module now provides imported targets.

* A "FindODBC" module was added to find an Open Database
  Connectivity (ODBC) library.

* New "FindPython3" and "FindPython2" modules, as well as a new
  "FindPython" module, have been added to provide a new way to locate
  python environments.


CMake 3.12 Release Notes


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 []" and "-j []" 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
  "[...]". The "" version is required but policies are
  set based on the "" version.  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's contents.

* The "file(TOUCH)" and "file(TOUCH_NOCREATE)" commands were added
  to expose "TOUCH" functionality without having to use CMake's
  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's namelink. If none is specified, the value of "COMPONENT"
  is used by default.

* The "list()" command learned a "JOIN" sub-command to concatenate
  list's 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
 

[ANNOUNCE] CMake 3.12.0-rc1 is ready for testing

2018-06-14 Thread Robert Maynard
I am proud to announce the first CMake 3.12 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.12

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.12/release/3.12.html

Some of the more significant changes in CMake 3.12 are:

* 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.

* The "target_link_libraries()" command may now be called to modify
  targets created outside the current directory.

* The "file(GLOB)" and "file(GLOB_RECURSE)" commands learned a new
  flag "CONFIGURE_DEPENDS" which enables expression of build system
  dependency on globbed directory's contents.

* The "Compile Features" functionality is now aware of C++ 20.  No
  specific features are yet enumerated besides the "cxx_std_20" meta-
  feature.

* 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.

* The "cmake(1)" Build Tool Mode ("cmake --build") gained "--
  parallel []" and "-j []" options to specify a parallel
  build level.  They map to corresponding options of the native build
  tool.

* 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
  "[...]". The "" version is required but policies are
  set based on the "" version.  This allows projects to specify a
  range of versions for which they have been updated and avoid
  explicit policy settings.

* 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".

* A new "$" and "$"
  "generator expression" has been added to enable consumption of
  generator expressions whose evaluation results itself in generator
  expressions.

* A new "$" "generator expression" has been
  added.

* A new "$" "generator expression" has
  been added.

* The "FindCURL" module now provides imported targets.

* The "FindJPEG" module now provides imported targets.

* A "FindODBC" module was added to find an Open Database
  Connectivity (ODBC) library.

* New "FindPython3" and "FindPython2" modules, as well as a new
  "FindPython" module, have been added to provide a new way to locate
  python environments.


CMake 3.12 Release Notes


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 []" and "-j []" 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
  "[...]". The "" version is required but policies are
  set based on the "" version.  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's contents.

* The "file(TOUCH)" and "file(TOUCH_NOCREATE)" commands were added
  to expose "TOUCH" functionality without having to use CMake's
  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's namelink. If none is specified, the value of "COMPONENT"
  is used by default.

* The "list()" command learned a "JOIN" sub-command to concatenate
  list's 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
  

[ANNOUNCE] CMake 3.11.4 available for download

2018-06-14 Thread Robert Maynard
We are pleased to announce that CMake 3.11.4 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.11.4 since 3.11.3:

Brad King (2):
  Windows: Restore support for running CMake through a symlink
  CMake 3.11.4

Jean-Christophe Fillion-Robin (1):
  ExternalProject: Fix cache generation when args end with "-NOTFOUND"

Matt McCormick (1):
  ExternalProject: Improve URL_HASH argument description


[ANNOUNCE] CMake 3.11.3 available for download

2018-05-31 Thread Robert Maynard
We are pleased to announce that CMake 3.11.3 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.11.3 since 3.11.2:

Brad King (3):
  cmSystemTools: Revert GetRealPath implementation on Windows
  CPack: Fix cross-compilation of WiX generator
  CMake 3.11.3

Sander Vrijders (1):
  TestDriver: Replace strncpy with strcpy


[ANNOUNCE] CMake 3.11.2 available for download

2018-05-17 Thread Robert Maynard
We are pleased to announce that CMake 3.11.2 is now available for download.

Please use the latest release from our download page:
   https://cmake.org/download/

* Calling "add_library()" to create an alias of an imported target
   that is not globally visible now causes an error again as it did
   prior to 3.11.0.  This diagnostic was accidentally dropped from
   CMake 3.11.0 and 3.11.1 by the change to allow globally visible
   imported targets to be aliased.

* The "FindQt4" module "qt4_wrap_cpp", "qt4_wrap_ui" and
   "qt4_add_resources" macros now set "SKIP_AUTOMOC" and "SKIP_AUTOUIC"
   on their generated files.  These files never need to be processed by
   moc or uic, and we must say so explicitly to account for policy
   "CMP0071".

Thanks for your support!

-
Changes in 3.11.2 since 3.11.1:

Brad King (8):
   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

Christian Pfeiffer (1):
   IRSL: Fix Intel library list for ifort-only setups

Christof Krüger (1):
   InstallRequiredSystemLibraries: Check for existence of mfcm dlls

Filip Matzner (1):
   FindBoost: Backport versioned python dependencies for v1.35 to v1.66

Marc Chevrier (5):
   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

Matthew Woehlke (2):
   Qt4Macros: Use get_property/set_property
   Qt4Macros: Don't AUTOMOC or AUTOUIC qt4-generated files

Rolf Eike Beer (2):
   FindPkgConfig: do not unset unused variable
   FindBLAS: do not write an imported target name into BLAS_LIBRARIES

Sebastian Holtermann (1):
   Autogen: Register generated dependency files


[ANNOUNCE] CMake 3.11.1 available for download

2018-04-17 Thread Robert Maynard
We are pleased to announce that CMake 3.11.1 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.11.1 since 3.11.0:

Brad King (5):
  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
  CMake 3.11.1

Daniel Filipe (1):
  Features: Record for VS 2017 through 15.6

Kirill Erofeev (2):
  Explicitly require LibUV 1.10 or higher to build CMake
  bootstrap: Add option to enable/disable usage of system libuv

R2RT (1):
  Fix crash with --trace-expand --warn-uninitialized together

Roland Schulz (1):
  FindOpenMP: Fix support for Intel on Windows

Sebastian Holtermann (7):
  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


[ANNOUNCE] CMake 3.11.0 available for download

2018-03-28 Thread Robert Maynard
I am proud to announce that CMake 3.11.0 is now available for download at:
https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.11

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.11/release/3.11.html

Some of the more significant changes in CMake 3.11 are:

* The Makefile Generators and the "Ninja" generator learned to add
  compiler launcher tools along with the compiler for the "Fortran"
  language ("C", "CXX", and "CUDA" were supported previously). See the
  "CMAKE__COMPILER_LAUNCHER" variable and
  "_COMPILER_LAUNCHER" target property for details.

* Visual Studio Generators learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS",
  "INCLUDE_DIRECTORIES", "COMPILE_OPTIONS", and "file(GENERATE)".  See
  generator expression documentation for caveats.

* The "Xcode" Generator learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS" and
  "INCLUDE_DIRECTORIES".  It previously supported only
  "COMPILE_OPTIONS" and "file(GENERATE)". See generator expression
  documentation for caveats.

* "add_library()" and "add_executable()" commands can now be called
  without any sources and will not complain as long as sources are
  added later via the "target_sources()" command.

* The "target_compile_definitions()" command learned to set the
  "INTERFACE_COMPILE_DEFINITIONS" property on Imported Targets.

* The "target_compile_features()" command learned to set the
  "INTERFACE_COMPILE_FEATURES" property on Imported Targets.

* The "target_compile_options()" command learned to set the
  "INTERFACE_COMPILE_OPTIONS" property on Imported Targets.

* The "target_include_directories()" command learned to set the
  "INTERFACE_INCLUDE_DIRECTORIES" property on Imported Targets.

* The "target_sources()" command learned to set the
  "INTERFACE_SOURCES" property on Imported Targets.

* The "target_link_libraries()" command learned to set the
  "INTERFACE_LINK_LIBRARIES" property on Imported Targets.

* The "COMPILE_DEFINITIONS" source file property learned to support
  "generator expressions".

* A "COMPILE_OPTIONS" source file property was added to manage list
  of options to pass to the compiler.

* When using "AUTOMOC" or "AUTOUIC", CMake now starts multiple
  parallel "moc" or "uic" processes to reduce the build time. A new
  "CMAKE_AUTOGEN_PARALLEL" variable and "AUTOGEN_PARALLEL" target
  property may be set to specify the number of parallel "moc" or "uic"
  processes to start.  The default is derived from the number of CPUs
  on the host.


CMake 3.11 Release Notes


Changes made since CMake 3.10 include the following.


New Features



Platforms
-

* TI C/C++ compilers are now supported by the "Ninja" generator.


Generators
--

* The "CodeBlocks" extra generator learned to check a
  "CMAKE_CODEBLOCKS_COMPILER_ID" variable for a custom compiler
  identification value to place in the project file.

* The Makefile Generators and the "Ninja" generator learned to add
  compiler launcher tools along with the compiler for the "Fortran"
  language ("C", "CXX", and "CUDA" were supported previously). See the
  "CMAKE__COMPILER_LAUNCHER" variable and
  "_COMPILER_LAUNCHER" target property for details.

* Visual Studio Generators learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS",
  "INCLUDE_DIRECTORIES", "COMPILE_OPTIONS", and "file(GENERATE)".  See
  generator expression documentation for caveats.

* The "Xcode" generator learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS" and
  "INCLUDE_DIRECTORIES".  It previously supported only
  "COMPILE_OPTIONS" and "file(GENERATE)". See generator expression
  documentation for caveats.


Commands


* "add_library()" and "add_executable()" commands can now be called
  without any sources and will not complain as long as sources are
  added later via the "target_sources()" command.

* The "file(DOWNLOAD)" and "file(UPLOAD)" commands gained "NETRC"
  and "NETRC_FILE" options to specify use of a ".netrc" file.

* The "target_compile_definitions()" command learned to set the
  "INTERFACE_COMPILE_DEFINITIONS" property on Imported Targets.

* The "target_compile_features()" command learned to set the
  "INTERFACE_COMPILE_FEATURES" property on Imported Targets.

* The "target_compile_options()" command learned to set the
  "INTERFACE_COMPILE_OPTIONS" property on Imported Targets.

* The "target_include_directories()" command learned to set the
  "INTERFACE_INCLUDE_DIRECTORIES" property on Imported Targets.

* The "target_sources()" command learned to set the
  "INTERFACE_SOURCES" property on Imported Targets.

* The "target_link_libraries()" command learned to set the
  "INTERFACE_LINK_LIBRARIES" property on Imported Targets.


Variables
-

* A 

[ANNOUNCE] CMake 3.11.0-rc4 is now ready for testing

2018-03-19 Thread Robert Maynard
I am proud to announce the fourth CMake 3.11 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.11

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.11/release/3.11.html

Some of the more significant changes in CMake 3.11 are:

* The Makefile Generators and the "Ninja" generator learned to add
  compiler launcher tools along with the compiler for the "Fortran"
  language ("C", "CXX", and "CUDA" were supported previously). See the
  "CMAKE__COMPILER_LAUNCHER" variable and
  "_COMPILER_LAUNCHER" target property for details.

* Visual Studio Generators learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS",
  "INCLUDE_DIRECTORIES", "COMPILE_OPTIONS", and "file(GENERATE)".  See
  generator expression documentation for caveats.

* The "Xcode" Generator learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS" and
  "INCLUDE_DIRECTORIES".  It previously supported only
  "COMPILE_OPTIONS" and "file(GENERATE)". See generator expression
  documentation for caveats.

* "add_library()" and "add_executable()" commands can now be called
  without any sources and will not complain as long as sources are
  added later via the "target_sources()" command.

* The "target_compile_definitions()" command learned to set the
  "INTERFACE_COMPILE_DEFINITIONS" property on Imported Targets.

* The "target_compile_features()" command learned to set the
  "INTERFACE_COMPILE_FEATURES" property on Imported Targets.

* The "target_compile_options()" command learned to set the
  "INTERFACE_COMPILE_OPTIONS" property on Imported Targets.

* The "target_include_directories()" command learned to set the
  "INTERFACE_INCLUDE_DIRECTORIES" property on Imported Targets.

* The "target_sources()" command learned to set the
  "INTERFACE_SOURCES" property on Imported Targets.

* The "target_link_libraries()" command learned to set the
  "INTERFACE_LINK_LIBRARIES" property on Imported Targets.

* The "COMPILE_DEFINITIONS" source file property learned to support
  "generator expressions".

* A "COMPILE_OPTIONS" source file property was added to manage list
  of options to pass to the compiler.

* When using "AUTOMOC" or "AUTOUIC", CMake now starts multiple
  parallel "moc" or "uic" processes to reduce the build time. A new
  "CMAKE_AUTOGEN_PARALLEL" variable and "AUTOGEN_PARALLEL" target
  property may be set to specify the number of parallel "moc" or "uic"
  processes to start.  The default is derived from the number of CPUs
  on the host.


CMake 3.11 Release Notes


Changes made since CMake 3.10 include the following.


New Features



Platforms
-

* TI C/C++ compilers are now supported by the "Ninja" generator.


Generators
--

* The "CodeBlocks" extra generator learned to check a
  "CMAKE_CODEBLOCKS_COMPILER_ID" variable for a custom compiler
  identification value to place in the project file.

* The Makefile Generators and the "Ninja" generator learned to add
  compiler launcher tools along with the compiler for the "Fortran"
  language ("C", "CXX", and "CUDA" were supported previously). See the
  "CMAKE__COMPILER_LAUNCHER" variable and
  "_COMPILER_LAUNCHER" target property for details.

* Visual Studio Generators learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS",
  "INCLUDE_DIRECTORIES", "COMPILE_OPTIONS", and "file(GENERATE)".  See
  generator expression documentation for caveats.

* The "Xcode" generator learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS" and
  "INCLUDE_DIRECTORIES".  It previously supported only
  "COMPILE_OPTIONS" and "file(GENERATE)". See generator expression
  documentation for caveats.


Commands


* "add_library()" and "add_executable()" commands can now be called
  without any sources and will not complain as long as sources are
  added later via the "target_sources()" command.

* The "file(DOWNLOAD)" and "file(UPLOAD)" commands gained "NETRC"
  and "NETRC_FILE" options to specify use of a ".netrc" file.

* The "target_compile_definitions()" command learned to set the
  "INTERFACE_COMPILE_DEFINITIONS" property on Imported Targets.

* The "target_compile_features()" command learned to set the
  "INTERFACE_COMPILE_FEATURES" property on Imported Targets.

* The "target_compile_options()" command learned to set the
  "INTERFACE_COMPILE_OPTIONS" property on Imported Targets.

* The "target_include_directories()" command learned to set the
  "INTERFACE_INCLUDE_DIRECTORIES" property on Imported Targets.

* The "target_sources()" command learned to set the
  "INTERFACE_SOURCES" property on Imported Targets.

* The "target_link_libraries()" command learned to set the
  "INTERFACE_LINK_LIBRARIES" property on Imported Targets.


Variables
-

* A 

[ANNOUNCE] CMake 3.10.3 available for download

2018-03-16 Thread Robert Maynard
We are pleased to announce that CMake 3.10.3 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.10.3 since 3.10.2:

Brad King (1):
  CMake 3.10.3

Craig Scott (1):
  GoogleTest: Rename TIMEOUT parameter to avoid clash

Sebastian Holtermann (1):
  Autogen: Fix for the empty source file crash in 3.10.2

Tianhao Chai (1):
  ccmake: fix status line buffer overflow on very wide terminals


[ANNOUNCE] CMake 3.11.0-rc3 is now ready for testing

2018-03-09 Thread Robert Maynard
I am proud to announce the third CMake 3.11 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.11

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.11/release/3.11.html

Some of the more significant changes in CMake 3.11 are:

* The Makefile Generators and the "Ninja" generator learned to add
  compiler launcher tools along with the compiler for the "Fortran"
  language ("C", "CXX", and "CUDA" were supported previously). See the
  "CMAKE__COMPILER_LAUNCHER" variable and
  "_COMPILER_LAUNCHER" target property for details.

* Visual Studio Generators learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS",
  "INCLUDE_DIRECTORIES", "COMPILE_OPTIONS", and "file(GENERATE)".  See
  generator expression documentation for caveats.

* The "Xcode" Generator learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS" and
  "INCLUDE_DIRECTORIES".  It previously supported only
  "COMPILE_OPTIONS" and "file(GENERATE)". See generator expression
  documentation for caveats.

* "add_library()" and "add_executable()" commands can now be called
  without any sources and will not complain as long as sources are
  added later via the "target_sources()" command.

* The "target_compile_definitions()" command learned to set the
  "INTERFACE_COMPILE_DEFINITIONS" property on Imported Targets.

* The "target_compile_features()" command learned to set the
  "INTERFACE_COMPILE_FEATURES" property on Imported Targets.

* The "target_compile_options()" command learned to set the
  "INTERFACE_COMPILE_OPTIONS" property on Imported Targets.

* The "target_include_directories()" command learned to set the
  "INTERFACE_INCLUDE_DIRECTORIES" property on Imported Targets.

* The "target_sources()" command learned to set the
  "INTERFACE_SOURCES" property on Imported Targets.

* The "target_link_libraries()" command learned to set the
  "INTERFACE_LINK_LIBRARIES" property on Imported Targets.

* The "COMPILE_DEFINITIONS" source file property learned to support
  "generator expressions".

* A "COMPILE_OPTIONS" source file property was added to manage list
  of options to pass to the compiler.

* When using "AUTOMOC" or "AUTOUIC", CMake now starts multiple
  parallel "moc" or "uic" processes to reduce the build time. A new
  "CMAKE_AUTOGEN_PARALLEL" variable and "AUTOGEN_PARALLEL" target
  property may be set to specify the number of parallel "moc" or "uic"
  processes to start.  The default is derived from the number of CPUs
  on the host.


CMake 3.11 Release Notes


Changes made since CMake 3.10 include the following.


New Features



Platforms
-

* TI C/C++ compilers are now supported by the "Ninja" generator.


Generators
--

* The "CodeBlocks" extra generator learned to check a
  "CMAKE_CODEBLOCKS_COMPILER_ID" variable for a custom compiler
  identification value to place in the project file.

* The Makefile Generators and the "Ninja" generator learned to add
  compiler launcher tools along with the compiler for the "Fortran"
  language ("C", "CXX", and "CUDA" were supported previously). See the
  "CMAKE__COMPILER_LAUNCHER" variable and
  "_COMPILER_LAUNCHER" target property for details.

* Visual Studio Generators learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS",
  "INCLUDE_DIRECTORIES", "COMPILE_OPTIONS", and "file(GENERATE)".  See
  generator expression documentation for caveats.

* The "Xcode" generator learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS" and
  "INCLUDE_DIRECTORIES".  It previously supported only
  "COMPILE_OPTIONS" and "file(GENERATE)". See generator expression
  documentation for caveats.


Commands


* "add_library()" and "add_executable()" commands can now be called
  without any sources and will not complain as long as sources are
  added later via the "target_sources()" command.

* The "file(DOWNLOAD)" and "file(UPLOAD)" commands gained "NETRC"
  and "NETRC_FILE" options to specify use of a ".netrc" file.

* The "target_compile_definitions()" command learned to set the
  "INTERFACE_COMPILE_DEFINITIONS" property on Imported Targets.

* The "target_compile_features()" command learned to set the
  "INTERFACE_COMPILE_FEATURES" property on Imported Targets.

* The "target_compile_options()" command learned to set the
  "INTERFACE_COMPILE_OPTIONS" property on Imported Targets.

* The "target_include_directories()" command learned to set the
  "INTERFACE_INCLUDE_DIRECTORIES" property on Imported Targets.

* The "target_sources()" command learned to set the
  "INTERFACE_SOURCES" property on Imported Targets.

* The "target_link_libraries()" command learned to set the
  "INTERFACE_LINK_LIBRARIES" property on Imported Targets.


Variables
-

* A 

[ANNOUNCE] CMake 3.11.0-rc2 is now ready for testing

2018-02-27 Thread Robert Maynard
I am proud to announce the second CMake 3.11 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.11

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.11/release/3.11.html

Some of the more significant changes in CMake 3.11 are:

* The Makefile Generators and the "Ninja" generator learned to add
  compiler launcher tools along with the compiler for the "Fortran"
  language ("C", "CXX", and "CUDA" were supported previously). See the
  "CMAKE__COMPILER_LAUNCHER" variable and
  "_COMPILER_LAUNCHER" target property for details.

* Visual Studio Generators learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS",
  "INCLUDE_DIRECTORIES", "COMPILE_OPTIONS", and "file(GENERATE)".  See
  generator expression documentation for caveats.

* The "Xcode" Generator learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS" and
  "INCLUDE_DIRECTORIES".  It previously supported only
  "COMPILE_OPTIONS" and "file(GENERATE)". See generator expression
  documentation for caveats.

* "add_library()" and "add_executable()" commands can now be called
  without any sources and will not complain as long as sources are
  added later via the "target_sources()" command.

* The "target_compile_definitions()" command learned to set the
  "INTERFACE_COMPILE_DEFINITIONS" property on Imported Targets.

* The "target_compile_features()" command learned to set the
  "INTERFACE_COMPILE_FEATURES" property on Imported Targets.

* The "target_compile_options()" command learned to set the
  "INTERFACE_COMPILE_OPTIONS" property on Imported Targets.

* The "target_include_directories()" command learned to set the
  "INTERFACE_INCLUDE_DIRECTORIES" property on Imported Targets.

* The "target_sources()" command learned to set the
  "INTERFACE_SOURCES" property on Imported Targets.

* The "target_link_libraries()" command learned to set the
  "INTERFACE_LINK_LIBRARIES" property on Imported Targets.

* The "COMPILE_DEFINITIONS" source file property learned to support
  "generator expressions".

* A "COMPILE_OPTIONS" source file property was added to manage list
  of options to pass to the compiler.

* When using "AUTOMOC" or "AUTOUIC", CMake now starts multiple
  parallel "moc" or "uic" processes to reduce the build time. A new
  "CMAKE_AUTOGEN_PARALLEL" variable and "AUTOGEN_PARALLEL" target
  property may be set to specify the number of parallel "moc" or "uic"
  processes to start.  The default is derived from the number of CPUs
  on the host.


CMake 3.11 Release Notes


Changes made since CMake 3.10 include the following.


New Features



Platforms
-

* TI C/C++ compilers are now supported by the "Ninja" generator.


Generators
--

* The "CodeBlocks" extra generator learned to check a
  "CMAKE_CODEBLOCKS_COMPILER_ID" variable for a custom compiler
  identification value to place in the project file.

* The Makefile Generators and the "Ninja" generator learned to add
  compiler launcher tools along with the compiler for the "Fortran"
  language ("C", "CXX", and "CUDA" were supported previously). See the
  "CMAKE__COMPILER_LAUNCHER" variable and
  "_COMPILER_LAUNCHER" target property for details.

* Visual Studio Generators learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS",
  "INCLUDE_DIRECTORIES", "COMPILE_OPTIONS", and "file(GENERATE)".  See
  generator expression documentation for caveats.

* The "Xcode" generator learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS" and
  "INCLUDE_DIRECTORIES".  It previously supported only
  "COMPILE_OPTIONS" and "file(GENERATE)". See generator expression
  documentation for caveats.


Commands


* "add_library()" and "add_executable()" commands can now be called
  without any sources and will not complain as long as sources are
  added later via the "target_sources()" command.

* The "file(DOWNLOAD)" and "file(UPLOAD)" commands gained "NETRC"
  and "NETRC_FILE" options to specify use of a ".netrc" file.

* The "target_compile_definitions()" command learned to set the
  "INTERFACE_COMPILE_DEFINITIONS" property on Imported Targets.

* The "target_compile_features()" command learned to set the
  "INTERFACE_COMPILE_FEATURES" property on Imported Targets.

* The "target_compile_options()" command learned to set the
  "INTERFACE_COMPILE_OPTIONS" property on Imported Targets.

* The "target_include_directories()" command learned to set the
  "INTERFACE_INCLUDE_DIRECTORIES" property on Imported Targets.

* The "target_sources()" command learned to set the
  "INTERFACE_SOURCES" property on Imported Targets.

* The "target_link_libraries()" command learned to set the
  "INTERFACE_LINK_LIBRARIES" property on Imported Targets.


Variables
-

* A 

[ANNOUNCE] CMake 3.11.0-rc1 is now ready for testing

2018-02-15 Thread Robert Maynard
I am proud to announce the first CMake 3.11 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.11

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.11/release/3.11.html

Some of the more significant changes in CMake 3.11 are:

* The Makefile Generators and the "Ninja" generator learned to add
  compiler launcher tools along with the compiler for the "Fortran"
  language ("C", "CXX", and "CUDA" were supported previously). See the
  "CMAKE__COMPILER_LAUNCHER" variable and
  "_COMPILER_LAUNCHER" target property for details.

* Visual Studio Generators learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS",
  "INCLUDE_DIRECTORIES", "COMPILE_OPTIONS", and "file(GENERATE)".  See
  generator expression documentation for caveats.

* The "Xcode" Generator learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS" and
  "INCLUDE_DIRECTORIES".  It previously supported only
  "COMPILE_OPTIONS" and "file(GENERATE)". See generator expression
  documentation for caveats.

* "add_library()" and "add_executable()" commands can now be called
  without any sources and will not complain as long as sources are
  added later via the "target_sources()" command.

* The "target_compile_definitions()" command learned to set the
  "INTERFACE_COMPILE_DEFINITIONS" property on Imported Targets.

* The "target_compile_features()" command learned to set the
  "INTERFACE_COMPILE_FEATURES" property on Imported Targets.

* The "target_compile_options()" command learned to set the
  "INTERFACE_COMPILE_OPTIONS" property on Imported Targets.

* The "target_include_directories()" command learned to set the
  "INTERFACE_INCLUDE_DIRECTORIES" property on Imported Targets.

* The "target_sources()" command learned to set the
  "INTERFACE_SOURCES" property on Imported Targets.

* The "target_link_libraries()" command learned to set the
  "INTERFACE_LINK_LIBRARIES" property on Imported Targets.

* The "COMPILE_DEFINITIONS" source file property learned to support
  "generator expressions".

* A "COMPILE_OPTIONS" source file property was added to manage list
  of options to pass to the compiler.

* When using "AUTOMOC" or "AUTOUIC", CMake now starts multiple
  parallel "moc" or "uic" processes to reduce the build time. A new
  "CMAKE_AUTOGEN_PARALLEL" variable and "AUTOGEN_PARALLEL" target
  property may be set to specify the number of parallel "moc" or "uic"
  processes to start.  The default is derived from the number of CPUs
  on the host.


CMake 3.11 Release Notes


Changes made since CMake 3.10 include the following.


New Features



Platforms
-

* TI C/C++ compilers are now supported by the "Ninja" generator.


Generators
--

* The "CodeBlocks" extra generator learned to check a
  "CMAKE_CODEBLOCKS_COMPILER_ID" variable for a custom compiler
  identification value to place in the project file.

* The Makefile Generators and the "Ninja" generator learned to add
  compiler launcher tools along with the compiler for the "Fortran"
  language ("C", "CXX", and "CUDA" were supported previously). See the
  "CMAKE__COMPILER_LAUNCHER" variable and
  "_COMPILER_LAUNCHER" target property for details.

* Visual Studio Generators learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS",
  "INCLUDE_DIRECTORIES", "COMPILE_OPTIONS", and "file(GENERATE)".  See
  generator expression documentation for caveats.

* The "Xcode" generator learned to support the "COMPILE_LANGUAGE"
  "generator expression" in target-wide "COMPILE_DEFINITIONS" and
  "INCLUDE_DIRECTORIES".  It previously supported only
  "COMPILE_OPTIONS" and "file(GENERATE)". See generator expression
  documentation for caveats.


Commands


* "add_library()" and "add_executable()" commands can now be called
  without any sources and will not complain as long as sources are
  added later via the "target_sources()" command.

* The "file(DOWNLOAD)" and "file(UPLOAD)" commands gained "NETRC"
  and "NETRC_FILE" options to specify use of a ".netrc" file.

* The "target_compile_definitions()" command learned to set the
  "INTERFACE_COMPILE_DEFINITIONS" property on Imported Targets.

* The "target_compile_features()" command learned to set the
  "INTERFACE_COMPILE_FEATURES" property on Imported Targets.

* The "target_compile_options()" command learned to set the
  "INTERFACE_COMPILE_OPTIONS" property on Imported Targets.

* The "target_include_directories()" command learned to set the
  "INTERFACE_INCLUDE_DIRECTORIES" property on Imported Targets.

* The "target_sources()" command learned to set the
  "INTERFACE_SOURCES" property on Imported Targets.

* The "target_link_libraries()" command learned to set the
  "INTERFACE_LINK_LIBRARIES" property on Imported Targets.


Variables
-

* A 

[ANNOUNCE] CMake 3.10.2 available for download

2018-01-18 Thread Robert Maynard
We are pleased to announce that CMake 3.10.2 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.10.2 since 3.10.1:

Brad King (2):
  KWIML: Backport RISC-V update to CMake 3.10
  CMake 3.10.2

Egor Pugin (1):
  FindPostgreSQL: Add support for PG10

Joel T. Frederico (1):
  cmGraphVizWriter: Updated to create and follow dependers for
  interface targets

Sebastian Holtermann (2):
  Autogen: Fix for problematic nested list separator
  Autogen: Ignore not existing source files in cmMakefile


[ANNOUNCE] CMake 3.10.1 available for download

2017-12-14 Thread Robert Maynard
We are pleased to announce that CMake 3.10.1 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.10.1 since 3.10.0:

Adam Ciarciński (1):
  bootstrap: Check support for unordered_map from compiler mode

Alexander Wittig (1):
  CPack: Fix macOS PKG component dependency information

Brad King (3):
  CUDA: Treat /usr/include as an implicit include directory
  server: Revert "Report backtraces in codemodel response"
  CMake 3.10.1

Christian Pfeiffer (4):
  FindMPI: Correct legacy variable handling
  FindMPI: Fix multiple configure runs
  FindMPI: Fix various legacy problems
  IRSL: Fix MSVC variable deferencing

Islam Amer (1):
  IAR: FindBinUtils should work for CXX as well as C

Matthew Woehlke (4):
  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

Robert Maynard (1):
  CUDA: Shared libraries on Darwin properly setup @rpath install_names

Sebastian Holtermann (2):
  Autogen: Fix for AUTOMOC on macOS frameworks in CMake 3.10
  Autogen: Tests: Add test for MacOS frameworks

İsmail Dönmez (1):
  Clang: Do not mistake clang-cl 6.0 for GNU-like clang


[ANNOUNCE] CMake 3.10.0 available for download

2017-11-20 Thread Robert Maynard
I am proud to announce that CMake 3.10.0 is now available for download at:
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.10

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.10/release/3.10.html

Some of the more significant changes in CMake 3.10 are:

* The flang Fortran compiler is now supported, with compiler id
  "Flang".

* Support for the MSVC ARM64 architecture was added. Visual Studio
  2017 Update 4 and above offer an ARM64 toolchain.

* The "include_guard()" command was introduced to allow guarding
  CMake scripts from being included more than once. The command
  supports "DIRECTORY" and "GLOBAL" options to adjust the
  corresponding include guard scope. If no options given, include
  guard is similar to basic variable-based check.

* "FindMPI" received a major overhaul. It now features language specific
  components, better Fortran support, and support for statically linked
  MPI implementations.

* A "FindOpenACC" module was added to detect compiler support for
  OpenACC.  Currently only supports PGI, GNU and Cray compilers.

* The "FindOpenGL" 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 "GoogleTest" module gained a new command
  "gtest_discover_tests()" implementing dynamic (build-time) test
  discovery.

* When using "AUTOMOC" or "AUTOUIC", source files that are
  "GENERATED" will be processed as well. They were ignored by
  "AUTOMOC" and "AUTOUIC" in earlier releases. See policy "CMP0071".

* A "CTEST_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.
  "ctest -S") set it in the "CTestConfig.cmake" config file.

* CPack gained a "FREEBSD" generator for FreeBSD "pkg(8)",
  configured by the "CPackFreeBSD" module.

* The CPack "DEB" generator, configured by the "CPackDeb" 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 "cmake(1)" "-E" mode gained support for "sha1sum",
  "sha224sum", "sha256sum", "sha384sum", and "sha512sum".

* The "file(GENERATE)" command now interprets relative paths given
  to its "OUTPUT" and "INPUT" arguments with respect to the caller's
  current binary and source directories, respectively. See policy
  "CMP0070".

CMake 3.10 Release Notes


Changes made since CMake 3.9 include the following.


New Features



Platforms
-

* The flang Fortran compiler is now supported, with compiler id
  "Flang".

* A new minimal platform file for "Midipix" was added.

* Support for the MSVC ARM64 architecture was added. Visual Studio
  2017 Update 4 and above offer an ARM64 toolchain.

* Support for the IAR ARM Compiler was improved.


Generators
--

* The Makefile Generators and the "Ninja" generator learned to add
  compiler launcher tools like ccache along with the compiler for the
  "CUDA" language ("C" and "CXX" were supported previously).  See the
  "CMAKE__COMPILER_LAUNCHER" variable and
  "_COMPILER_LAUNCHER" target property for details.

* The "CodeBlocks" extra generator learned to optionally exclude
  files from outside the project root directory from the generated
  project. See the "CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES" variable.


Commands


* The "cmake_host_system_information()" command learned more keys to
  get information about the processor capabilities and the host OS
  version.

* The "configure_file()" command learned to support indented "#
  cmakedefine" and "#  cmakedefine01". Spaces and/or tabs between the
  "#" character and the "cmakedefine"/"cmakedefine01" words are now
  understood and preserved in the output.

* The "execute_process()" command gained a "RESULTS_VARIABLE" option
  to collect a list of results from all children in a pipeline of
  processes when multiple "COMMAND" arguments are given.

* The "include_guard()" command was introduced to allow guarding
  CMake scripts from being included more than once. The command
  supports "DIRECTORY" and "GLOBAL" options to adjust the
  corresponding include guard scope. If no options given, include
  guard is similar to basic variable-based check.

* The "string()" command learned a new "PREPEND" subcommand.

* The "string(TIMESTAMP)" command now supports "%A" for full weekday
  name and "%B" for full month name.


Variables
-

* A "CMAKE_DIRECTORY_LABELS" variable was added to specify labels
  for all tests in a directory.


Properties
--

* A "_CPPCHECK" target property and supporting
  "CMAKE__CPPCHECK" variable were introduced to tell the
  Makefile Generators and the 

CMake 3.10.0-rc5 is now ready for testing

2017-11-10 Thread Robert Maynard
I am proud to announce the fifth CMake 3.10 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.10

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.10/release/3.10.html

Some of the more significant changes in CMake 3.10 are:

* The flang Fortran compiler is now supported, with compiler id
  "Flang".

* Support for the MSVC ARM64 architecture was added. Visual Studio
  2017 Update 4 and above offer an ARM64 toolchain.

* The "include_guard()" command was introduced to allow guarding
  CMake scripts from being included more than once. The command
  supports "DIRECTORY" and "GLOBAL" options to adjust the
  corresponding include guard scope. If no options given, include
  guard is similar to basic variable-based check.

* "FindMPI" received a major overhaul. It now features language specific
  components, better Fortran support, and support for statically linked
  MPI implementations.

* A "FindOpenACC" module was added to detect compiler support for
  OpenACC.  Currently only supports PGI, GNU and Cray compilers.

* The "FindOpenGL" 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 "GoogleTest" module gained a new command
  "gtest_discover_tests()" implementing dynamic (build-time) test
  discovery.

* When using "AUTOMOC" or "AUTOUIC", source files that are
  "GENERATED" will be processed as well. They were ignored by
  "AUTOMOC" and "AUTOUIC" in earlier releases. See policy "CMP0071".

* A "CTEST_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.
  "ctest -S") set it in the "CTestConfig.cmake" config file.

* CPack gained a "FREEBSD" generator for FreeBSD "pkg(8)",
  configured by the "CPackFreeBSD" module.

* The CPack "DEB" generator, configured by the "CPackDeb" 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 "cmake(1)" "-E" mode gained support for "sha1sum",
  "sha224sum", "sha256sum", "sha384sum", and "sha512sum".

* The "file(GENERATE)" command now interprets relative paths given
  to its "OUTPUT" and "INPUT" arguments with respect to the caller's
  current binary and source directories, respectively. See policy
  "CMP0070".

CMake 3.10 Release Notes


Changes made since CMake 3.9 include the following.


New Features



Platforms
-

* The flang Fortran compiler is now supported, with compiler id
  "Flang".

* A new minimal platform file for "Midipix" was added.

* Support for the MSVC ARM64 architecture was added. Visual Studio
  2017 Update 4 and above offer an ARM64 toolchain.

* Support for the IAR ARM Compiler was improved.


Generators
--

* The Makefile Generators and the "Ninja" generator learned to add
  compiler launcher tools like ccache along with the compiler for the
  "CUDA" language ("C" and "CXX" were supported previously).  See the
  "CMAKE__COMPILER_LAUNCHER" variable and
  "_COMPILER_LAUNCHER" target property for details.

* The "CodeBlocks" extra generator learned to optionally exclude
  files from outside the project root directory from the generated
  project. See the "CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES" variable.


Commands


* The "cmake_host_system_information()" command learned more keys to
  get information about the processor capabilities and the host OS
  version.

* The "configure_file()" command learned to support indented "#
  cmakedefine" and "#  cmakedefine01". Spaces and/or tabs between the
  "#" character and the "cmakedefine"/"cmakedefine01" words are now
  understood and preserved in the output.

* The "execute_process()" command gained a "RESULTS_VARIABLE" option
  to collect a list of results from all children in a pipeline of
  processes when multiple "COMMAND" arguments are given.

* The "include_guard()" command was introduced to allow guarding
  CMake scripts from being included more than once. The command
  supports "DIRECTORY" and "GLOBAL" options to adjust the
  corresponding include guard scope. If no options given, include
  guard is similar to basic variable-based check.

* The "string()" command learned a new "PREPEND" subcommand.

* The "string(TIMESTAMP)" command now supports "%A" for full weekday
  name and "%B" for full month name.


Variables
-

* A "CMAKE_DIRECTORY_LABELS" variable was added to specify labels
  for all tests in a directory.


Properties
--

* A "_CPPCHECK" target property and supporting
  "CMAKE__CPPCHECK" variable were introduced to tell the
  Makefile Generators and the "Ninja" 

[ANNOUNCE] CMake 3.9.6 available for download

2017-11-10 Thread Robert Maynard
We are pleased to announce that CMake 3.9.6 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.9.6 since 3.9.5:

Brad King (1):
  CMake 3.9.6

Christian Pfeiffer (1):
  Restore exclusion of "gcc_eh" from implicit link libraries


[ANNOUNCE] CMake 3.9.5 available for download

2017-11-03 Thread Robert Maynard
We are pleased to announce that CMake 3.9.5 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.9.5 since 3.9.4:

Brad King (1):
  CMake 3.9.5

Sebastian Holtermann (1):
  Autogen: Don't add AUTOMOC_MOC_OPTIONS to moc-predefs command


[ANNOUNCE] CMake 3.10.0-rc4 is now ready for testing

2017-11-01 Thread Robert Maynard
I am proud to announce the fourth CMake 3.10 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.10

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.10/release/3.10.html

Some of the more significant changes in CMake 3.10 are:

* The flang Fortran compiler is now supported, with compiler id
  "Flang".

* Support for the MSVC ARM64 architecture was added. Visual Studio
  2017 Update 4 and above offer an ARM64 toolchain.

* The "include_guard()" command was introduced to allow guarding
  CMake scripts from being included more than once. The command
  supports "DIRECTORY" and "GLOBAL" options to adjust the
  corresponding include guard scope. If no options given, include
  guard is similar to basic variable-based check.

* "FindMPI" received a major overhaul. It now features language specific
  components, better Fortran support, and support for statically linked
  MPI implementations.

* A "FindOpenACC" module was added to detect compiler support for
  OpenACC.  Currently only supports PGI, GNU and Cray compilers.

* The "FindOpenGL" 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 "GoogleTest" module gained a new command
  "gtest_discover_tests()" implementing dynamic (build-time) test
  discovery.

* When using "AUTOMOC" or "AUTOUIC", source files that are
  "GENERATED" will be processed as well. They were ignored by
  "AUTOMOC" and "AUTOUIC" in earlier releases. See policy "CMP0071".

* A "CTEST_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.
  "ctest -S") set it in the "CTestConfig.cmake" config file.

* CPack gained a "FREEBSD" generator for FreeBSD "pkg(8)",
  configured by the "CPackFreeBSD" module.

* The CPack "DEB" generator, configured by the "CPackDeb" 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 "cmake(1)" "-E" mode gained support for "sha1sum",
  "sha224sum", "sha256sum", "sha384sum", and "sha512sum".

* The "file(GENERATE)" command now interprets relative paths given
  to its "OUTPUT" and "INPUT" arguments with respect to the caller's
  current binary and source directories, respectively. See policy
  "CMP0070".

CMake 3.10 Release Notes


Changes made since CMake 3.9 include the following.


New Features



Platforms
-

* The flang Fortran compiler is now supported, with compiler id
  "Flang".

* A new minimal platform file for "Midipix" was added.

* Support for the MSVC ARM64 architecture was added. Visual Studio
  2017 Update 4 and above offer an ARM64 toolchain.

* Support for the IAR ARM Compiler was improved.


Generators
--

* The Makefile Generators and the "Ninja" generator learned to add
  compiler launcher tools like ccache along with the compiler for the
  "CUDA" language ("C" and "CXX" were supported previously).  See the
  "CMAKE__COMPILER_LAUNCHER" variable and
  "_COMPILER_LAUNCHER" target property for details.

* The "CodeBlocks" extra generator learned to optionally exclude
  files from outside the project root directory from the generated
  project. See the "CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES" variable.


Commands


* The "cmake_host_system_information()" command learned more keys to
  get information about the processor capabilities and the host OS
  version.

* The "configure_file()" command learned to support indented "#
  cmakedefine" and "#  cmakedefine01". Spaces and/or tabs between the
  "#" character and the "cmakedefine"/"cmakedefine01" words are now
  understood and preserved in the output.

* The "execute_process()" command gained a "RESULTS_VARIABLE" option
  to collect a list of results from all children in a pipeline of
  processes when multiple "COMMAND" arguments are given.

* The "include_guard()" command was introduced to allow guarding
  CMake scripts from being included more than once. The command
  supports "DIRECTORY" and "GLOBAL" options to adjust the
  corresponding include guard scope. If no options given, include
  guard is similar to basic variable-based check.

* The "string()" command learned a new "PREPEND" subcommand.

* The "string(TIMESTAMP)" command now supports "%A" for full weekday
  name and "%B" for full month name.


Variables
-

* A "CMAKE_DIRECTORY_LABELS" variable was added to specify labels
  for all tests in a directory.


Properties
--

* A "_CPPCHECK" target property and supporting
  "CMAKE__CPPCHECK" variable were introduced to tell the
  Makefile Generators and the "Ninja" 

[ANNOUNCE] CMake 3.10.0-rc3 is now ready for testing

2017-10-19 Thread Robert Maynard
I am proud to announce the third CMake 3.10 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.10

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.10/release/3.10.html

Some of the more significant changes in CMake 3.10 are:

* The flang Fortran compiler is now supported, with compiler id
  "Flang".

* Support for the MSVC ARM64 architecture was added. Visual Studio
  2017 Update 4 and above offer an ARM64 toolchain.

* The "include_guard()" command was introduced to allow guarding
  CMake scripts from being included more than once. The command
  supports "DIRECTORY" and "GLOBAL" options to adjust the
  corresponding include guard scope. If no options given, include
  guard is similar to basic variable-based check.

* "FindMPI" received a major overhaul. It now features language specific
  components, better Fortran support, and support for statically linked
  MPI implementations.

* A "FindOpenACC" module was added to detect compiler support for
  OpenACC.  Currently only supports PGI, GNU and Cray compilers.

* The "FindOpenGL" 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 "GoogleTest" module gained a new command
  "gtest_discover_tests()" implementing dynamic (build-time) test
  discovery.

* When using "AUTOMOC" or "AUTOUIC", source files that are
  "GENERATED" will be processed as well. They were ignored by
  "AUTOMOC" and "AUTOUIC" in earlier releases. See policy "CMP0071".

* A "CTEST_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.
  "ctest -S") set it in the "CTestConfig.cmake" config file.

* CPack gained a "FREEBSD" generator for FreeBSD "pkg(8)",
  configured by the "CPackFreeBSD" module.

* The CPack "DEB" generator, configured by the "CPackDeb" 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 "cmake(1)" "-E" mode gained support for "sha1sum",
  "sha224sum", "sha256sum", "sha384sum", and "sha512sum".

* The "file(GENERATE)" command now interprets relative paths given
  to its "OUTPUT" and "INPUT" arguments with respect to the caller's
  current binary and source directories, respectively. See policy
  "CMP0070".

CMake 3.10 Release Notes


Changes made since CMake 3.9 include the following.


New Features



Platforms
-

* The flang Fortran compiler is now supported, with compiler id
  "Flang".

* A new minimal platform file for "Midipix" was added.

* Support for the MSVC ARM64 architecture was added. Visual Studio
  2017 Update 4 and above offer an ARM64 toolchain.

* Support for the IAR ARM Compiler was improved.


Generators
--

* The Makefile Generators and the "Ninja" generator learned to add
  compiler launcher tools like ccache along with the compiler for the
  "CUDA" language ("C" and "CXX" were supported previously).  See the
  "CMAKE__COMPILER_LAUNCHER" variable and
  "_COMPILER_LAUNCHER" target property for details.

* The "CodeBlocks" extra generator learned to optionally exclude
  files from outside the project root directory from the generated
  project. See the "CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES" variable.


Commands


* The "cmake_host_system_information()" command learned more keys to
  get information about the processor capabilities and the host OS
  version.

* The "configure_file()" command learned to support indented "#
  cmakedefine" and "#  cmakedefine01". Spaces and/or tabs between the
  "#" character and the "cmakedefine"/"cmakedefine01" words are now
  understood and preserved in the output.

* The "execute_process()" command gained a "RESULTS_VARIABLE" option
  to collect a list of results from all children in a pipeline of
  processes when multiple "COMMAND" arguments are given.

* The "include_guard()" command was introduced to allow guarding
  CMake scripts from being included more than once. The command
  supports "DIRECTORY" and "GLOBAL" options to adjust the
  corresponding include guard scope. If no options given, include
  guard is similar to basic variable-based check.

* The "string()" command learned a new "PREPEND" subcommand.

* The "string(TIMESTAMP)" command now supports "%A" for full weekday
  name and "%B" for full month name.


Variables
-

* A "CMAKE_DIRECTORY_LABELS" variable was added to specify labels
  for all tests in a directory.


Properties
--

* A "_CPPCHECK" target property and supporting
  "CMAKE__CPPCHECK" variable were introduced to tell the
  Makefile Generators and the "Ninja" 

[ANNOUNCE] CMake 3.10.0-rc2 is now ready for testing

2017-10-12 Thread Robert Maynard
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.
  "ctest -S") set it in the "CTestConfig.cmake" config file.


CPack
-

* CPack gained a "FREEBSD" generator for FreeBSD "pkg(8)",
  configured by the "CPackFreeBSD" module.

* The CPack "DEB" generator, configured by the "CPackDeb" 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 "CPackDeb" module learned to set package release version in
  "Version" info property. See the "CPACK_DEBIAN_PACKAGE_RELEASE"
  variable.

* The "CPackDeb" module learned more strict package version checking
  that complies with Debian rules.

* The "CPackIFW" module "cpack_ifw_configure_component()" and
  "cpack_ifw_configure_component_group()" commands gained a new
  "REPLACES" and "CHECKABLE" options.

* The "CPackIFW" module gained new
  "CPACK_IFW_PACKAGE_FILE_EXTENSION" variable to customize target
  binary format.

* The "CPackIFW" module gained new
  "CPACK_IFW_REPOSITORIES_DIRECTORIES" variable to specify additional
  repositories dirs that will be used to resolve and repack dependent
  components. This feature is only available when using QtIFW 3.1 or
  later.

* Modules "CPackRPM" and "CPackDeb" learned to set package epoch
  version. See "CPACK_RPM_PACKAGE_EPOCH" and
  "CPACK_DEBIAN_PACKAGE_EPOCH" variables.


Other
-

* The "cmake(1)" "-E" mode gained support for "sha1sum",
  "sha224sum", "sha256sum", "sha384sum", and "sha512sum".

* The graphviz output now distinguishes among the different
  dependency types "PUBLIC", "PRIVATE" and "INTERFACE" and represents
  them in the output graph as solid, dashed and dotted edges.


Deprecated and Removed Features
===

* Support for building CMake itself with C++98 compilers was
  dropped. CMake is now implemented using C++11.

* Support for building CMake on HP-UX has been dropped pending
  better support for C++11 and a port of libuv.  See CMake Issue
  17137. Use CMake 3.9 or lower instead for HP-UX support.


Other Changes
=

* On FreeBSD the C++ compiler named "c++" is now the preferred
  default.

* The "file(GENERATE)" command now interprets relative paths given
  to its "OUTPUT" and "INPUT" arguments with respect to the caller's
  current binary and source directories, respectively. See policy
  "CMP0070".

* The "get_filename_component()" "PROGRAM" mode semantics have been
  revised to not tolerate unquoted spaces in the path to the program
  while also accepting arguments.  While technically incompatible with
  the old behavior, it is expected that behavior under typical use
  cases with properly-quoted command-lines has not changed.


Changes made since CMake 3.9.0-rc1:

André Apitzsch (1):
  FindProtobuf: fix documentation typo

Brad King (10):
  Help: Revise 3.10 release notes
  FindJava: Revise version parsing to support Java 9
  curl: Update script to get curl 7.56.0
  curl: Update build within CMake to account for 7.56 changes
  Help: Minor text clarifications in cmake-language(7) manual
  Clang: Diagnose unsupported GNU-like clang targeting MSVC ABI
  ExternalProject: Avoid if() auto-dereferene in quoted arguments
  FindXMLRPC: Drop unnecessary exec_program code paths
  FindXMLRPC: Tolerate no include directories
  CMake 3.10.0-rc2

Christian Pfeiffer (1):
  FindOpenMP: Fix link flags being used for compile

Craig Scott (2):
  Help: Fix Example appearing in target property list of contents
  Help: Fix wrong property reference for an app bundle's Info.plist

Curl Upstream (1):
  curl 2017-10-04 (3ea76790)

Domen Vrankar (2):
  CPack/Deb: CPACK_DEBIAN_PACKAGE_VERSION regex testing exception
  CPack/Deb: fix for regex passing even if invalid characters are present

Gregor Jasny (2):
  Revert "Xcode: Adjust tests to drop of 32bit iOS architectures"
  Xcode 9: Lower iOS deployment version to get armv7 builds

Matthias Maennich (4):
  cmcmd: let operator<< for NumberFormatter reset the stream's format flags
  cmGeneratorTarget: remove dead code
  cmProcessTools: fix minor issue introduced by 595feb3
  cmInstallCommandArguments: do not access static members through `this`

Robert Maynard (1):
  FindCUDA: Update for CUDA 9 breakup of nppi into multiple libraries

Sebastian Holtermann (3):
  Autogen: Allow setting SKIP_AUTOUIC/GEN on .ui files not in the sources
  Autogen: Docs: Add examples for AUTORCC_OPTIONS and AUTOUIC_OPTIONS
  Autogen: Docs: Extend SKIP_AUTOUIC documentation

Thomas Stenersen (1):
  IPO: Fix support for spaces in path to archive tools


[ANNOUNCE] CMake 3.10.0-rc1 is now ready for testing

2017-10-05 Thread Robert Maynard
I am proud to announce the first CMake 3.10 release candidate.
  https://cmake.org/download/

Documentation is available at:
  https://cmake.org/cmake/help/v3.10

Release notes appear below and are also published at
  https://cmake.org/cmake/help/v3.10/release/3.10.html

Some of the more significant changes in CMake 3.10 are:

* The flang Fortran compiler is now supported, with compiler id
  "Flang".

* Support for the MSVC ARM64 architecture was added. Visual Studio
  2017 Update 4 and above offer an ARM64 toolchain.

* The "include_guard()" command was introduced to allow guarding
  CMake scripts from being included more than once. The command
  supports "DIRECTORY" and "GLOBAL" options to adjust the
  corresponding include guard scope. If no options given, include
  guard is similar to basic variable-based check.

* "FindMPI" received a major overhaul. It now features language specific
  components, better Fortran support, and support for statically linked
  MPI implementations.

* A "FindOpenACC" module was added to detect compiler support for
  OpenACC.  Currently only supports PGI, GNU and Cray compilers.

* The "FindOpenGL" 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 "GoogleTest" module gained a new command
  "gtest_discover_tests()" implementing dynamic (build-time) test
  discovery.

* When using "AUTOMOC" or "AUTOUIC", source files that are
  "GENERATED" will be processed as well. They were ignored by
  "AUTOMOC" and "AUTOUIC" in earlier releases. See policy "CMP0071".

* A "CTEST_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.
  "ctest -S") set it in the "CTestConfig.cmake" config file.

* CPack gained a "FREEBSD" generator for FreeBSD "pkg(8)",
  configured by the "CPackFreeBSD" module.

* The CPack "DEB" generator, configured by the "CPackDeb" 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 "cmake(1)" "-E" mode gained support for "sha1sum",
  "sha224sum", "sha256sum", "sha384sum", and "sha512sum".

* The "file(GENERATE)" command now interprets relative paths given
  to its "OUTPUT" and "INPUT" arguments with respect to the caller's
  current binary and source directories, respectively. See policy
  "CMP0070".

CMake 3.10 Release Notes


Changes made since CMake 3.9 include the following.


New Features



Platforms
-

* The flang Fortran compiler is now supported, with compiler id
  "Flang".

* A new minimal platform file for "Midipix" was added.

* Support for the MSVC ARM64 architecture was added. Visual Studio
  2017 Update 4 and above offer an ARM64 toolchain.

* Support for the IAR ARM Compiler was improved.


Generators
--

* The Makefile Generators and the "Ninja" generator learned to add
  compiler launcher tools like ccache along with the compiler for the
  "CUDA" language ("C" and "CXX" were supported previously).  See the
  "CMAKE__COMPILER_LAUNCHER" variable and
  "_COMPILER_LAUNCHER" target property for details.

* The "CodeBlocks" extra generator learned to optionally exclude
  files from outside the project root directory from the generated
  project. See the "CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES" variable.


Commands


* The "cmake_host_system_information()" command learned more keys to
  get information about the processor capabilities and the host OS
  version.

* The "configure_file()" command learned to support indented "#
  cmakedefine" and "#  cmakedefine01". Spaces and/or tabs between the
  "#" character and the "cmakedefine"/"cmakedefine01" words are now
  understood and preserved in the output.

* The "execute_process()" command gained a "RESULTS_VARIABLE" option
  to collect a list of results from all children in a pipeline of
  processes when multiple "COMMAND" arguments are given.

* The "include_guard()" command was introduced to allow guarding
  CMake scripts from being included more than once. The command
  supports "DIRECTORY" and "GLOBAL" options to adjust the
  corresponding include guard scope. If no options given, include
  guard is similar to basic variable-based check.

* The "string()" command learned a new "PREPEND" subcommand.

* The "string(TIMESTAMP)" command now supports "%A" for full weekday
  name and "%B" for full month name.


Variables
-

* A "CMAKE_DIRECTORY_LABELS" variable was added to specify labels
  for all tests in a directory.


Properties
--

* A "_CPPCHECK" target property and supporting
  "CMAKE__CPPCHECK" variable were introduced to tell the
  Makefile Generators and the "Ninja" 

[ANNOUNCE] CMake 3.9.4 available for download

2017-10-04 Thread Robert Maynard
We are pleased to announce that CMake 3.9.4 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.9.4 since 3.9.3:

Brad King (2):
  FindBoost: Finish reverting "Simplify search in lists" for 3.9
  CMake 3.9.4


[ANNOUNCE] CMake 3.9.2 available for download

2017-09-07 Thread Robert Maynard
We are pleased to announce that CMake 3.9.2 is now available for download.

Please use the latest release from our download page:
  https://cmake.org/download/

Thanks for your support!

-
Changes in 3.9.2 since 3.9.1:

Brad King (13):
  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
  CMake 3.9.2

Christian Pfeiffer (1):
  FindOpenMP: Restore OpenMP_FOUND result variable

Maikel van den Hurk (1):
  CUDA: Pass host compiler to nvcc while device linking

Michael Stürmer (2):
  VS: Do not reference output assemblies if not possible for CSharp target
  VS: Initialize CSharp flags consistently

Sebastian Holtermann (3):
  Autogen: Restore AUTOUIC lookup paths from 3.8.2
  Autogen: Update AUTOUIC documentation for search paths
  Autogen: Extend AUTOUIC search paths test

Sylvain Joubert (1):
  Clang: Find version-suffixed LLVM/Clang binutils

Tibor Szabo (1):
  FindCygwin: Fix regression when CYGWIN_INSTALL_PATH is already set


  1   2   >