summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
...
* | Swift: Ninja: Pass module name to all swift buildsEvan Wilde2024-02-231-4/+2
| | | | | | | | | | | | | | | | Executables that don't export a public API should not emit a swiftmodule, but the swift modulename is observable from within the program, so we should still set the module name on executable builds. Fixes: #25710
* | CMake 3.29.0-rc2v3.29.0-rc2Brad King2024-02-221-1/+1
| |
* | Merge topic 'restore-link-interface-objlib-with-unity' into release-3.29Brad King2024-02-223-6/+8
|\ \ | |/ | | | | | | | | | | | | | | 5b8e9e068f Restore support for TARGET_OBJECTS in link interfaces with unity builds 1313c78a9c Tests: Update RunCMake.TargetObjects cmake_minimum_required version Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9279
| * Restore support for TARGET_OBJECTS in link interfaces with unity buildsBrad King2024-02-213-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | This was broken by commit df08c37a42 (cmGlobalGenerator: Add unity/pch sources after computing compile features, 2024-02-02, v3.28.3~1^2~1^2), and 3.28.2's commit 76b5383123 (cmGlobalGenerator: add unity sources after computing target compile features, 2024-01-01, v3.28.2~17^2~1). The problem is very similar to that fixed by commit 4e8f24e977 (PCH: Clear link interface cache when adding PCH object to it, 2022-01-24, v3.23.0-rc1~44^2~9). Generalize that fix. Fixes: #25696
* | Merge topic 'cxxmodules-transitive-modules-usage' into release-3.29Brad King2024-02-212-5/+2
|\ \ | |/ | | | | | | | | | | | | | | | | ec348ee4b9 cmGeneratorTarget: discover synthetic targets recursively 67466ddf65 cmExportFileGenerator: export link libraries as-is a2e3e61a31 Tests/CXXModules: test transitive modules usage Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9273
| * cmGeneratorTarget: discover synthetic targets recursivelyBen Boeckel2024-02-201-0/+1
| | | | | | | | Fixes: #25288
| * cmExportFileGenerator: export link libraries as-isBen Boeckel2024-02-201-5/+1
| | | | | | | | | | | | | | This allows for transitive modules to work because `$<COMPILE_ONLY>`-wrapped dependencies do not end up in the `linked-target-dirs` collator property. Test suite exported property tests updated to account for the change.
* | Merge topic 'vs-17.10' into release-3.29Brad King2024-02-201-3/+13
|\ \ | | | | | | | | | | | | | | | | | | | | | d256581bb0 VS: Fix '-T version=14.40' under VS 17.10 preview 1 3a7fbd04c8 VS: Verify toolset version= field format more strictly Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9271
| * | VS: Fix '-T version=14.40' under VS 17.10 preview 1Brad King2024-02-201-0/+8
| | | | | | | | | | | | | | | | | | | | | VS 17.10 preview 1 comes with toolset `v143` version `14.40`. This is the first time that the first three digits of the version do not match the toolset name. Add a special case to map version `14.40` back to toolset `v143`.
| * | VS: Verify toolset version= field format more strictlyBrad King2024-02-191-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 5f13168419 (VS: Add option to select the version of the toolset used by VS 2017, 2018-05-19, v3.12.0-rc1~38^2) we added logic to verify that the toolset version, such as `14.35`, matches the toolset name, such as `v143`. Clarify the logic to not construct a temporary nonsensical toolset name like `v1435`. Also verify the format of the toolset version more strictly, e.g., to reject `14.350` earlier. Previously the latter example was only rejected by the `.props` file not existing.
* | | Merge topic 'cxxmodules-transitive-target-usage' into release-3.29Brad King2024-02-201-1/+1
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | 8b6fc81fc3 cmTarget: copy link libraries from the right properties d4a517f82a Tests/CXXModules: add a test with transitive targets Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9265
| * cmTarget: copy link libraries from the right propertiesBen Boeckel2024-02-191-1/+1
| | | | | | | | | | | | | | This fixes transitive dependencies' usage requirements not appearing when compiling synthetic targets. See: https://discourse.cmake.org/t/9819
* | Merge topic 'cxxmodules-nmc-duplicate-synthetic-targets' into release-3.29Brad King2024-02-191-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | 5261af9424 cmGeneratorTarget: store synthetic targets in its cache e0633a9517 Tests/CXXModules: add a test importing from a `Ninja` install 150d7dbd68 Tests/CXXModules: support building a project with `Ninja` e48e5e5506 Tests/CXXModules: document `CMake_TEST_MODULE_COMPILATION` items Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9263
| * cmGeneratorTarget: store synthetic targets in its cacheBen Boeckel2024-02-161-0/+1
| | | | | | | | | | | | | | The synthetic target cache was never actually updated, so record them in the cache so that reuses can actually be discovered. Fixes: #25568
| * Merge topic 'cxxmodules-dyndep-error-on-private-usage' into release-3.28Brad King2024-02-163-3/+10
| |\ | | | | | | | | | | | | | | | | | | 3f8a59a05c cxxmodules: return failure from the collator when private usage is found Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9257
| * \ Merge topic 'cxxmodules-collation-restat' into release-3.28Brad King2024-02-162-0/+7
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | a7424b636b Ninja: make the collator rule use `restat = 1` e24eecfc33 Tests/CXXModules: add a test to ensure that `restat` works for collation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9259
| * \ \ Merge topic 'cxxmodules-visibility-change-rebuild' into release-3.28Brad King2024-02-161-3/+7
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 60a8736378 cmNinjaTargetGenerator: scanning depends on the module metadata 52036ce090 Tests/CXXModules: test that objects depend on dependent modules json files 9a45c9fbd5 cmNinjaTargetGenerator: use `emplace_back` for scanning deps Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9247
| * \ \ \ Merge topic 'cxxmodules-depend-on-modmap-file' into release-3.28Brad King2024-02-161-1/+1
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 363300ace5 cxxmodules: depend on the modmap contents 940628d48d Tests/CXXModules: test that objects depend on their modmap files 681ee92030 Tests/CXXModules: support testing rebuild conditions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9248
| * \ \ \ \ Merge topic 'cxxmodules-collapse-source-paths' into release-3.28Brad King2024-02-151-2/+3
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0f0d853de7 cmDyndepCollation: collapse full path before looking up Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9249
* | \ \ \ \ \ Merge topic 'cxxmodules-dyndep-error-on-private-usage' into release-3.29Brad King2024-02-163-3/+10
|\ \ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3f8a59a05c cxxmodules: return failure from the collator when private usage is found Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9257
| * | | | | | cxxmodules: return failure from the collator when private usage is foundBen Boeckel2024-02-153-3/+10
| | | | | | |
* | | | | | | Merge topic 'cxxmodules-collation-restat' into release-3.29Brad King2024-02-162-0/+7
|\ \ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a7424b636b Ninja: make the collator rule use `restat = 1` e24eecfc33 Tests/CXXModules: add a test to ensure that `restat` works for collation Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9259
| * | | | | | Ninja: make the collator rule use `restat = 1`Ben Boeckel2024-02-152-0/+7
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | This avoids rebuilds when the module metadata does not change.
* | | | | | Merge topic 'cxxmodules-visibility-change-rebuild' into release-3.29Brad King2024-02-161-3/+7
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 60a8736378 cmNinjaTargetGenerator: scanning depends on the module metadata 52036ce090 Tests/CXXModules: test that objects depend on dependent modules json files 9a45c9fbd5 cmNinjaTargetGenerator: use `emplace_back` for scanning deps Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9247
| * | | | | cmNinjaTargetGenerator: scanning depends on the module metadataBen Boeckel2024-02-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #25531
| * | | | | cmNinjaTargetGenerator: use `emplace_back` for scanning depsBen Boeckel2024-02-151-3/+5
| | |_|_|/ | |/| | |
* | | | | Merge topic 'cxxmodules-depend-on-modmap-file' into release-3.29Brad King2024-02-161-1/+1
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 363300ace5 cxxmodules: depend on the modmap contents 940628d48d Tests/CXXModules: test that objects depend on their modmap files 681ee92030 Tests/CXXModules: support testing rebuild conditions Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9248
| * | | | cxxmodules: depend on the modmap contentsBen Boeckel2024-02-151-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | If the modmap changes, we need to recompile. It is not just a file that needs to exist to compile. Fixes: #25511
* | | | Merge topic 'cmake-language-exit-code' into release-3.29Brad King2024-02-156-0/+25
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 86698eea85 cmake_language: Fix EXIT inside control flow blocks a3033d1a06 Tests: Remove unnecessary RunCMake.cmake_language expected result files Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Alex <leha-bot@yandex.ru> Merge-request: !9250
| * | | | cmake_language: Fix EXIT inside control flow blocksBrad King2024-02-146-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were missed in commit 1bb1769235 (cmake_language: Add EXIT subcommand, 2024-01-05, v3.29.0-rc1~112^2). Fixes: #25674
* | | | | Merge topic 'cxxmodules-collapse-source-paths' into release-3.29Brad King2024-02-151-2/+3
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| | | | | | | | | | | | | | 0f0d853de7 cmDyndepCollation: collapse full path before looking up Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9249
| * | | cmDyndepCollation: collapse full path before looking upBen Boeckel2024-02-141-2/+3
| |/ / | | | | | | | | | | | | | | | | | | | | | `cmSourceFile::GetFullPath()` performs a `CollapseFullPath` before storing the path. Match this behavior when looking up paths from the source file set constructions. Fixes: #25614
* | | CMake 3.29.0-rc1v3.29.0-rc1Brad King2024-02-131-1/+1
| | |
* | | Merge topic 'autogen-rcc-zstd' into release-3.29Brad King2024-02-121-0/+21
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9e87df4d46 Autogen/RCC: Disable zstd if it is not supported Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: alcroito <alexandru.croitor@qt.io> Merge-request: !9232
| * | | Autogen/RCC: Disable zstd if it is not supportedOrkun Tokdemir2024-02-091-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the `--no-zstd` argument for `RCC` when `QT_FEATURE_zstd` is `OFF`. This causes user project builds to fail. That bug is fixed in Qt by https://codereview.qt-project.org/c/qt/qtbase/+/537546 but for the older versions, fix it here too. Fixes: #25664
* | | | Merge branch 'backport-3.28-visionOS' into visionOSBrad King2024-02-091-8/+43
|\ \ \ \ | |/ / / |/| | / | | |/ | |/|
| * | visionOS: Update deployment-target flag for Xcode 15.1 betaBrad King2024-02-091-3/+36
| | | | | | | | | | | | | | | | | | | | | | | | Use the same flags Xcode adds for `XROS_DEPLOYMENT_TARGET`. They are `-target arm64-apple-xros1.0` and `-target arm64-apple-xros1.0-simulator`, where `1.0` is the deployment target version. Fixes: #25188
| * | cmLocalGenerator: Avoid unnecessary lookup without a deployment targetBrad King2024-02-091-8/+10
| | |
* | | Merge topic 'libuv-1.48' into release-3.29Brad King2024-02-091-0/+5
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | 077a1d5769 libuv: win/spawn: optionally run executable paths with no file extension f02ac51150 libuv: Revert "win/spawn: run executables with no file extension" 58a271e60b cmUVProcessChain: Implement no-extension-on-Windows support with libuv 1.48 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9238
| * | libuv: win/spawn: optionally run executable paths with no file extensionBrad King2024-02-081-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Backport libuv commit `3f7191e5` (win/spawn: optionally run executable paths with no file extension, 2024-02-05, v1.48.0~8) to add the `UV_PROCESS_WINDOWS_FILE_PATH_EXACT_NAME` option we now use. Issue: #25450
| * | cmUVProcessChain: Implement no-extension-on-Windows support with libuv 1.48Brad King2024-02-081-0/+3
| |/ | | | | | | | | Use the new `UV_PROCESS_WINDOWS_FILE_PATH_EXACT_NAME` option when building against libuv 1.48 or higher.
| * CMake 3.28.3v3.28.3Brad King2024-02-051-1/+1
| |
* | Merge topic 'doc-autogen' into release-3.29Brad King2024-02-081-9/+11
|\ \ | | | | | | | | | | | | | | | | | | | | | ccaf529c4e Autogen: Update Documentation 16cc011fa5 cmQtAutoGenGlobalInitializer: Improve Const-correctness Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9223
| * | cmQtAutoGenGlobalInitializer: Improve Const-correctnessOrkun Tokdemir2024-02-061-9/+11
| | |
* | | Begin 3.29 release versioningBrad King2024-02-061-3/+3
| | |
* | | CMake Nightly Date StampKitware Robot2024-02-061-1/+1
| | |
* | | Merge topic 'restore-pch-with-unity'Brad King2024-02-053-30/+13
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | | | | | | | 30829da506 Unity: Clarify source comments on unity build transformation 87bf1c6c33 Merge branch 'unity-after-compile-features' into restore-pch-with-unity df08c37a42 cmGlobalGenerator: Add unity/pch sources after computing compile features 004c3c3986 Tests: Add case covering PCH in a unity build Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !9215
| * Unity: Clarify source comments on unity build transformationBrad King2024-02-022-1/+3
| |
| * Merge branch 'unity-after-compile-features' into restore-pch-with-unityBrad King2024-02-022-29/+10
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace commit 76b5383123 (cmGlobalGenerator: add unity sources after computing target compile features, 2024-01-01, v3.28.2~17^2~1) with an alternative change. This merge commit resolves conflicts such that future `git blame` calls will follow the second parent for the relevant lines and pretend the replaced commit never existed. Fixes: #25650
| | * cmGlobalGenerator: Add unity/pch sources after computing compile featuresBrad King2024-02-022-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sources that will be scanned for C++ module dependencies need to be excluded from unity builds. We need to compute compile features in order to know which sources will be scanned. Unity build and PCH sources can be added afterward without changing the compile features. This re-implements commit 76b5383123 (cmGlobalGenerator: add unity sources after computing target compile features, 2024-01-01, v3.28.2~17^2~1) using a simpler approach that also preserves support for PCH with Unity builds. Issue: #25650 Co-authored-by: Ben Boeckel <ben.boeckel@kitware.com>