| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |\ |
|
| | | |
|
|\ \ \
| |/ / |
|
| |\ \
| | | |
| | | |
| | | | |
Merge-request: !8996
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
beb1393f8f Merge branch 'revert-exact-collation-depends-3.27' into fortran-objects-as-sources-fix
a033dce326 Makefiles: provide, but do not consume, "forward linked" target dirs
7cd0adab1b cmCommonTargetGenerator: use modules from linked object-referenced targets
1175f1c874 LinkItem: track `cmSourceFile` instances for external objects
d2fa56772f Ninja: support "forwarding" modules from other targets
ec1e589bec Ninja: Revert exact collation dependencies for 3.27
06df59b930 cmCommonTargetGenerator: return forward linked target dirs too
f8729ab366 cmLocalUnixMakefileGenerator3: handle object-referencing Fortran modules
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8989
|
| |\ \ \ \
| | | |/ /
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | | |
fortran-objects-as-sources-fix
* revert-exact-collation-depends-3.27:
Fortran: Revert exact collation dependencies for 3.27
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Revert commit b6a5382217 (Ninja: depend on language module information
files directly, 2023-02-10, v3.27.0-rc1~502^2) from !8197.
This reverts the "exact dependencies" for collation inputs and returns
to "get all targets" and target-ordering. Use of exact dependencies
caused a parade of use cases that had not been tested previously to be
found and need fixing over the 3.27 release series. To stop the flow on
3.27, revert to the 3.26 strategy. We will continue in 3.28.
Note that this is a restoration of 3.26 semantics where incremental
rebuilds may be subtly incorrect in the presence of stale
`<LANG>Modules.json` files. However, since C++ support is experimental
and Fortran has always had this problem as of 3.27, it is not considered
a regression.
See: #25112
See: #25123
See: #25252
See: #25365
See: #25417
See: #25425
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Makefiles do not have a per-object sense of where they come from, so
forwarding any module information here would end up with incorrect
module file path construction by consuming targets. Leave a TODO item in
its place.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fortran modules provided by objects added as linked items 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.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The target may be required in order to provide Fortran modules, so track
the source file so that the target may be looked up when needed.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This will be used for module forwarding in order to support
`$<TARGET_OBJECTS>` usage in source and link libraries calls.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fortran modules provided by objects in `$<TARGET_OBJECTS>` should also
count as "has Fortran modules" for the target referencing the objects.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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`.
|
| |\ \ \ \
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Test module usage across a `$<TARGET_OBJECTS>`-as-linked-items use case.
See: #25425
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Test module usage across a `$<TARGET_OBJECTS>`-as-sources use case.
See: #25425
|
|\ \ \ \ \
| | |_|/ /
| |/| | | |
|
| |\ \ \ \
| | | |_|/
| | |/| | |
|
| | |\ \ \
| | | | | |
| | | | | |
| | | | | | |
Merge-request: !8998
|
| |\ \ \ \ \
| | | |/ / /
| | |/| | |
| | | | | | |
Merge-request: !8998
|
|\ \ \ \ \ \
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
486c89dd6a Help: Fix ctest(1) manual links to www.cdash.org
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8998
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When the link was updated to `https` by commit 52eac4573d (Help: Fix
link to cdash.org from CTest manual, 2021-04-21, v3.21.0-rc1~262^2~2)
the markup was incorrectly adjusted to show the link as part of the
"See Also" section. It is meant to be the link destination for links
in prose elsewhere in the manual. Fix the markup and move it to a
clearer location. Also update the link to resolve a redirect.
|
|\ \ \ \ \
| |_|_|/ /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
77a7edb73f Clang-CXX: copy into the dyndep output on success
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Namniav W <namniav@gmail.com>
Merge-request: !8991
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When `clang-scan-deps` fails to scan (e.g., bad source syntax, junk
flags, etc.), the redirection unconditionally updates the file. If this
fails, the `.ddi` file timestamp is updated. If the state is then
reverted (e.g., the command line returns to the state of the last
successful build), the updated file is not useful, but `ninja` does not
rerun because:
- the command hash matches the last successful run
- the output file is newer than its inputs
However, since the `.ddi` file has been updated with bogus contents from
a failed scan, collation fails as the `rules` array is empty (or
incomplete from a batch scan).
If `clang-scan-deps` were properly aware of its output file, it could
use this to not write the file if any inner scan fails. Requested in
https://github.com/llvm/llvm-project/issues/72875.
See: https://github.com/llvm/llvm-project/issues/72875
Fixes: #25429
|
|\ \ \ \ \
| | |_|/ /
| |/| | | |
|
| |\ \ \ \
| | | |/ /
| | |/| | |
|
| | |\ \ \
| | | | | |
| | | | | |
| | | | | | |
Merge-request: !8977
|
| |\ \ \ \ \
| | | |/ / /
| | |/| | |
| | | | | | |
Merge-request: !8977
|
|\ \ \ \ \ \
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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-request: !8990
|
| |\ \ \ \ \
| | |_|_|_|/
| |/| | | |
| | | | | | |
Merge-request: !8984
|
|\ \ \ \ \ \
| | |_|/ / /
| |/| | | /
| |_|_|_|/
|/| | | |
| | | | |
| | | | | |
fe0d03b044 Help: Document that CMP0149 should be set before project()
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8990
|
| |/ / /
| | | |
| | | |
| | | | |
Issue: #25413
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
c53a341f9f Help: Move deprecated properties to dedicated section
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8982
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | / /
| | |/ /
| |/| |
| | | |
| | | | |
3c8d1eef72 Ninja: depfile: keep rules without dependencies
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8984
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
To avoid repeated executions of custom command actions, depfile file
with rules without dependencies must be preserved.
Fixes: #25428
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | | |
Issue: #25421
|
| | | |
| | | |
| | | |
| | | | |
An explicit `FI_PROVIDER=tcp` seems to be needed to pass the test.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Starting with LLVM/Clang 17 we can use C++ modules with compiler
extensions enabled.
|