Commit Graph

28324 Commits

Author SHA1 Message Date
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
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
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
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
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
Kyle Edwards
7abc3d61ac Ninja Multi-Config: Fix issue with framework dependencies and Autogen
Fixes: #20345
2020-02-17 08:24:57 -05:00
Brad King
125f0451a9 CMake 3.17.0-rc1 2020-02-12 10:32:47 -05:00
Brad King
645474dba1 Merge topic 'ninja-multi-default-configs-fix' into release-3.17
46c836644d Ninja Multi-Config: Fix issue with "all" in CMAKE_NMC_DEFAULT_CONFIGS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4349
2020-02-12 09:15:54 -05:00
Brad King
10b834a3eb Merge topic 'file-CONFIGURE_DEPENDS-verify-CMP0009' into release-3.17
818ec34bdd file: GLOB_RECURSE VerifyGlobs.cmake should have CMP0009 set to new
b620dc566d file: Fix GLOB_RECURSE LIST_DIRECTORIES documentation regarding CMP0009
715f90bdd9 Tests: Perform minor cleanups in RunCMake.file test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !4342
2020-02-12 09:15:07 -05:00
Brad King
96ee8b7266 Merge topic 'install-default-fix' into release-3.17
9442ae5083 install: Fix regression when using default destinations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4340
2020-02-12 09:05:31 -05:00
Kyle Edwards
46c836644d Ninja Multi-Config: Fix issue with "all" in CMAKE_NMC_DEFAULT_CONFIGS
Prior to this fix, CMAKE_NMC_DEFAULT_CONFIGS would inherit "all" from
the union of CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG and
CMAKE_NMC_CROSS_CONFIGS. This is inconsistent with the behavior of the
"all" target signifying CMAKE_NMC_CROSS_CONFIGS. Update "all" in
CMAKE_NMC_DEFAULT_CONFIGS to inherit only from CMAKE_NMC_CROSS_CONFIGS.
2020-02-11 10:49:54 -05:00
Brad King
0db0b72156 Merge topic 'link-line-backtrace' into release-3.17
8752c1bd64 Merge branch 'backport-3.16-link-line-backtrace'
e756328434 Propagate backtraces from LINK_LIBRARIES through to link line items

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: Dennis Klein <d.klein@gsi.de>
Merge-request: !4344
2020-02-11 09:08:38 -05:00
Shane Parris
818ec34bdd file: GLOB_RECURSE VerifyGlobs.cmake should have CMP0009 set to new
In certain cases, rebuilds with CMake using the CONFIGURE_DEPENDS flag
with GLOB_RECURSE could result in a reconfigure loop due to CMP0009 not
being propogated to the generated VerifyGlobs.cmake script.

During the inital configuration phase, RecurseThroughSymlinksOn() is
called for recursive glob operations either by having the CMP0009 status
not set to NEW or by explicitly providing the FOLLOW_SYMLINKS flag. At
the end when the VerifyGlobs script is created, the FOLLOW_SYMLINKS flag
is written according to the final resolved form through a call to
GetRecurseThroughSymlinks(). Thus, setting CMP0009 to NEW in the
generated file is safe and allows correct behavior whether or not the
end user sets the policy status to NEW or OLD.
2020-02-11 08:45:35 -05:00
Kyle Edwards
9442ae5083 install: Fix regression when using default destinations
In commit 9fc20a4f3e (install: Add sane set of defaults for DESTINATION
and file type parameters, 2018-11-02, v3.14.0-rc1~410^2~1), a regression
was introduced, in which an `install(TARGETS)` with a
RUNTIME/LIBRARY/ARCHIVE DESTINATION but no PUBLIC_HEADER/PRIVATE_HEADER
DESTINATION would then install the headers.  The old behavior did not do
this.  Restore the old behavior.

Fixes: #20326
2020-02-11 08:34:16 -05:00
Brad King
8752c1bd64 Merge branch 'backport-3.16-link-line-backtrace' 2020-02-10 16:17:03 -05:00
Brad King
e756328434 Propagate backtraces from LINK_LIBRARIES through to link line items
Since commit d4d0dd0f6a (cmLinkLineComputer: Add ComputeLinkLibs
overload with backtraces, 2019-09-13, v3.16.0-rc1~87^2~4), backtraces
have been collected by `ComputeLinkLibs` by looking back through the
link implementation libraries for one matching the text of the link line
item.  This is slow in projects with long link lines.

Instead, teach `cmComputeLinkDepends` and `cmComputeLinkInformation` to
carry backtrace information explicitly along with the text of each item.

