Commit Graph

46965 Commits

Author SHA1 Message Date
Kyle Edwards c794b70f19 Ninja Multi-Config: Always generate build.ninja
If CMAKE_DEFAULT_BUILD_TYPE is not specified, use the first item
from CMAKE_CONFIGURATION_TYPES instead.
2020-02-27 10:39:35 -05:00
Kyle Edwards 9590c3a400 Generator: Don't allow Ninja Multi-Config variables on other generators
We may want to enable these variables later on with specific
semantics. To avoid breaking backwards compatibility, make it an
error to use them for now.
2020-02-27 09:23:08 -05:00
Kyle Edwards 7a63dafafb Ninja Multi-Config: Remove "NMC" from variable names
Also rename `..._DEFAULT_BUILD_FILE_CONFIG` to `..._DEFAULT_BUILD_TYPE`.
These name changes make the variables meaningful for future use by other
generators.
2020-02-27 09:22:08 -05:00
Brad King d25d8e9eef Help: Update CMake 3.16 release notes for 3.16.5 2020-02-27 08:52:52 -05:00
Brad King 813b289023 Merge topic 'pch-file-time' into release-3.17
7e9b9fe918 PCH: Copy the timestamp from an absolute header file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4400
2020-02-27 08:48:49 -05:00
Brad King e619d29e76 Merge topic 'update-kwsys' into release-3.17
06702acb28 KWSys: Terminal: Add st-256color to VT100 color support whitelist

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4394
2020-02-27 08:46:04 -05:00
Brad King 4e6b14c985 Merge branch 'backport-3.16-FindPython-cache-cleanup' into release-3.16
1dc524f2 FindPython: Do not cache computed result variables in CMake 3.16
602d1d82 FindPython: Mark non-public cache entries INTERNAL in CMake 3.16

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4399
2020-02-27 08:33:11 -05:00
Brad King b766d2ca77 Merge topic 'FindPython-cache-cleanup' into release-3.17
42c6a1bfee FindPython: Do not cache computed result variables
a7b4516e1a FindPython: Mark non-public cache entries INTERNAL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4393
2020-02-27 08:31:45 -05:00
Brad King 93287e34bc Merge topic 'backport-ctest-resource-allocation-doc' into release-3.17
3bff839706 Help: Clarify that the CTest resource allocation feature doesn't oversubscribe

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4401
2020-02-26 10:09:24 -05:00
Cristian Adam 7e9b9fe918 PCH: Copy the timestamp from an absolute header file
If `target_precompile_headers` contains a file from the project,
then CMake will set the timestamp for `cmake_pch.h|xx` from that
file.

This helps with ccache and precompile headers.

Fixes: #19923
2020-02-26 10:05:47 -05:00
Kyle Edwards 3bff839706 Help: Clarify that the CTest resource allocation feature doesn't oversubscribe 2020-02-26 09:56:40 -05:00
Marc Chevrier 1dc524f202 FindPython: Do not cache computed result variables in CMake 3.16
Since commit 06d9e67fbd (FindPython: Add capability to specify directly
artifacts, 2019-08-15, v3.16.0-rc1~157^2) we accidentally add the result
variables `Python*_LIBRARY_RELEASE` and `Python*_LIBRARY_DEBUG` to the
cache.  They are always computed from other results and so should not be
presented to users in cmake-gui and ccmake to edit.

Issue: #20362
2020-02-26 08:09:21 -05:00
Marc Chevrier 602d1d8201 FindPython: Mark non-public cache entries INTERNAL in CMake 3.16
Since commit 06d9e67fbd (FindPython: Add capability to specify directly
artifacts, 2019-08-15, v3.16.0-rc1~157^2) we accidentally expose cache
entries named `_Python...` to users in cmake-gui and ccmake.  Mark those
entries as `INTERNAL` to hide them.

Issue: #20362
2020-02-26 08:09:16 -05:00
Marc Chevrier 42c6a1bfee FindPython: Do not cache computed result variables
Since commit 06d9e67fbd (FindPython: Add capability to specify directly
artifacts, 2019-08-15, v3.16.0-rc1~157^2) we accidentally add the result
variables `Python*_LIBRARY_RELEASE` and `Python*_LIBRARY_DEBUG` to the
cache.  They are always computed from other results and so should not be
presented to users in cmake-gui and ccmake to edit.

Issue: #20362
2020-02-26 08:08:26 -05:00
Marc Chevrier a7b4516e1a FindPython: Mark non-public cache entries INTERNAL
Since commit 06d9e67fbd (FindPython: Add capability to specify directly
artifacts, 2019-08-15, v3.16.0-rc1~157^2) we accidentally expose cache
entries named `_Python...` to users in cmake-gui and ccmake.  Mark those
entries as `INTERNAL` to hide them.

