summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | Merge topic 'restore-link-interface-objlib-with-unity' into release-3.29Brad King2024-02-229-7/+45
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-218-6/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | Tests: Update RunCMake.TargetObjects cmake_minimum_required versionBrad King2024-02-211-1/+1
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | This was missed in commit 1edf138506 (Tests/RunCMake: Update cmake_minimum_required versions, 2023-02-06, v3.27.0-rc1~508^2~1).
* | | | | Merge topic 'cxxmodules-clang-resource-dir' into release-3.29Brad King2024-02-223-0/+31
|\ \ \ \ \ | |_|_|/ / |/| | | / | | |_|/ | |/| | | | | | | | | | a3ada1a241 Clang: detect -resource-dir for clang-scan-deps Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9274
| * | | Clang: detect -resource-dir for clang-scan-depsBen Boeckel2024-02-213-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When cross-compiling, `clang-scan-deps` needs help to find the correct location of core headers such as `stddef.h`. Always determine this path and pass it when available. Fixes: #25590
* | | | Merge topic 'doc-BUILD_SHARED_LIBS' into release-3.29Brad King2024-02-211-6/+30
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 01e33df83f Help: Modernize BUILD_SHARED_LIBS documentation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9278
| * | | | Help: Modernize BUILD_SHARED_LIBS documentationBrad King2024-02-211-6/+30
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | Previously the documentation used long-outdated terminology from CMake's early days. Issue: #25699
* | | | Merge branch 'release-3.28' into release-3.29Brad King2024-02-210-0/+0
|\ \ \ \ | | |_|/ | |/| |
| * | | Merge topic 'cxxmodules-transitive-std' into release-3.28Brad King2024-02-212-2/+2
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f0df692d21 Tests/CXXModules: test `cxx_std_20` coming from a dependency Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9276
| * \ \ \ Merge topic 'cxxmodules-transitive-modules-usage' into release-3.28Brad King2024-02-2120-9/+300
| |\ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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> Merge-request: !9273
* | | | | Merge topic 'cxxmodules-transitive-std' into release-3.29Brad King2024-02-212-2/+2
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | f0df692d21 Tests/CXXModules: test `cxx_std_20` coming from a dependency Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9276
| * | | | Tests/CXXModules: test `cxx_std_20` coming from a dependencyBen Boeckel2024-02-202-2/+2
| |/ / / | | | | | | | | | | | | Closes: #25569
* | | | Merge topic 'cxxmodules-transitive-modules-usage' into release-3.29Brad King2024-02-2120-9/+300
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-205-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Tests/CXXModules: test transitive modules usageBen Boeckel2024-02-2014-0/+294
| |/ /
* | | 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 branch 'release-3.28' into release-3.29Brad King2024-02-200-0/+0
|\ \ \ | | |/ | |/|
| * | Merge topic 'cxxmodules-transitive-target-usage' into release-3.28Brad King2024-02-2022-1/+308
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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> Merge-request: !9265
* | \ \ Merge topic 'cxxmodules-transitive-target-usage' into release-3.29Brad King2024-02-2022-1/+308
|\ \ \ \ | | |/ / | |/| / | |_|/ |/| | | | | | | | | | | | | | 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
| * | Tests/CXXModules: add a test with transitive targetsBen Boeckel2024-02-1921-0/+307
| |/
* | Merge branch 'release-3.28' into release-3.29Brad King2024-02-190-0/+0
|\ \ | |/
| * Merge topic 'cxxmodules-nmc-duplicate-synthetic-targets' into release-3.28Brad King2024-02-199-0/+120
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | 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> Merge-request: !9263
* | \ Merge topic 'cxxmodules-nmc-duplicate-synthetic-targets' into release-3.29Brad King2024-02-199-0/+120
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Tests/CXXModules: add a test importing from a `Ninja` installBen Boeckel2024-02-168-0/+78
| | | | | | | | | | | | | | | | | | | | | This ensures that consuming from a single configuration generator works in all generators. See: #25568
| * | Tests/CXXModules: support building a project with `Ninja`Ben Boeckel2024-02-161-0/+29
| | | | | | | | | | | | This allows testing mixed generator setups.
| * | Tests/CXXModules: document `CMake_TEST_MODULE_COMPILATION` itemsBen Boeckel2024-02-161-0/+12
| |/
* | Merge topic 'ci-wix-3.14' into release-3.29Brad King2024-02-191-4/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | adb6af6959 ci: host WiX 3.14.0.8606 binaries ourselves 4c32b3690d ci: update to WiX 3.14.0.8606 release Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9264
| * | ci: host WiX 3.14.0.8606 binaries ourselvesBrad King2024-02-161-2/+4
| | | | | | | | | | | | | | | | | | | | | Follow the approach from commit 9ff7fffbf4 (ci: host WiX 3.14.0.6526 binaries ourselves, 2022-08-02, v3.24.0~6^2) for the updated version. Since we use WiX to package our official release binaries, avoid relying on an externally-hosted package by hosting it at `cmake.org`.
| * | ci: update to WiX 3.14.0.8606 releaseBrad King2024-02-161-5/+4
|/ / | | | | | | | | This official 3.14 release supports the `arm64` architecture. Previously we used a development version for that.
* | Merge topic 'doc-install-relative-paths' into release-3.29Brad King2024-02-162-18/+31
|\ \ | | | | | | | | | | | | | | | | | | af293ff7c3 Help: Explicitly discourage absolute install destinations Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9261
| * | Help: Explicitly discourage absolute install destinationsRobert Maynard2024-02-162-18/+31
| | | | | | | | | | | | | | | Document some of the problems caused by absolute install destinations. Encourage use of relative paths.
* | | Merge topic 'ipo-ar-no-replace' into release-3.29Brad King2024-02-165-10/+10
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 2d72a861d7 IPO: Support duplicate object names in large archives Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9258
| * | | IPO: Support duplicate object names in large archivesRuslan Baratov2024-02-155-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply the fix from commit 1ec6485c6a (Support duplicate object names in large archives, 2014-04-16, v3.1.0-rc1~629^2) to the IPO-specific archiving rules. Use "quick append" instead of "replace". Fixes: #25675 Issue: #14874
* | | | Merge branch 'release-3.28' into release-3.29Brad King2024-02-160-0/+0
|\ \ \ \ | | |_|/ | |/| |
| * | | 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-169-2/+66
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-167-3/+62
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-167-1/+63
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'ci-test-CommandLength' into release-3.28Brad King2024-02-161-1/+4
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | edb833d69e Tests/CommandLength: Refactor test commands to reduce test run time Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9256
* | \ \ \ \ \ \ \ 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-169-2/+66
|\ \ \ \ \ \ \ \ \ | | |_|_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | | | Tests/CXXModules: add a test to ensure that `restat` works for collationBen Boeckel2024-02-157-2/+59
| | |_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also update the `modules-json-file` test to account for the fact that `CXXModules.json` is not updated for timestamp-only rebuild triggers. See: #25511
* | | | | | | | Merge topic 'cxxmodules-visibility-change-rebuild' into release-3.29Brad King2024-02-167-3/+62
|\ \ \ \ \ \ \ \ | |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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