Commit Graph

27786 Commits

Author SHA1 Message Date
Brad King b7d8c91822 CMake 3.16.5 2020-03-04 08:50:44 -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
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 0f0d8f5b6f Merge branch 'backport-3.16-install-default-fix' into release-3.16 2020-02-12 09:01:23 -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 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 44b8937b76 CMake 3.16.4 2020-02-05 09:19:24 -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 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 f972b929d6 Merge topic 'vs-16.4-custom-command-inputs' into release-3.16
58b0674687 VS: Tell VS 16.4 not to verify SYMBOLIC custom command inputs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4297
2020-01-29 10:36:40 -05:00
Brad King 3c5f0037f7 Merge branch 'vs-16.4-custom-command-inputs' into release-3.15
Merge-request: !4297
2020-01-28 13:59:27 -05:00
Brad King 58b0674687 VS: Tell VS 16.4 not to verify SYMBOLIC custom command inputs
Extend the fix from commit 0578239d3a (VS: Tell VS 16.4 not to verify
SYMBOLIC custom command outputs, 2019-09-23, v3.15.4~2^2) to apply to
SYMBOLIC *inputs* too.  This is needed when there is a chain of custom
commands that use symbolic paths for ordering.

Fixes: #20179
2020-01-28 13:52:05 -05:00
Kyle Edwards 4c8a917a87 file(GET_RUNTIME_DEPENDENCIES): Tolerate empty list arguments
Also list all keywords that were missing values instead of only the
first one.
2020-01-22 13:05:46 -05:00
Brad King 21e60da5bb CMake 3.16.3 2020-01-21 10:17:47 -05:00
Brad King b168d8e855 Merge topic 'autogen_rcc_skip_unity' into release-3.16
086d9b2bab Autogen: Enable SKIP_UNITY_BUILD_INCLUSION on AUTORCC generated files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Merge-request: !4237
2020-01-20 11:54:13 -05:00
Craig Scott 582cc710c2 Merge topic 'pch-msvc-no-path-repetition' into release-3.16
07fe1bcd4e PCH: No repeated path for internal generated PCH files (MSVC case)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4236
2020-01-19 15:10:17 -05:00
Sebastian Holtermann 086d9b2bab Autogen: Enable SKIP_UNITY_BUILD_INCLUSION on AUTORCC generated files
`rcc` generated files are not compatible with unity builds, because they
contain classes in anonymous namespaces and static data with identical names.

This patch sets the source file property `SKIP_UNITY_BUILD_INCLUSION` to `On`
on all `AUTORCC` generated files to exclude them from unity build files.

Fixes: #20191 "QT5: Exclude resource files from unity build"
2020-01-17 09:48:35 -05:00
Cristian Adam 07fe1bcd4e PCH: No repeated path for internal generated PCH files (MSVC case)
Fixes: #19952
2020-01-16 17:05:05 +01:00
Brad King 8cd35baae9 Merge topic 'nag-submodule' into release-3.16
f7f60ddcf9 Fortran: Add support for NAG Fortran submodules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4229
2020-01-16 10:56:02 -05:00
Neil Carlson f7f60ddcf9 Fortran: Add support for NAG Fortran submodules
They use a `.sub` extension.

Fixes: #20220
2020-01-15 14:12:22 -05:00
Cristian Adam 274a6f3699 Unity Build: include language in generated source file name
Fixes: #20206
2020-01-14 18:48:08 +01:00
Brad King e74049b388 Merge topic 'vs-Fortran-link-flags' into release-3.16
a3c827b2ea VS: Add Fortran link flag table entries for /OPT:*

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4210
2020-01-14 09:01:21 -05:00
Pavel Liavonau a3c827b2ea VS: Add Fortran link flag table entries for /OPT:*
Fixes: #20190
2020-01-13 11:14:00 -05:00
Brad King e8462a105e Merge topic 'fix-cpack-deb-description-file' into release-3.16
d491f34a5e CPack: Fix regression in DEB generator description

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4204
2020-01-13 10:23:26 -05:00
Brad King b1a9d49a69 Merge topic 'objc-visibility-inlines' into release-3.16
7347e2f830 ObjC: Add VISIBLITY_INLINES_HIDDEN support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4199
2020-01-13 10:22:06 -05:00
Kyle Edwards d491f34a5e CPack: Fix regression in DEB generator description
Fixes: #20102
2020-01-10 17:22:52 -05:00
Brad King 9fa8b7d5dd Merge topic 'cuda-device-link-only-cuda' into release-3.16
7ffa42288e Merge branch 'backport-3.15-cuda-device-link-only-cuda'
071c4f1a2a CUDA: Do not device link if target has no CUDA usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4191
2020-01-10 13:21:12 -05:00
Cristian Adam 7347e2f830 ObjC: Add VISIBLITY_INLINES_HIDDEN support
Fixes: #20193
2020-01-10 16:31:27 +01:00
Cristian Adam a05b9d4239 ObjC: Add _COMPILE_LAUNCHER support
Fixes: #20178
2020-01-09 11:35:23 -05:00
Brad King 7ffa42288e Merge branch 'backport-3.15-cuda-device-link-only-cuda' 2020-01-09 11:13:51 -05:00
Robert Maynard 071c4f1a2a CUDA: Do not device link if target has no CUDA usage
When CUDA is enabled, and a pure non-CUDA target has
CMAKE_CUDA_SEPARABLE_COMPILATION enabled, don't actually perform
the device linking step, as it will fail. A target that has
CMAKE_CUDA_SEPARABLE_COMPILATION enabled must also have CUDA
usage (either itself, or something it links to).

