summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Ninja: support "forwarding" modules from other targetsBen Boeckel2023-11-239-1/+74
| | | | | | | | | | | | | When a target uses objects from another target which provides modules as sources, the modules provided by the referenced target must also be treated as if they were provided by the referencing target. Add the concept of "forwarding" modules so that consumers can use modules created by these sources as well. Note that this is only sensible for Fortran where module usages are implicit as far as CMake's visibility model is concerned. C++ modules have their own concept of visibility which does not require or support such `$<TARGET_OBJECTS>` reuse in this way.
* cmCommonTargetGenerator: return forward linked target dirs tooBen Boeckel2023-11-214-38/+62
| | | | | This will be used for module forwarding in order to support `$<TARGET_OBJECTS>` usage in source and link libraries calls.
* cmLocalUnixMakefileGenerator3: handle object-referencing Fortran modulesBen Boeckel2023-11-211-0/+11
| | | | | | Targets only using Fortran modules via `$<TARGET_OBJECTS>` also need a collation step to be performed. Check for this case and trigger the depends rule to be used.
* cmNinjaTargetGenerator: handle object-referencing Fortran modulesBen Boeckel2023-11-211-0/+9
| | | | | | Targets only using Fortran modules via `$<TARGET_OBJECTS>` also need a collation step to be performed. Check for this case and trigger the collation rule to be added and used.
* cmGeneratorTarget: also check included objects for Fortran modulesBen Boeckel2023-11-211-9/+37
| | | | | Fortran modules provided by objects in `$<TARGET_OBJECTS>` should also count as "has Fortran modules" for the target referencing the objects.
* cmCommonTargetGenerator: use modules from object-referenced targetsBen Boeckel2023-11-211-0/+8
| | | | | | | | Fortran modules provided by objects added as sources via `$<TARGET_OBJECTS>` should also be considered as "linked targets" for collation purposes. As C++ modules have their own visibility rules through their `FILE_SET` feature, do not expose these for C++ module collation.
* cmGeneratorTarget: add a query for targets with objects in the source listBen Boeckel2023-11-212-9/+23
| | | | | | This will be eventually be used to inform the collator of this information so that Fortran modules provided by the resulting objects can also be used as intended.
* cmGeneratorTarget: use pointers to `const` generator targets for languagesBen Boeckel2023-11-211-2/+2
|
* cmGeneratorTarget: track object libraries using a `set`Ben Boeckel2023-11-211-10/+4
| | | | | | This avoids having to do manual "is already present" checks. The order the targets are processed does not need to be preserved because the resulting `languages` result is already a `set`.
* Merge branch 'revert-exact-collation-depends-3.27' (early part) into ↵Ben Boeckel2023-11-2117-0/+132
|\ | | | | | | | | | | | | | | fortran-objects-as-sources-fix * 'revert-exact-collation-depends-3.27' (early part): Tests/FortranModules: add test for TARGET_OBJECTS-as-linked-items module usage Tests/FortranModules: add test for TARGET_OBJECTS-as-sources module usage
| * Tests/FortranModules: add test for TARGET_OBJECTS-as-linked-items module usageBen Boeckel2023-11-2110-0/+69
| | | | | | | | | | | | Test module usage across a `$<TARGET_OBJECTS>`-as-linked-items use case. See: #25425
| * Tests/FortranModules: add test for TARGET_OBJECTS-as-sources module usageBen Boeckel2023-11-218-0/+63
| | | | | | | | | | | | Test module usage across a `$<TARGET_OBJECTS>`-as-sources use case. See: #25425
* | Merge branch 'release-3.27' into release-3.28Brad King2023-11-200-0/+0
|\ \
| * \ Merge branch 'release-3.26' into release-3.27Brad King2023-11-200-0/+0
| |\ \
| | * \ Merge branch 'fileapi-file-sets-base-dirs-relative' into release-3.26Brad King2023-11-204-7/+9
| | |\ \ | | | | | | | | | | | | | | | Merge-request: !8977
| * | \ \ Merge branch 'fileapi-file-sets-base-dirs-relative' into release-3.27Brad King2023-11-204-7/+9
| |\ \ \ \ | | | |/ / | | |/| | | | | | | Merge-request: !8977
* | | | | Merge topic 'fileapi-file-sets-base-dirs-relative' into release-3.28Brad King2023-11-204-7/+9
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a3a85524cd fileapi: Fix file sets' base directories relative to top source Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !8977
| * | | | fileapi: Fix file sets' base directories relative to top sourceKyle Edwards2023-11-174-7/+9
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | This field was added by commit b3e9fb67bb (file-api: support exporting file set information, 2022-11-03, v3.26.0-rc1~389^2) but the relative path convention used elsewhere was accidentally left out. Fixes: #25422
* | | | Merge branch 'release-3.27' into release-3.28Brad King2023-11-200-0/+0
|\ \ \ \ | | |/ / | |/| |
| * | | Merge branch 'doc-CMP0149' into release-3.27Brad King2023-11-201-0/+7
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !8990
| * \ \ \ Merge branch 'custom-command-ninja-deps' into release-3.27Brad King2023-11-201-2/+2
| |\ \ \ \ | | |_|_|/ | |/| | | | | | | | Merge-request: !8984
* | | | | Merge topic 'doc-CMP0149' into release-3.28Brad King2023-11-201-0/+7
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | fe0d03b044 Help: Document that CMP0149 should be set before project() Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8990
| * | | | Help: Document that CMP0149 should be set before project()Brad King2023-11-201-0/+7
| |/ / / | | | | | | | | | | | | Issue: #25413
* | | | Merge topic 'update-doc-deprecated-properties-on-targets' into release-3.28Brad King2023-11-201-3/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c53a341f9f Help: Move deprecated properties to dedicated section Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8982
| * | | | Help: Move deprecated properties to dedicated section權少2023-11-201-3/+3
| | | | |
* | | | | Merge topic 'custom-command-ninja-deps' into release-3.28Brad King2023-11-201-2/+2
|\ \ \ \ \ | |/ / / / |/| | / / | | |/ / | |/| | | | | | | | | | 3c8d1eef72 Ninja: depfile: keep rules without dependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8984
| * | | Ninja: depfile: keep rules without dependenciesMarc Chevrier2023-11-201-2/+2
| |/ / | | | | | | | | | | | | | | | | | | To avoid repeated executions of custom command actions, depfile file with rules without dependencies must be preserved. Fixes: #25428
* | | Merge topic 'ci-fedora-39' into release-3.28Brad King2023-11-20122-438/+485
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9283b20659 ci: Suppress CPack/RPM tests pending fix for Fedora 39 18145e8745 ci: Update FindMPI test environment for mpich on Fedora 39 a8be80ccf2 ci: Drop now-unnecessary Clang rules for CXXModules tests 99238b23e9 ci: use Fedora 39 images and environments 57eadec617 ci: update Linux image to Fedora 39 653262162c clang-tidy module: Update to build against LLVM/Clang 17 2cf9a65835 clang-tidy: ignore warnings new in version 17 2744f14db1 codespell: Fix typos ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8983
| * | | ci: Suppress CPack/RPM tests pending fix for Fedora 39Brad King2023-11-171-0/+9
| | | | | | | | | | | | | | | | Issue: #25421
| * | | ci: Update FindMPI test environment for mpich on Fedora 39Brad King2023-11-171-1/+1
| | | | | | | | | | | | | | | | An explicit `FI_PROVIDER=tcp` seems to be needed to pass the test.
| * | | ci: Drop now-unnecessary Clang rules for CXXModules testsBrad King2023-11-174-6/+0
| | | | | | | | | | | | | | | | | | | | Starting with LLVM/Clang 17 we can use C++ modules with compiler extensions enabled.
| * | | ci: use Fedora 39 images and environmentsBrad King2023-11-1743-114/+112
| | | |
| * | | ci: update Linux image to Fedora 39Brad King2023-11-177-3/+5
| | | |
| * | | clang-tidy module: Update to build against LLVM/Clang 17Brad King2023-11-178-236/+268
| | | |
| * | | clang-tidy: ignore warnings new in version 17Brad King2023-11-171-0/+8
| | | | | | | | | | | | | | | | These warnings can be fixed in the future. Ignore them for now.
| * | | codespell: Fix typosBrad King2023-11-1754-64/+64
| | | |
| * | | codespell: Revise release note about short-lived field to avoid misspellingBrad King2023-11-171-1/+1
| | | |
| * | | codespell: Match valgrind output without repeating a spelling errorBrad King2023-11-171-4/+4
| | | |
| * | | Utilities/Sphinx: Fix python string literal syntax warningBrad King2023-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Python 3.12 started warning: conf.py:35: SyntaxWarning: invalid escape sequence '\.' Use a raw string literal instead.
| * | | Tests: Update HIP.MathFunctions case for nodiscard enforcementBrad King2023-11-171-4/+8
| | | |
* | | | Merge topic 'ci-release-no-cdash' into release-3.28Brad King2023-11-201-1/+0
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 31620b2bf8 gitlab-ci: drop cdash-build-id from release packaging artifacts Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !8988
| * | | | gitlab-ci: drop cdash-build-id from release packaging artifactsBrad King2023-11-191-1/+0
| |/ / / | | | | | | | | | | | | | | | | This was accidentally added by commit 06661b1e4c (gitlab-ci: pull annotations for CDash from the jobs, 2023-11-01, v3.28.0-rc4~1^2).
* | | | Merge topic 'doc-typo' into release-3.28Brad King2023-11-191-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | 328a1b5b73 Help: Fix spelling of CMAKE_EXTRA_INCLUDE_FILES in 3.6 release notes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8985
| * | | Help: Fix spelling of CMAKE_EXTRA_INCLUDE_FILES in 3.6 release notesPeter Kokot2023-11-191-1/+1
|/ / /
* | | Merge topic 'update-kwiml' into release-3.28Brad King2023-11-173-3/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | f2cc0ef2ed Merge branch 'upstream-KWIML' into update-kwiml 83dd9be285 KWIML 2023-11-16 (500bc253) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8978
| * \ \ Merge branch 'upstream-KWIML' into update-kwimlBrad King2023-11-163-3/+3
| |\ \ \ | | | | | | | | | | | | | | | | | | | | * upstream-KWIML: KWIML 2023-11-16 (500bc253)
| | * | | KWIML 2023-11-16 (500bc253)KWIML Upstream2023-11-163-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code extracted from: https://gitlab.kitware.com/utils/kwiml.git at commit 500bc25359cdf9e7357315ae3a6c05d606d93ea3 (master). Upstream Shortlog ----------------- Brad King (1): 500bc253 codespell: fix typos
* | | | | Merge topic 'doc-deprecated-hanging-indent' into release-3.28Brad King2023-11-171-3/+5
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | b553ac4c2f Utilities/Sphinx: Add hanging indent to deprecation notes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8976
| * | | | Utilities/Sphinx: Add hanging indent to deprecation notesBrad King2023-11-161-3/+5
|/ / / / | | | | | | | | | | | | | | | | | | | | Extend commit 038f4c12e3 (Utilities/Sphinx: Add hanging indent to version notes, 2023-03-14, v3.27.0-rc1~322^2) to cover `deprecated` directives.
* | | | CMake 3.28.0-rc5v3.28.0-rc5Brad King2023-11-151-1/+1
| | | |