Commit Graph

28323 Commits

Author SHA1 Message Date
Brad King 578ae24eb7 Merge topic 'file-CONFIGURE_DEPENDS-verify-CMP0009'
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 093b57bced Merge topic 'install-default-fix'
dd8d5004a9 Merge branch 'backport-3.16-install-default-fix'
45d5abf4a8 Merge branch 'backport-3.15-install-default-fix'
0a4d829c36 Merge branch 'backport-3.14-install-default-fix'
b519db6217 install: Fix regression when using default destinations
b4b60d1c3a install: Fix regression when using default destinations
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
Kitware Robot c425920cb1 CMake Nightly Date Stamp 2020-02-12 00:01:12 -05:00
Brad King dd8d5004a9 Merge branch 'backport-3.16-install-default-fix' 2020-02-11 14:59:21 -05:00
Brad King f104115b3d Merge topic 'link-line-backtrace'
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:39 -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
Kitware Robot d31f31714b CMake Nightly Date Stamp 2020-02-11 00:01:09 -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
Brad King 205293d7eb Merge topic 'ninja-multi-depfile'
67102d3252 Ninja Multi-Config: Add support for DEPFILE option in add_custom_command()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4334
2020-02-10 10:39:49 -05:00
Kitware Robot 799bfb7132 CMake Nightly Date Stamp 2020-02-10 00:01:07 -05:00
Kitware Robot cb967317e4 CMake Nightly Date Stamp 2020-02-09 00:01:05 -05:00
Kitware Robot f77f64f793 CMake Nightly Date Stamp 2020-02-08 00:01:08 -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 3844e2ae4c Merge topic 'cmake-gui-env-platform-defaults'
9a71fa46e7 cmake-gui: set generator field defaults from environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4312
2020-02-07 10:37:35 -05:00
Brad King 4e44cbc673 Merge topic 'ninja-multi-default-config-fix'
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:37 -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
Brad King 6c142ac7aa Merge topic 'ninja-multi-no-minsizerel'
9e219de4fb Ninja Multi-Config: Don't include MinSizeRel by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !4326
2020-02-07 09:17:26 -05:00
Kitware Robot 006aff6f87 CMake Nightly Date Stamp 2020-02-07 00:01:09 -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
Code Smith 9a71fa46e7 cmake-gui: set generator field defaults from environment
Fixes: #20251
2020-02-06 11:59:08 -05:00
Kyle Edwards 9e219de4fb Ninja Multi-Config: Don't include MinSizeRel by default 2020-02-06 11:07:38 -05:00
Brad King 36926f5b8b Merge topic 'cmakefiles-rules-ninja'
65679ed8d9 Ninja: Move rules.ninja into CMakeFiles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4328
2020-02-06 10:11:58 -05:00
Kitware Robot 6b659b0abd CMake Nightly Date Stamp 2020-02-06 00:01:11 -05:00
Kyle Edwards 65679ed8d9 Ninja: Move rules.ninja into CMakeFiles
Since this is an implementation detail, it should not be user-
visible. Move it into the implementation directory.
2020-02-05 13:52:54 -05:00
Brad King b49e5344e7 Begin post-3.17 development 2020-02-05 11:39:33 -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 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