Fixes: #20182
2020-01-09 11:02:17 -05:00
Kyle Edwards b393b32b4b CTest: Improve error handling when reading resource spec file
Fixes: #20079
2019-12-27 10:53:52 -05:00
Brad King 512ab500f0 CMake 3.16.2 2019-12-19 09:54:31 -05:00
Brad King f9ee055d53 Merge topic 'autogen-no-hh' into release-3.16
7fa7f55230 Autogen: Revert processing of .hh files for compatibility

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4146
2019-12-19 09:52:33 -05:00
Brad King 7fa7f55230 Autogen: Revert processing of .hh files for compatibility
Since commit 4a9154537c (Autogen: Use cmake::IsHeader/SourceExtension
for file type detection, 2019-07-02, v3.16.0-rc1~470^2~4) we process
`.hh` files with `AUTOMOC`.  However, this change can break existing
projects that do not expect the behavior.  Revert it for now.  It can
be restored later via a policy.

Fixes: #20101
2019-12-18 05:34:27 -05:00
Brad King 5b43aa7755 CMake 3.15.6 2019-12-16 10:21:27 -05:00
Brad King dfbe8109b4 Merge topic 'pch-force-include' into release-3.16
c5c218fa0d PCH: Append pch header file to list of forced include files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4135
2019-12-16 10:04:03 -05:00
Cristian Adam c5c218fa0d PCH: Append pch header file to list of forced include files
Fixes: #20088
2019-12-13 15:21:27 +01:00
Brad King b3a536e726 Merge branch 'backport-3.15-vs-v142-version' into release-3.15
Merge-request: !4133
2019-12-12 11:38:15 -05:00
Brad King d8d4924d98 VS: Fix support for v142 toolset minor versions in VS 16.5+
The fix in commit 5117389931 (VS: Fix support for v142 toolset minor
versions, 2019-10-01, v3.16.0-rc1~32^2) worked around a bug in VS's
placement of toolset files.   VS 16.5 will fix that bug and restore the
original pattern for locations of toolset files.  Update our logic to
look for both possibilities.

Issue: #19779
2019-12-12 11:28:34 -05:00
Brad King 07612646fe VS: Fix support for v142 toolset minor versions in VS 16.5+
The fix in commit 5117389931 (VS: Fix support for v142 toolset minor
versions, 2019-10-01, v3.15.5~6^2) worked around a bug in VS's placement
of toolset files.   VS 16.5 will fix that bug and restore the original
pattern for locations of toolset files.  Update our logic to look for
both possibilities.

Issue: #19779
2019-12-12 11:25:42 -05:00
Brad King 4771c4e447 CMake 3.16.1 2019-12-10 09:40:28 -05:00
Brad King b2ce834480 Merge topic 'toc_on_ppc' into release-3.16
90d8bd2deb Merge branch 'backport-3.15-toc_on_ppc' into backport-3.16-toc_on_ppc
b35926e260 Check for support before adding bigtoc linker flag
958f858ad8 Check for support before adding bigtoc linker flag
8c7b7df788 bootstrap: Add target_link_options command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4122
2019-12-10 09:16:20 -05:00
Alexander Grund b35926e260 Check for support before adding bigtoc linker flag
Fixes: #20076
2019-12-09 11:39:12 -05:00
Alexander Grund 958f858ad8 Check for support before adding bigtoc linker flag
Fixes: #20076
2019-12-09 11:37:40 -05:00
Alexander Grund 8c7b7df788 bootstrap: Add target_link_options command 2019-12-09 11:37:37 -05:00
Brad King 21ba61c50c Merge topic 'unity-object-libraries' into release-3.16
fa93b4a59b Unity: Proper handling of object libraries
5ae07e7166 Unity: Generic source file handling for all generators
f742f7ac1f Unity/PCH: Skip more target types when adding automatic sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4110
2019-12-09 10:16:31 -05:00
Brad King 47c6b6cdee Merge topic 'pch-reuse-importlib' into release-3.16
93becd61d1 PCH: Use the target's PREFIX for building the pdb file name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4114
2019-12-09 10:15:19 -05:00
Cristian Adam 93becd61d1 PCH: Use the target's PREFIX for building the pdb file name
Also copy the REUSE_FROM pdb file only if the file is newer than the
existing one.

Fixes: #19731
Fixes: #20068
2019-12-08 20:22:34 +01:00