summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.18.4v3.18.4Brad King2020-10-061-1/+1
|
* VS: Fix regression in C# source linksKinan Mahdi2020-10-051-1/+8
| | | | | | Fix logic used since commit ac6b18cd90 (CSharp: Add support for source groups with out-of-source builds, 2020-02-18, v3.18.0-rc1~645^2). Add a check of the physical file location for C# source groups.
* CMake 3.18.3v3.18.3Brad King2020-09-221-1/+1
|
* Merge topic 'foreach-int-parse-range-check' into release-3.18Brad King2020-09-211-0/+6
|\ | | | | | | | | | | | | 0412b55b83 foreach: Fix crash parsing integer out of range Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5239
| * foreach: Fix crash parsing integer out of rangeBen McMorran2020-09-181-0/+6
| |
* | Ninja Multi-Config: Fix dependencies of custom commandsKyle Edwards2020-09-171-0/+1
|/ | | | | | | | | | a9fd3a10 addressed the scenario where the depending target is a utility target, but not the scenario where the dependent target is a utility target. Account for this scenario. Also add a Qt-specific test case. Fixes: #21118
* file(GENERATE): Create output file structures for all directories firstJosef Angstenberger2020-09-101-0/+2
| | | | | | | | | | | | | | 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
* Merge topic 'automoc-rerun-missing-dependency' into release-3.18Brad King2020-09-101-7/+15
|\ | | | | | | | | | | | | 9ac3503d30 AutoMoc: Re-run moc if a dependency is missing Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5180
| * AutoMoc: Re-run moc if a dependency is missingJoerg Bornemann2020-09-091-7/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | PCH: Fix 30s wait for VS2008 when used via -Tv90Cristian Adam2020-09-071-8/+20
|/ | | | | Fixes: #21142 Backport: release
* Ninja Multi-Config: Fix dependencies of utility targetsKyle Edwards2020-09-021-1/+2
| | | | Fixes: #21118
* Ninja Multi-Config: Fix cleaning of utility targets with commandsKyle Edwards2020-09-021-0/+2
|
* Ninja Multi-Config: Fix clean:all targetKyle Edwards2020-09-021-0/+1
|
* Merge branch 'backport-3.17-automoc-depend-project-file'Brad King2020-08-312-1/+4
|\
| * AutoMoc: Restore support for re-running after project file changesJoerg Bornemann2020-08-312-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Merge branch 'backport-3.17-automoc_timestamp_deps' into release-3.17Brad King2020-08-052-3/+48
| |\ | | | | | | | | | Merge-request: !5085
* | | AutoGen: Fix moc and uic dependencies when building Qt itselfAlexandru Croitor2020-08-251-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | CMake 3.18.2v3.18.2Brad King2020-08-201-1/+1
| | |
* | | Merge topic 'osx-archs-apple-only' into release-3.18Brad King2020-08-111-0/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 70ce1ad64a PCH: Avoid Apple-specific architecture flags on other platforms Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5118
| * | | PCH: Avoid Apple-specific architecture flags on other platformsBrad King2020-08-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit f593b354da (PCH: Add support for multi architecture iOS projects, 2020-04-02, v3.18.0-rc1~414^2) the `OSX_ARCHITECTURES` target property (and corresponding `CMAKE_OSX_ARCHITECTURES` variable) affects flags on non-Apple platforms by accident. Add a missing condition to avoid this. Fixes: #21072
* | | | Xcode: Explicitly turn off signing in try_compile projectsBrad King2020-08-101-0/+6
| | | | | | | | | | | | | | | | Fixes: #18407, #20571, #20688
* | | | Merge topic 'reuse_pch_no_delay' into release-3.18Brad King2020-08-061-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ef97fbe6c2 PCH: Avoid unnecessary 30s delay on MSBuild Generator with REUSE_FROM Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5102
| * | | | PCH: Avoid unnecessary 30s delay on MSBuild Generator with REUSE_FROMCristian Adam2020-08-051-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | Fix logic added by commit 1f791eb160 (Multi-Ninja: Fix reusable PCHs for MSVC, 2020-05-24, v3.18.0-rc1~72^2) to avoid an unnecessary delay. Fixes: #21054
* | | | Merge topic 'automoc_timestamp_deps' into release-3.18Brad King2020-08-062-3/+48
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9a9ed4b9d3 Merge branch 'backport-3.17-automoc_timestamp_deps' 7445c9a58a AutoGen: Add test to check for correct AutoMoc dependencies a79056bb02 AutoGen: Fix over-specified direct dependencies of custom command Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Aleix <aleixpol@kde.org> Merge-request: !5085
| * \ \ \ Merge branch 'backport-3.17-automoc_timestamp_deps'Brad King2020-08-052-3/+48
| |\ \ \ \ | | |/ / / | |/| | / | | | |/ | | |/|
| | * | AutoGen: Fix over-specified direct dependencies of custom commandAlexandru Croitor2020-08-032-3/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The AutoMoc timestamp creating custom command explicitly depended on all dependencies of the origin target (associated to the AutoGen target). When an origin target depended on a shared library 'libfoo.so', if it was re-linked, the AutoMoc custom command would touch its output timestamp file, and thus cause needless rebuilding of sources, despite the shared library not having any influence on the AutoMoc generated files. Introduce a new '<target>_autogen_timestamp_deps' utility target, which will serve as an 'order-only' dependency for the custom command. This will prevent needless rebuilding, because touching 'libfoo.so' will not cause the custom command to be re-executed. The new AutoMoc dependency tree looks like: '_autogen_timestamp_deps (serves as order-only dep)' <- '<target_autogen>/timestamp' file ( + moc deps file) <- '<target>_autogen' target. Fixes: #21020
* | | | Merge topic 'ninja-multi-rsp-remove-path' into release-3.18Brad King2020-08-061-10/+2
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | | | | | | | | | cdb50af2f6 Ninja: Restore shorter path to response files Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: alcroito <alexandru.croitor@qt.io> Merge-request: !5094
| * | Ninja: Restore shorter path to response filesKyle Edwards2020-08-031-10/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | In commit 99ed39b011 (Ninja Multi-Config: Make link response files per-config, 2020-07-15, v3.17.4~3^2), we added the target directory to the response file under the mistaken assumption that two different targets with the same name could be in different directories. However, this causes the path to the response file to be too long to fit on a command line. Take the path back out, while leaving in the per-config split. Fixes: #21050
| * CMake 3.17.4v3.17.4Brad King2020-07-301-1/+1
| |
| * Merge branch 'backport-3.17-graphviz-restore-per-target' into release-3.17Brad King2020-07-212-7/+145
| |\ | | | | | | | | | Merge-request: !5039
| * \ Merge branch 'ninja-multi-rsp' into release-3.17Brad King2020-07-161-4/+14
| |\ \ | | | | | | | | | | | | Merge-request: !5020
| * \ \ Merge topic 'vs-sln-version-16' into release-3.17Brad King2020-06-031-1/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b69010b719 VS: Fix .sln support for VS Version Selector with VS 2019 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4844
| * \ \ \ Merge topic 'pch-fix-bad-ClearSourcesCache' into release-3.17Brad King2020-06-012-3/+17
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 902858367f Merge branch 'backport-3.16-pch-fix-bad-ClearSourcesCache' fa7b041eca PCH: Fix logic error that incorrectly clears sources during VS generation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4815
* | | | | | CMake 3.18.1v3.18.1Brad King2020-07-301-1/+1
| | | | | |
* | | | | | Unity Builds: Do not set SKIP_AUTOGEN to source filesCristian Adam2020-07-291-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #21028
* | | | | | Merge topic 'revert-add_test-special-chars' into release-3.18Brad King2020-07-281-7/+7
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5fc5f4d26e add_test: Revert "Allow special characters in test name" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5067
| * | | | | | add_test: Revert "Allow special characters in test name"Brad King2020-07-271-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit f84af8e270 (add_test: Allow special characters in test name, 2020-05-16, v3.18.0-rc1~142^2). Unfortunately the fix breaks projects that were working around the limitation with manual escaping. The fix can be re-introduced with a policy in a future version. Also add a 3.18.1 release note explaining the change. Fixes: #21017, #20965 Issue: #19391
* | | | | | | Merge topic 'xcode-12-legacy-deprecation' into release-3.18Brad King2020-07-271-0/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 36fc3a1e84 Xcode: Suppress legacy build system deprecation warning Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5052
| * | | | | | | Xcode: Suppress legacy build system deprecation warningBrad King2020-07-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xcode 12 beta 3 now warns about using the legacy build system. Since generation of the build system is CMake's responsibility, the warning is not relevant to our users. Suppress it. Issue: #18088
* | | | | | | | Merge topic 'vs-lang-flags' into release-3.18Brad King2020-07-271-0/+6
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c4109a1bc8 VS: Restore toleration of target-wide -TP flag with MSVC Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5051
| * | | | | | | VS: Restore toleration of target-wide -TP flag with MSVCBrad King2020-07-231-0/+6
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 3b547e2e4b (VS: Simplify logic adding source file C/C++ language flag to MSVC, 2020-05-15, v3.18.0-rc1~139^2~1) we only add a per-source language selection flag when the source file extension does not match the compiler's default. This approach breaks when a project adds a target-wide `-TP` flag. Although such projects likely did not work with non-VS generators, we did support them before in Visual Studio generators. Add a special case to tolerate such flags again. Fixes: #21005
* | | | | | | Merge topic 'cmake-gui-qt-5.14' into release-3.18Brad King2020-07-231-2/+3
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | af6cf586f6 cmake-gui: Fix crash when built with Qt 5.14 or later Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5045
| * | | | | | | cmake-gui: Fix crash when built with Qt 5.14 or laterBrad King2020-07-221-2/+3
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit d7679f6427 (QCMakeCacheView: use non-deprecated List and Set constructions, 2020-06-10, v3.18.0-rc2~13^2) the conversion of the `this->properties()` value to QSet is incorrect for Qt 5.14+. The problem is that `this->properties()` returns by value, so the range `this->properties().begin(), this->properties().end()` provides iterators to two different instances. Use an intermediate temporary copy of the value to get a consistent iterator range. Fixes: #20981
* | | | | | | Merge topic 'graphviz-restore-per-target' into release-3.18Brad King2020-07-222-7/+145
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1829220310 Merge branch 'backport-3.17-graphviz-restore-per-target' f3a6b4a209 Tests: Cover Graphviz support for per-target dependency graph options 93549b9224 Graphviz: Restore support for per-target dependency graph options Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5039
| * \ \ \ \ \ \ Merge branch 'backport-3.17-graphviz-restore-per-target'Brad King2020-07-212-7/+145
| |\ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | / | | | |_|_|_|/ | | |/| | | |
| | * | | | | Graphviz: Restore support for per-target dependency graph optionsStephan Rohmen2020-07-212-7/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The behaviors controlled by options `GRAPHVIZ_GENERATE_PER_TARGET` and `GRAPHVIZ_GENERATE_DEPENDERS` were broken by commit 553658393c (Graphviz: added test suite, fixes, enhancements, 2019-10-08, v3.17.0-rc1~615^2). It had not been covered in the test suite previously, and those changes left out checks for these features from the `default_options` case. Implement the previously-existing behavior in the new graphviz generation engine added by the above-mentioned commit. Fixes: #20928
* | | | | | | Merge topic 'ghs-crash' into release-3.18Brad King2020-07-211-2/+3
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5da2c71165 GHS: Fix crash when GHS_NO_SOURCE_GROUP_FILE property is not defined Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5033
| * | | | | | | GHS: Fix crash when GHS_NO_SOURCE_GROUP_FILE property is not definedBrad King2020-07-201-2/+3
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit 36aba01223 (cmGeneratorTarget::GetProperty: return cmProp, 2020-04-29, v3.18.0-rc1~246^2) left out a `nullptr` check. Fixes: #20985
* | | | | | | Merge topic 'strdup' into release-3.18Brad King2020-07-211-0/+4
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | eea0337c7d centos5: Fix FTBFS with strdup Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5026
| * | | | | | | centos5: Fix FTBFS with strdupJulien Schueller2020-07-201-0/+4
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit f034b0f663 (CMake compilation: do not use compiler extensions, 2020-03-14, v3.18.0-rc1~494^2) we need to explicitly enable availability of `strdup`. Fixes: #20971