Fixes: #20322
2020-02-10 16:11:38 -05:00
Kyle Edwards
67102d3252 Ninja Multi-Config: Add support for DEPFILE option in add_custom_command()
And give other generators a path forward to add support in the future.
2020-02-07 14:18:54 -05:00
Brad King
135378fd18 Merge topic 'ninja-multi-default-config-fix' into release-3.17
1844be451e Ninja Multi-Config: Fix issue with CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4331
2020-02-07 09:26:36 -05:00
Kyle Edwards
1844be451e Ninja Multi-Config: Fix issue with CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG
Fix an issue where CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG is specified
and CMAKE_NMC_CROSS_CONFIGS is not, which results in a false error
with CMAKE_NMC_DEFAULT_CONFIGS.
2020-02-06 14:31:13 -05:00
Kyle Edwards
9e219de4fb Ninja Multi-Config: Don't include MinSizeRel by default 2020-02-06 11:07:38 -05:00
Brad King
13ef3285df Begin 3.17 release versioning 2020-02-05 11:37:19 -05:00
Brad King
44b8937b76 CMake 3.16.4 2020-02-05 09:19:24 -05:00
Brad King
56ddef613d Merge topic 'ninja-multi-cmake-build-no-config'
bd4ae2af0f Help: Make note of ninja -f argument in Ninja Multi-Config docs
79e5b3c46a Help: Explain new behavior of cmake --build in Ninja Multi-Config
16a4ba5b31 Ninja Multi-Config: Use build.ninja if cmake --build has no --config
2ac835b9f9 Refactor: Allow generators to decide default configuration for build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4323
2020-02-05 09:11:10 -05:00
Brad King
94be195a54 Merge topic 'llvm-rc-preprocess'
1c2d031cbd Add -E cmake_llvm_rc to preprocess files for llvm-rc

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4219
2020-02-05 09:10:16 -05:00
Brad King
4b1a6a4722 Merge topic 'vs-version-for-unity' into release-3.16
9135954e2f VS: Do not use native unity builds on VS 2017 versions less than 15.8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4324
2020-02-05 08:33:50 -05:00
Brad King
4b062c77b3 Merge topic 'vs-version-for-unity'
9135954e2f VS: Do not use native unity builds on VS 2017 versions less than 15.8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4324
2020-02-05 08:33:50 -05:00
Kitware Robot
9a5fe4e48c CMake Nightly Date Stamp 2020-02-05 00:01:11 -05:00
Kyle Edwards
16a4ba5b31 Ninja Multi-Config: Use build.ninja if cmake --build has no --config
If cmake --build is called with no --config argument, and a
build.ninja file is available, use that instead of defaulting to the
Debug config.
2020-02-04 14:13:07 -05:00
Kyle Edwards
2ac835b9f9 Refactor: Allow generators to decide default configuration for build
And allow them to read any cache values they need.
2020-02-04 14:13:07 -05:00
Brad King
9135954e2f VS: Do not use native unity builds on VS 2017 versions less than 15.8
VS 2017 version 15.8 introduced support for unity builds implemented
in part by the `$(VCTargetsPath)/Microsoft.Cpp.Unity.targets` file.
Do not enable unity builds on VS 15 versions that do not have that file.

Fixes: #20284
2020-02-04 11:46:18 -05:00
Brad King
ebea30a1ed CMake 3.15.7 2020-02-04 09:02:13 -05:00
Brad King
8b6b783633 Merge topic 'ninja-run-tool-in-builddir'
f4e02c46fc cmGlobalNinjaGenerator: run ninja tools in the build directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4319
2020-02-04 08:28:46 -05:00
Brad King
451ce7e410 Merge topic 'swift-exe-exports'
1e26d57188 Ninja: properly handle exports from Swift exes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4314
2020-02-04 08:27:49 -05:00
Thomas Bernard
1c2d031cbd Add -E cmake_llvm_rc to preprocess files for llvm-rc
llvm-rc requires preprocessed rc files. The CMake command line tool
cmake_llvm_rc enables channing the preprocessor call and the resource
compiler and make this appear as single compilation step.

When llvm-rc is detected as resource compiler, the RC compilation step
is set to use this command.
2020-02-04 08:19:12 -05:00
Kitware Robot
f9410accaa CMake Nightly Date Stamp 2020-02-04 00:01:10 -05:00
Ben Boeckel
f4e02c46fc cmGlobalNinjaGenerator: run ninja tools in the build directory
Fixes: #20303
2020-02-03 15:31:26 -05:00
Brad King
5f04dfe57e Merge topic 'ninja-multi-variable-shuffle'
b966f86d86 Ninja Multi-Config: Shuffle variables around

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4305
2020-02-03 14:00:03 -05:00
Kyle Edwards
b966f86d86 Ninja Multi-Config: Shuffle variables around
Remove redundant variable CMAKE_NINJA_MULTI_CROSS_CONFIG_ENABLE.
Rename other variables. Document and improve handling of error
conditions.
2020-02-03 13:27:51 -05:00
Kyle Edwards
25bf64eca6 Merge topic 'ctest-add-ignore-no-tests-option'
a39d4139d0 Add --no-tests=<[error|ignore]> option to CTest

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4258
2020-02-03 13:22:02 -05:00
Brad King
16d91cbf7e Merge topic 'fix_automoc_deps_rule_name'
7c664bb5b9 Fix AUTOMOC deps file to contain correct rule name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4313
2020-02-03 11:53:28 -05:00
Brad King
a19bc6ae39 Merge topic '7zip-fix'
34413cbf3f cmArchiveWrite: Remove ./ suffix from 7zip archives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4311
2020-02-03 11:49:39 -05:00
Brad King
3a17ef5f23 Merge topic 'cpack-deprecate-old-macos-generators'
2ed00e8ef8 CPack: Deprecate OSXX11 generator
7bf187499f CPack: Deprecate PackageMaker generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4309
2020-02-03 11:46:01 -05:00
Brad King
999a8663c5 Merge topic 'aix-no-export-all'
afcd9fe669 AIX: Add an option to disable automatic exports from shared libraries
67f30811ce AIX: Improve name of internal symbol export list file
0ffd54f094 AIX: Add ExportImportList option to skip the object files
0dcfb63cb9 AIX: Revise ExportImportList to build output more incrementally

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4308
2020-02-03 11:32:01 -05:00
Brad King
ea5c6c3c86 Merge topic 'clang-tidy-driver-mode'
3aea865801 clang-tidy: Fix explicit --driver-mode= argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4307
2020-02-03 11:30:58 -05:00