summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | | | | | | Merge topic 'xcode-native-arch' into release-3.18Craig Scott2020-07-212-1/+20
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 26673bf480 Xcode: Explicitly specify default native architecture on macOS ce624cfbd4 cmGlobalXCodeGenerator: Save CMAKE_SYSTEM_NAME in member Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5023
| * | | | | | | Xcode: Explicitly specify default native architecture on macOSBrad King2020-07-201-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When `CMAKE_OSX_ARCHITECTURES` is not specified, we add the Xcode setting `ONLY_ACTIVE_ARCH = YES` with the intention of targeting the native architecture of the host. However, the default `ARCHS` value chosen by "Xcode 12 Universal Apps" includes multiple architectures. Add an explicit `ARCHS` setting with value `$(NATIVE_ARCH_ACTUAL)` to tell Xcode to use the host's native architecture only. Fixes: #20893
| * | | | | | | cmGlobalXCodeGenerator: Save CMAKE_SYSTEM_NAME in memberBrad King2020-07-162-0/+9
| |/ / / / / /
* | | | | | | Merge topic 'swift-link-iface' into release-3.18Brad King2020-07-201-0/+3
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 14a5712447 Swift: Fix regression in linking to interface libraries Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5027
| * | | | | | | Swift: Fix regression in linking to interface librariesBrad King2020-07-171-0/+3
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 2026915f8f (Swift: Propagate Swift_MODULE_DIRECTORY as include directory, 2020-02-03, v3.18.0-rc1~547^2) we internally call `GetAllConfigCompileLanguages` on all directly linked targets without checking if they are interface libraries that don't compile at all. That violates an internal assumption and assertion. Fixes: #20977
* | | | | | | Merge topic 'ninja-multi-rsp' into release-3.18Brad King2020-07-171-4/+14
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | / | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | 99ed39b011 Ninja Multi-Config: Make link response files per-config Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5020
| * | | | | Ninja Multi-Config: Make link response files per-configKyle Edwards2020-07-161-4/+14
| |/ / / / | | | | | | | | | | | | | | | Fixes: #20961
* | | | | CMake 3.18.0v3.18.0Brad King2020-07-151-1/+1
| | | | |
* | | | | Merge topic 'source_file_props_dedup_scopes' into release-3.18Craig Scott2020-07-141-2/+14
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f6969b917d set_property: Deduplicate source file directory scopes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5009
| * | | | | set_property: Deduplicate source file directory scopesAlexandru Croitor2020-07-131-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A user could specify the same directory scope to set_property() multiple times, which in conjunction with APPEND would append the property multiple times. Make sure to deduplicate scopes across both DIRECTORY and TARGET_DIRECTORY options, so that a property is only appended once in such a scenario. Fixes: #20941
* | | | | | Merge topic 'macos-11-file-GET_RUNTIME_DEPENDENCIES' into release-3.18Brad King2020-07-141-1/+14
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d9af90504f Tests: Update file(G_R_D) test to make system library optional c51400033c file: Update GET_RUNTIME_DEPENDENCIES for macOS 11 dylib cache Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !4998
| * | | | | | file: Update GET_RUNTIME_DEPENDENCIES for macOS 11 dylib cacheBrad King2020-07-131-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting on macOS 11, the dynamic loader has a builtin cache of system-provided dylib files. They do not actually exist on the filesystem. However, runtime dependencies recorded in Mach-O binaries can still have `LC_LOAD_DYLIB` entries referring to such dylib files by absolute path. The dynamic loader simply resolves the paths from its cache. Teach `file(GET_RUNTIME_DEPENDENCIES)` to skip dependencies on such dylib paths. For practical software distribution purposes they do not exist, or at least can be assumed available on all deployments. Issue: #20863
* | | | | | | Merge topic 'profiling-case-insensitive-command-names' into release-3.18Brad King2020-07-141-1/+1
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7cf2f7d2af cmake: Store lowercase command names in profiling output Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5007