Commit Graph

48876 Commits

Author SHA1 Message Date
Brad King 53709c764e gitlab-ci: update macOS jobs to use Xcode 11.7 2020-09-17 11:26:22 -04:00
Brad King 314039ba45 Help: Update 3.18.2 release notes to mention 3.16.9 and 3.17.5
A change made in 3.18.2 was backported to the 3.16 and 3.17 branches.
Update the 3.18 release note to mention them.
2020-09-15 09:27:56 -04:00
Brad King 42edc1a0b4 Merge branch 'release-3.17' into release-3.18 2020-09-15 09:27:00 -04:00
Brad King 58b37ae201 Merge branch 'release-3.16' into release-3.18 2020-09-15 09:26:48 -04:00
Brad King 566e96d42d CMake 3.17.5 v3.17.5 2020-09-15 08:34:16 -04:00
Brad King 2058c7a4f7 Merge branch 'backport-3.17-automoc-path-prefix-off' into release-3.17 2020-09-15 08:32:26 -04:00
Brad King 3ef992eb06 Merge branch 'release-3.16' into release-3.17 2020-09-15 08:32:11 -04:00
Joerg Bornemann 205d5431d7 Help: Add 3.17.5 release note about AUTOMOC_PATH_PREFIX default change 2020-09-15 08:31:35 -04:00
Brad King b9bcec40c1 Merge branch 'backport-3.16-automoc-path-prefix-off' 2020-09-15 08:29:12 -04:00
Brad King 43ddc64032 CMake 3.16.9 v3.16.9 2020-09-15 08:11:59 -04:00
Brad King 37b669a4ff Merge branch 'backport-3.16-automoc-path-prefix-off' into release-3.16 2020-09-15 08:11:45 -04:00
Joerg Bornemann 52217c3440 Help: Add 3.16.9 release note about AUTOMOC_PATH_PREFIX default change 2020-09-15 08:10:31 -04:00
Brad King 5b5d2dc766 Merge topic 'armclang-fixes' into release-3.18
3d1ed986e2 ARMClang: Fix link line generation after addition of armlink support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Osama Moharam <osama.moharam.uw@renesas.com>
Merge-request: !5211
2020-09-11 08:30:33 -04:00
Brad King 1db8c1dce2 Merge topic 'file-GENERATE-earlier' into release-3.18
aee2c51224 file(GENERATE): Create output file structures for all directories first

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5209
2020-09-11 08:27:12 -04:00
Marc Chevrier 3d1ed986e2 ARMClang: Fix link line generation after addition of armlink support
Revise logic added by commit 73fb6ac82b (ARMClang: Add support for
armlink, 2020-06-02, v3.18.0-rc1~27^2).

Fixes: #21154
2020-09-10 16:33:14 -04:00
Josef Angstenberger aee2c51224 file(GENERATE): Create output file structures for all directories first
Since commit 36ded610af (PCH: Generate sources during Compute step,
2019-10-05, v3.16.0-rc1~2^2) the source file lookup is done earlier than
before.  Its parent commit f1fb63b306 (file(GENERATE): Create output
file structures even earlier, 2019-10-07, v3.16.0-rc1~2^2~1) prepared
for that.  However, that commit did not account for generating and
using files in separate subdirectories.

Fix this by evaluating all generated files before adding automatic
files.

