summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.29.0-rc4v3.29.0-rc4Brad King2024-03-141-1/+1
|
* Merge topic 'Apple-TBD-in-subdirecory' into release-3.29Brad King2024-03-141-0/+3
|\ | | | | | | | | | | | | | | bcc26ce465 Apple Text Based Stubs: should be usage in subdirectories Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9341
| * Apple Text Based Stubs: should be usage in subdirectoriesMarc Chevrier2024-03-141-0/+3
| | | | | | | | Fixes: #25765
* | Merge topic 'autogen-makefile-depfile' into release-3.29Brad King2024-03-141-32/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | d2d1763f88 cmQtAutoGenInitializer: De-duplicate autogen/timestamp target depend logic 6193d15556 Autogen: Restore target-ordering dependencies in Makefiles with DEPFILE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9340
| * | cmQtAutoGenInitializer: De-duplicate autogen/timestamp target depend logicBrad King2024-03-141-24/+10
| | | | | | | | | | | | | | | | | | We place the same target ordering dependencies on either the `_autogen_timestamp_deps` target or the `_autogen` target. Refactor the logic to avoid duplicating that code.
| * | Autogen: Restore target-ordering dependencies in Makefiles with DEPFILEBrad King2024-03-141-15/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit aebfbcaa46 (AutoGen: Use depfiles for the XXX_autogen ninja targets, 2020-01-14, v3.17.0-rc1~58^2) the `_autogen_timestamp_deps` target was given target ordering dependencies through its custom command rather than direct target dependencies as on the `_autogen` target. Then commit 895fa3433f (cmQtAutoGenInitializer: support IMPLIB-only imported targets, 2021-09-23, v3.22.0-rc1~80^2) converted some target-level dependencies into file-level dependencies on the custom command. This only works with a monolithic build graph like Ninja. Since commit ebc9e448b3 (Autogen: Add depfile support for Makefiles, 2023-09-07, v3.28.0-rc1~101^2~1) we use the `_autogen_timestamp_deps` target in Makefile generators too. This exposed the missing target ordering dependency. Fixes: #25766
* | | Merge topic 'LINKER_TYPE-mold-support' into release-3.29Brad King2024-03-142-9/+34
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | 801ae06952 LINKER_TYPE: Support MOLD only on GCC versions that support it 939ac5287e LINKER_TYPE: fix spelling error in message 922883782b LINKER_TYPE: Document that linker tool should be in the PATH Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9334
| * | LINKER_TYPE: Support MOLD only on GCC versions that support itMarc Chevrier2024-03-132-9/+34
| | | | | | | | | | | | Fixes: #25748
| * | LINKER_TYPE: fix spelling error in messageMarc Chevrier2024-03-122-2/+2
| | |
* | | EXPORT_PACKAGE_DEPENDENCIES: Add experimental feature gateBrad King2024-03-124-5/+30
| | | | | | | | | | | | | | | | | | | | | Some design concerns have been raised after trying the 3.29 release candidates. Avoid committing to a stable public interface for now. Issue: #25767
* | | install(EXPORT): Drop REQUIRED from exported find_dependency callsBrad King2024-03-111-1/+1
|/ / | | | | | | | | | | | | | | | | | | In commit c6e6861e63 (install(EXPORT): Export find_dependency() calls, 2023-11-07, v3.29.0-rc1~439^2~1) we made the calls `REQUIRED`. However, a dependency is only required if the dependent package is required. `find_dependency` already forwards the `REQUIRED` mark, and also already marks the dependent package as not found if the dependency is missing. Fixes: #25756
* | Merge topic 'ctest-j-default' into release-3.29Brad King2024-03-118-69/+156
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5de1e21659 ctest: Allow passing -j without value to choose a contextual default bbcbcff7d9 cmCTestMultiProcessHandler: Modernize member initialization 7457b474a1 Tests: Remove unnecessary parallel suppression from CTestCoverageCollectGCOV ae69801d96 Tests: Convert CTestTestSkipReturnCode to RunCMake.ctest_test case 30dda49416 Tests: Convert CTestTestSerialOrder to RunCMake.ctest_test case Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !9315
| * | ctest: Allow passing -j without value to choose a contextual defaultBrad King2024-03-108-36/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Under job server integration, added by commit 80fe56c481 (ctest: Add support for running under a make job server on POSIX systems, 2023-11-15, v3.29.0-rc1~324^2), use a very high default so that parallelism is effectively limited only by available job server tokens. Otherwise, choose a default limit based on the number of processors. Also allow passing `0` to specify unbounded parallelism. Fixes: #25739
| * | cmCTestMultiProcessHandler: Modernize member initializationBrad King2024-03-103-34/+23
| | |
* | | Merge topic 'ctest-tests-from-file' into release-3.29Brad King2024-03-112-27/+26
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 170ec48601 Help: Improve ctest tests-from-file documentation wording and wrapping 1a4837641e ctest: Remove unnecessary and ambiguous tests-from-file comment syntax d52c66bfb3 ctest: Honor tests-from-file options with empty input 8673264e25 Tests: Make ctest tests-from-file expected output more precise Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9322
| * | | ctest: Remove unnecessary and ambiguous tests-from-file comment syntaxBrad King2024-03-081-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test names can contain `#`. Since we ignore lines that do not match any test names anyway, "commenting" can still work without explicit syntax. Also drop whitespace trimming for similar reasons. Fixes: #25741
| * | | ctest: Honor tests-from-file options with empty inputBrad King2024-03-082-22/+24
| | | | | | | | | | | | | | | | If the `--tests-from-file` input file is empty, no tests should run.
* | | | GET_RUNTIME_DEPENDENCIES: Allow more whitespace before objdump's "DLL Name:"Adrian Pop2024-03-101-1/+1
|/ / / | | | | | | | | | LLVM's `llvm-objdump` has spaces before "DLL Name:" instead of tabs.
* | | ctest: Exit with failure when tests-from-file input is missingBrad King2024-03-062-10/+14
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the options added by * commit 022f20f663 (ctest: add command line option to run the tests listed in a given file, 2023-11-29, v3.29.0-rc1~66^2~2) * commit dbacc1d5a8 (ctest: add command line option to exclude tests listed in a given file, 2023-11-30, v3.29.0-rc1~66^2~1) * commit 701029726f (ctest_test: add options INCLUDE_FROM_FILE and EXCLUDE_FROM_FILE, 2023-12-03, v3.29.0-rc1~66^2) are given a missing file, fail instead of ignoring it. Fixes: #25740
* | CMake 3.29.0-rc3v3.29.0-rc3Brad King2024-03-041-1/+1
| |
* | Merge topic 'cxxmodules-invalid-iterator' into release-3.29Brad King2024-03-042-3/+1
|\ \ | |/ | | | | | | | | | | | | 844f054fe0 cmImportedCxxModuleInfo: remove unused pointer field Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9303
| * cmImportedCxxModuleInfo: remove unused pointer fieldBen Boeckel2024-03-012-3/+1
| | | | | | | | | | Also avoids usage of an invalid `importit` when module names are not available.
* | Merge branch 'backport-3.28-cxxmodules-no-export-basedirs-as-include-paths'Brad King2024-02-281-1/+4
|\ \ | |/
| * cmExportFileGenerator: only export include paths for HEADERS file setsBen Boeckel2024-02-281-1/+4
| |
* | Merge topic 'cxxmodules-fileset-cache-fullpath' into release-3.29Brad King2024-02-271-1/+2
|\ \ | |/ | | | | | | | | | | | | 0a18f9baad cmGeneratorTarget: collapse paths before querying the fileset cache Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9286
| * cmGeneratorTarget: collapse paths before querying the fileset cacheBen Boeckel2024-02-241-1/+2
| | | | | | | | | | | | Observed with paths with `../` when outside of the source tree. I attempted to reproduce a test suite case for it but could not make it happen.
* | 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