| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Fixes: #24618
|
|
|
|
| |
It is now subsumed by the UUID setting completely.
|
|
|
|
|
|
|
|
| |
When the build system re-runs `cmake` to regenerate itself, preserve the
`--compile-no-warning-as-error` option if it was used when `cmake` was
last explicitly invoked. Normally such settings are preserved in the
cache, but the purpose of this option is to be beyond the reach of
project code.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
d38779df2a ci: Enable RunCMake.CXXModules collation cases in clang jobs
69e4525241 Tests/CXXModules: add example for private modules between targets
18f87c87f8 cmCxxModuleMapper: track whether modules are private or not
56f7d6f827 cmCxxModuleMapper: add a structure to represent BMI locations
8207a3a266 cmDyndepCollation: add a query for visibility of an object's modules
e8efcbec8c iwyu: ignore `std::remove_reference` requirements
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8476
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows collation to give a useful error message when it finds usage
of a private module rather than collation just not informing the
compilation and the compiler erroring out about not being able to import
unknown modules (which exists, but it was not told about due to
visibility).
Fixes: #24652
|
|/
|
|
|
|
|
|
| |
De-duplicate code check rule generation in Ninja and Makefile generators
by moving their implementation to `cmCommonTargetGenerator`.
Previously Ninja was generating code check rules per language.
It was changed to generate code check rules for each source file.
|
|
|
|
|
|
|
| |
Since commit b0a6161190 (Fortran: Add Fortran_PREPROCESS property,
2020-04-24, v3.18.0-rc1~116^2~3), if `Fortran_PREPROCESS` is `OFF`, the
Ninja generator does not properly detect dependencies on sources loaded
via the Fortran INCLUDE directive. Fix this and add a test.
|
|
|
|
|
| |
The value represents the source file to be scanned.
It is not always preprocessor output.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
426f3295f6 Ninja: Use more efficient data structures to collect outputs
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8371
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
a67cd9c39c Ninja: Restore slash style for MinGW tools when extra languages are enabled
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8368
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit f3ca199c9b (cmGlobalNinjaGenerator: Factor out GNU-like
command-line detection on Windows, 2023-03-18, v3.26.1~2^2~6), we
accidentally "unrecognize" MinGW tools on Windows if a language other
than C or CXX is enabled. This causes the wrong slash style to be
generated in paths in `build.ninja`.
Fixes: #24642
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1b7c26da49 Ninja: Wrap rules using '>' shell redirection with 'cmd /C' on Windows
ffd8537acf Clang: Record Clang 16.0 C++ modules flags only for GNU-like front-end
6013227230 cmGlobalNinjaGenerator: Use forward slashes in clang modmap format on Windows
d9d74b5e8a cmDyndepCollation: Drop outdated mentions of CXX_MODULE_INTERNAL_PARTITIONS
edab56d29a cmLocalNinjaGenerator: De-duplicate condition for using 'cmd /C' on Windows
8ebe3f92b3 cmGlobalNinjaGenerator: Detect GNU-like command-line for dyndep collator
f3ca199c9b cmGlobalNinjaGenerator: Factor out GNU-like command-line detection on Windows
f79817fcf0 cmCxxModuleMapper: Use value semantics in path conversion callback
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8346
|
| |
| |
| |
| | |
Issue: #24611
|
| |
| |
| |
| |
| | |
This will help the collator choose flags and path styles for modmap
files.
|
| | |
|
| |
| |
| |
| |
| |
| | |
The call site already owns a path it doesn't need when the callback
returns. Hand ownership to the callback so it can optionally mutate
the path without necessarily allocating.
|
|\ \
| |/
| |
| |
| |
| |
| | |
685108a582 Ninja: Revert "Optimize target depends closure" due to performance regression
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8315
|
| |
| |
| |
| |
| |
| | |
Revert commit 1f16af01f4 (cmGlobalNinjaGenerator: Optimize target
depends closure, 2023-01-17, v3.26.0-rc1~74^2). It regressed generation
time for some projects. Revert it pending further investigation.
|
| |
| |
| |
| | |
Fixes: #24566
|
| |
| |
| |
| | |
Fixes: #24123
|
|/
|
|
|
|
|
|
| |
The `DisableCleandead` member was added by commit c5011399c5 (Ninja:
Avoid cleandead with dyndep bindings for Fortran module dependencies,
2020-11-10, v3.19.0~15^2) but has not been used since commit 1144d25094
(Merge branch 'backport-ninja-no-cleandead' into ninja-no-cleandead,
2020-12-14, v3.19.2~4^2). Remove it.
|
|
|
|
|
| |
Now that only targets expected to have information are listed, all
`<LANG>Modules.json` files should exist.
|
|
|
|
|
| |
See: https://gitlab.kitware.com/cmake/cmake/-/issues/18355#note_1296721
See: https://github.com/ninja-build/ninja/pull/1937
|
|
|
|
|
|
|
|
|
|
| |
Rewrite AppendTargetDependsClosure method to only cache local target
outputs, not including outputs from dependencies.
Caching all recursive target outputs causes much time to be spent
merging sets that have many elements in common (from targets that are
included through multiple dependency paths).
It is faster to always iterate over all dependencies instead.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
232467eb1c clang-tidy: add <LANG>_CLANG_TIDY_EXPORT_FIXES_DIR property
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7982
|
| |
| |
| |
| | |
Fixes: #21362
|
|/ |
|
| |
|
| |
|
|
|
|
| |
This will simplify adding support to other generators.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before, a documentation entry was in/out parameter.
Now it's a normal return value.
This also makes possible to eliminate defaulted default ctor
for `cmDocumentationEntry` for C++ 11.
Also, simplify `cmake::AppendGlobalGeneratorsDocumentation()`.
|
|
|
|
|
|
|
|
| |
Also write for all configurations from multi-config generators.
This field was added in the Clang 5 documentation and not present in the
Clang 4 documentation (sometime between Dec 2016 and Mar 2017 according
to `web.archive.org`).
|
|\
| |
| |
| |
| |
| |
| |
| | |
a12050666c Tests: Add case for ninja with non-ascii chars
02a04dd9c7 Ninja: Restore support for non-ascii paths on Windows with ninja<=1.10
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7833
|
| |
| |
| |
| |
| |
| |
| |
| | |
Revert commit bbdb000c55 (GlobalNinjaGenerator: enlarge file stream
buffer, 2022-01-25, v3.23.0-rc1~68^2). Somehow `rdbuf()->pubsetbuf()`
is resetting our imbued locale and `cm_codecvt` that handles encoding.
Fixes: #24089
|
| |
| |
| |
| |
| |
| | |
THis is a set of flags stored in a response file which informs the
compiler about where to place output BMI files as well as find the
required BMIs.
|
| |
| |
| |
| | |
MSVC needs the transitive closure of module usage to compile.
|
| |
| |
| |
| |
| | |
Private source files are not installed or made available, so they must
not be required by public module interface units at all.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Rename the booleans 's_ErrorOccured' and 's_FatalErrorOccured' to
's_ErrorOccurred' and 's_FatalErrorOccurred', respectively.
Rename the getters and setters to 'Get[Fatal]ErrorOccurred' and
'Set[Fatal]ErrorOccurred', and fix all uses across the codebase.
|
| | |
|
| |
| |
| |
| |
| |
| | |
Not all filesystems support `:` in the name, so replace it with `-`. As
`-` is not otherwise allowed in module names anyways, there is no risk
of conflict.
|