Issue: #20362
2020-02-26 08:08:03 -05:00
Brad King e97881a518 Merge topic 'cmake-cfg-intdir-ninja-multi' into release-3.17
853c3eac6d Help: Note that CMAKE_CFG_INTDIR is not fully supported on Ninja Multi-Config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4397
2020-02-26 07:51:13 -05:00
Brad King d13489fe2b Merge topic 'RunCMake-test-lang' into release-3.17
95dbcf0598 Tests: fix RunCMake.Make test when run on systems with non-english locale

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4389
2020-02-26 07:42:23 -05:00
Rolf Eike Beer 95dbcf0598 Tests: fix RunCMake.Make test when run on systems with non-english locale
Set `LANG=C` in the environment so the output of `make` is predictable.

Fixes: #19689
2020-02-26 07:41:07 -05:00
Brad King ba1dc99098 Merge topic 'ninja-multi-fix-macos-failures' into release-3.17
cc4e304800 Tests: Fix CFBundleTest for Ninja Multi-Config
bcf4da52d8 Tests: Fix CustComDepend test for Ninja Multi-Config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4396
2020-02-26 07:32:58 -05:00
Richard 426941c433 Autogen: Recognize the new Q_NAMESPACE_EXPORT macro in AUTOMOC
Qt 5.14 introduced a new moc keyword `Q_NAMESPACE_EXPORT`.

Qt-Issue: https://bugreports.qt.io/browse/QTBUG-68014
2020-02-26 07:18:44 -05:00
Kyle Edwards 853c3eac6d Help: Note that CMAKE_CFG_INTDIR is not fully supported on Ninja Multi-Config 2020-02-25 14:00:43 -05:00
Kyle Edwards cc4e304800 Tests: Fix CFBundleTest for Ninja Multi-Config 2020-02-25 13:39:46 -05:00
Kyle Edwards bcf4da52d8 Tests: Fix CustComDepend test for Ninja Multi-Config 2020-02-25 13:39:46 -05:00
Brad King 06702acb28 KWSys: Terminal: Add st-256color to VT100 color support whitelist
Backport KWSys commit `44eaaa6e8` (Terminal: Add st-256color to VT100
color support whitelist, 2020-02-19) to CMake 3.17.
2020-02-25 09:42:55 -05:00
Brad King cf789bb447 Merge topic 'ctest-failure-error-reporting' into release-3.17
a5be3916ee CTest: Provide more detailed information on resource allocation error
f0df3ed5b9 Refactor: Provide more detailed error information from TryAllocateResources()
f1c34443b7 CTest: Improve error reporting with bad working directory for tests
1dec359422 Refactor: Require detail when calling cmCTestRunTest::StartFailure()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4390
2020-02-25 09:00:25 -05:00
Brad King 8a7c485d3f Merge topic 'FindCUDA-no-threads-target' into release-3.17
b9d67447c3 FindCUDA: Only depend on Threads::Threads on platforms that need it

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4377
2020-02-25 08:58:17 -05:00
Brad King 3a6481670f Merge topic 'FindPkgConfig-scope' into release-3.17
c3e0d1ffe9 FindPkgConfig: set policies CMP0054 and CMP0057 to new

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4388
2020-02-25 08:55:49 -05:00
Brad King 1d338dcf46 Merge topic 'cuda-non-device-link' into release-3.17
7da2c8c543 Merge branch 'backport-cuda-non-device-link'
738f3f23aa Ninja: Do not use nvcc response files with non-nvcc tools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !4376
2020-02-25 08:54:45 -05:00
Kyle Edwards a5be3916ee CTest: Provide more detailed information on resource allocation error 2020-02-24 15:44:01 -05:00
Kyle Edwards f0df3ed5b9 Refactor: Provide more detailed error information from TryAllocateResources() 2020-02-24 15:44:01 -05:00
Kyle Edwards f1c34443b7 CTest: Improve error reporting with bad working directory for tests 2020-02-24 15:44:01 -05:00
Kyle Edwards 1dec359422 Refactor: Require detail when calling cmCTestRunTest::StartFailure() 2020-02-24 15:44:01 -05:00
Brad King ede4497cb2 Merge branch 'FindPkgConfig-scope' into release-3.16
Merge-request: !4388
2020-02-24 14:45:34 -05:00
Robert Maynard b9d67447c3 FindCUDA: Only depend on Threads::Threads on platforms that need it
In commit 46371132b3 (FindCUDA: CUDA_LIBRARIES doesn't contain raw
`-pthread`, 2019-11-11, v3.17.0-rc1~455^2) we introduced use of the
`Threads::Threads` target, but we do not `find_package(Threads)` on all
platforms.  Use the target only if it exists.
2020-02-24 14:14:38 -05:00
Brad King 0aa91f9a66 Merge branch 'backport-cuda-non-device-link' into release-3.16
Merge-request: !4376
2020-02-24 13:36:24 -05:00
Brad King 7da2c8c543 Merge branch 'backport-cuda-non-device-link' 2020-02-24 13:34:13 -05:00
Francisco Facioni 738f3f23aa Ninja: Do not use nvcc response files with non-nvcc tools
Since commit d91b5a72cd (Ninja: Add support for CUDA nvcc response
files, 2019-05-30, v3.15.0-rc1~8^2) we use NVCC's `--options-file`
option to avoid long link command lines via a response file.  However,
for non-device linking the host tools are used and the option does not
make sense.  Update the logic to use `--options-file` only for device
linking.  Linking with the host tools already has its own logic for
response files.