Fixes: #21144
2020-09-10 16:13:01 -04:00
Brad King 06cb6a1628 Merge topic 'gitlab-ci-prefer-mr' into release-3.18
f6a80ffd54 gitlab-ci: Prefer MR rules for any pipeline associated with a MR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5214
2020-09-10 16:02:56 -04:00
Brad King f6a80ffd54 gitlab-ci: Prefer MR rules for any pipeline associated with a MR
GitLab 13.3 started creating MR pipelines in the parent project of a MR
from a fork, at least when the MR submitter is a developer in the parent
project.  If the pipeline is associated with a MR, we should use the
corresponding rules regardless of which project hosts the pipeline.
2020-09-10 15:48:13 -04:00
Brad King 9b5f167348 Merge topic 'automoc-rerun-missing-dependency' into release-3.18
9ac3503d30 AutoMoc: Re-run moc if a dependency is missing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5180
2020-09-10 09:45:52 -04:00
Brad King 8de27c599f Merge topic 'pch-tv90' into release-3.18
ce7c100545 PCH: Fix 30s wait for VS2008 when used via -Tv90

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5199
2020-09-09 11:24:34 -04:00
Brad King 802584f0c2 Merge topic 'ios-pch-x-lang-header' into release-3.18
8d61294c3e PCH: Mark CMake PCH source files as -x <lang>-header

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5188
2020-09-09 11:23:34 -04:00
Joerg Bornemann 9ac3503d30 AutoMoc: Re-run moc if a dependency is missing
AutoMoc uses the moc-emitted dependency file of Qt 5.15 to track
dependencies. Such a dependency may well live outside the project and
can vanish, for example when installing a new compiler version.

This situation was detected before, but merely a warning was issued.
Now, we're considering a generated file as out of date if a dependency
is missing and re-generate it.

We also have to remove the missing dependency from the ParseCache.
Otherwise the AUTOMOC target for all generators other than Ninja will
always be out of date.

The ParseCacheChanged flag had to be made atomic, because we're
potentially accessing it from multiple threads. The dependencies vector
itself is not vulnerable in this regard, because there's one vector per
file, and we're accessing exactly one ParseCacheT::FileHandleT per thread.

Fixes: #21136
2020-09-09 12:51:28 +02:00
Brad King 0834b8b8cb Merge topic 'FindPython-set-CMP0012-NEW' into release-3.18
0670797d71 FindPython: CMP0012 must be set to NEW

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5198
2020-09-08 11:13:48 -04:00
Cristian Adam ce7c100545 PCH: Fix 30s wait for VS2008 when used via -Tv90
Fixes: #21142
Backport: release
2020-09-07 19:49:15 +02:00
Marc Chevrier 0670797d71 FindPython: CMP0012 must be set to NEW
Fixes: #21168
2020-09-07 18:19:30 +02:00
Cristian Adam 8d61294c3e PCH: Mark CMake PCH source files as -x <lang>-header
Fixes: #21163
2020-09-04 19:23:17 +02:00
Brad King fff360c60c Merge topic 'ninja-multi-automoc-regression' into release-3.18
a9fd3a107d Ninja Multi-Config: Fix dependencies of utility targets
f1199bdc96 Ninja Multi-Config: Fix cleaning of utility targets with commands
657047cd24 Ninja Multi-Config: Fix clean:all target
c35d1927a5 Tests: Pass additional Qt information to Ninja and NMC tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5177
2020-09-03 08:47:33 -04:00
Brad King be66f2e24f Merge topic 'FindPython-include-dir-ABI-checks' into release-3.18
6fdfe2428d FindPython: enhance ABI checks against include directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5181
2020-09-03 08:46:36 -04:00
Kyle Edwards a9fd3a107d Ninja Multi-Config: Fix dependencies of utility targets
Fixes: #21118
2020-09-02 12:59:59 -04:00
Kyle Edwards f1199bdc96 Ninja Multi-Config: Fix cleaning of utility targets with commands 2020-09-02 12:59:59 -04:00
Kyle Edwards 657047cd24 Ninja Multi-Config: Fix clean:all target 2020-09-02 12:59:59 -04:00
Marc Chevrier 6fdfe2428d FindPython: enhance ABI checks against include directory
Fixes: #21149
2020-09-02 15:41:16 +02:00
Kyle Edwards c35d1927a5 Tests: Pass additional Qt information to Ninja and NMC tests 2020-09-01 16:58:58 -04:00
Brad King 7da3c744e3 Merge topic 'automoc-depend-project-file' into release-3.18
776059ef0f Merge branch 'backport-3.17-automoc-depend-project-file'
6b20bbd2dd AutoMoc: Restore support for re-running after project file changes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5166
2020-09-01 09:09:30 -04:00
Brad King cb70145b36 Merge topic 'UseSWIG-interface-option' into release-3.18
d264685bee UseSWIG: Update option -interface usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5172
2020-09-01 09:08:06 -04:00
Brad King 30fec0d8a8 Merge branch 'backport-3.17-automoc-depend-project-file' into release-3.17
Merge-request: !5166
2020-08-31 13:44:44 -04:00
Brad King 776059ef0f Merge branch 'backport-3.17-automoc-depend-project-file' 2020-08-31 13:10:31 -04:00
Joerg Bornemann 6b20bbd2dd AutoMoc: Restore support for re-running after project file changes
For Qt >= 5.15.0 and Ninja generators AutoMoc creates a depfile to let
Ninja decide when to run AutoMoc.  This was introduced by commit aebfbcaa46
(AutoGen: Use depfiles for the XXX_autogen ninja targets, 2020-01-14,
v3.17.0-rc1~58^2).

However, AutoMoc was not triggered after adding a new moc-able file to
the project. This patch adds the project file (and potentially included
files) to the dependencies in the depfile.

Now, a re-run of AutoMoc is triggered if the project file changes.

Fixes: #21127
2020-08-31 13:07:23 -04:00
Marc Chevrier d264685bee UseSWIG: Update option -interface usage
Option -interface must not be used if multiple SWIG files are part
of the same library.

Fixes: #21134
2020-08-31 12:33:57 +02:00
Brad King f2a22ecda9 Merge branch 'release-3.17' into release-3.18 2020-08-27 11:16:32 -04:00
Brad King 9fbd3df21e Merge branch 'backport-3.17-cmext-vs16-declval' into release-3.17
Merge-request: !4971
2020-08-27 11:13:20 -04:00
Sumit Bhardwaj d2f891288a Implement cm::static_reference_cast by declval
Previously, cm::static_reference_cast used invoke_result_t and took the
address of O::get. This is not in complete conformance with standard.

This MR changes the implementation to use std::declval<O>.get() which is
always well-defined.
2020-08-27 11:12:25 -04:00
Brad King 807aaae4ac Merge topic 'FindJNI-arm64' into release-3.18
44dffbcc94 FindJNI: Add arm64 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5162
2020-08-26 10:26:52 -04:00
Brad King 57c1be6e15 Merge topic 'cuda-std-for-msvc' into release-3.18
bed315a0da CUDA: Support setting CUDA14/17 when using MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5160
2020-08-26 10:25:44 -04:00
Malcolm Parsons 44dffbcc94 FindJNI: Add arm64 support
On 64-bit ARM, JVM directories have an arm64 suffix.
2020-08-25 14:34:02 -04:00
Brad King 4767548733 Merge topic 'automoc_timestamp_nmc_fix' into release-3.18
a48bb185c3 AutoGen: Fix moc and uic dependencies when building Qt itself

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5153
2020-08-25 13:58:28 -04:00
Alexandru Croitor a48bb185c3 AutoGen: Fix moc and uic dependencies when building Qt itself
When building Qt itself, the moc and uic executables are spcecified
via a generator expression of the form $<TARGET_FILE:Qt6::moc>,
which ends populating Moc's and Uic's 'Executable' field but not the
ExecutableTarget and ExecutableTargetName fields.

In such a scenario, the code in
cmQtAutoGenInitializer::InitAutogenTarget fails to add a dependency
on moc (or uic), because ExecutableTarget is null. First try to add
a dependency on the ExecutableTarget if it's not empty, otherwise try
to add a dependency on the path specified in the 'Executable' field.

Issue: #21118
2020-08-25 12:29:23 -04:00
Brad King d2c3dea64b Merge topic 'msvc_static_assert' into release-3.18
95bc11dbb4 MSVC: Record support for c_static_assert

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5148
2020-08-25 10:26:54 -04:00
Robert Maynard bed315a0da CUDA: Support setting CUDA14/17 when using MSVC
Fixes #20953
2020-08-24 09:53:38 -04:00
Raul Tambre 95bc11dbb4 MSVC: Record support for c_static_assert
Supported since MSVC 19.28.29115 (VS 16.8.0 Preview 1.0).
2020-08-20 09:45:47 -04:00