Fixes: #19954
2020-02-24 13:31:33 -05:00
Brad King 8d6ea4401c Merge topic 'pch-create-via-include' into release-3.17
5c6d6ec27c PCH: Clang: Update PCH usage flags to include original header

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4360
2020-02-24 13:12:08 -05:00
Sergey Larin 5c6d6ec27c PCH: Clang: Update PCH usage flags to include original header
Add an additional include flag to PCH usage command line to fix programs
that rely on `compile_commands.json` file. Pass it to the preprocessor
directly to avoid compiler driver to change it to '-include-pch'.

When preprocessor is requested to preprocess a file, it tries to get
the original filename from '.pch' and uses that file for preprocessing.
CMake generates a '.pch' file from the '.hxx' file by passing an empty
'.cxx' source file to the compiler as a compilation unit and the header
file with the '-include' flag. After that, compiler puts compilation
unit filename in the '.pch' as the original filename.

However, CMake build system uses empty file as the source file and
passes the header file using '-include-pch' flag. As a result, Clang
uses the wrong file for preprocessing and produces the corrupted
preprocessed file.

Fixes: #20355
Signed-off-by: Sergey Larin <cerg2010cerg2010@mail.ru>
2020-02-24 10:53:39 -05:00
Rolf Eike Beer c3e0d1ffe9 FindPkgConfig: set policies CMP0054 and CMP0057 to new
One may encounter warnings if FindPkgConfig is used in any project, even
indirectly, that has set any of these policies to old explicitely or requires
an older version.
2020-02-24 16:42:34 +01:00
Brad King fe564f3131 Merge topic 'update-kwsys' into release-3.17
ce59cabc70 KWSys: SystemTools: CopyFileIfDifferent: Fix endless recursion

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4361
2020-02-18 11:49:00 -05:00
Brad King ce59cabc70 KWSys: SystemTools: CopyFileIfDifferent: Fix endless recursion
Backport KWSys commit `ea77593a1` (SystemTools: CopyFileIfDifferent: Fix
endless recursion, 2020-02-13) for the CMake 3.17 branch.

Fixes: #20347
2020-02-18 11:41:36 -05:00
Brad King 77b537cc35 Merge topic 'swift-exe-rpath' into release-3.17
321df5783d Swift: support `-rpath` for executables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4365
2020-02-18 11:21:46 -05:00
Brad King 2dad438980 Merge topic 'ninja-multi-framework-dependency-autogen-fix' into release-3.17
7abc3d61ac Ninja Multi-Config: Fix issue with framework dependencies and Autogen

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4363
2020-02-18 11:20:56 -05:00
Saleem Abdulrasool 321df5783d Swift: support -rpath for executables
This adjusts the flags to enable setting the RPATH for executables.
2020-02-17 11:07:40 -05:00
Brad King bf718ccd60 Merge topic 'git-config-with-spaces' into release-3.17
ef3194a6f8 ExternalProject: Quote each git --config option to handle spaces
40d1d29cfa Tests: Add missing ExternalProject smoke tests
afc8956765 Tests: Fix test_clean target missing some test directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4364
2020-02-17 10:39:46 -05:00
Kyle Edwards 7abc3d61ac Ninja Multi-Config: Fix issue with framework dependencies and Autogen
Fixes: #20345
2020-02-17 08:24:57 -05:00
Craig Scott ef3194a6f8 ExternalProject: Quote each git --config option to handle spaces
Fixes: #20354
2020-02-15 13:23:56 +11:00
Craig Scott 40d1d29cfa Tests: Add missing ExternalProject smoke tests 2020-02-15 13:23:46 +11:00
Craig Scott afc8956765 Tests: Fix test_clean target missing some test directories 2020-02-15 13:23:37 +11:00