| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
4165eb3d0b Ninja: Emit swiftmodule from executable with exports
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8048
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch adds support for tracking the swiftmodules for executables
exporting symbols.
This fixes a bug in the earlier implementation around emitting the
swiftmodule. Previously, the code would use
`CMAKE_EXE_EXPORTS_Swift_FLAG` to inject the `-emit-module`, and module
path information into the `CMAKE_Swift_LINK_EXECUTABLE` rule. Because
Swift skips the build step and only runs during the link phase, these
flags were injected in `cmNinjaNormalTargetGenerator::ComputeLinkCmd`
instead of `cmLocalGenerator::GetTargetFlags` where it is done normally.
Unfortunately, injecting in `ComputeLinkCmd` didn't do anything because
we have a `linkCmd` so `ComputeLinkCmd` exits early, before the
EXE_EXPORT flags get added to the link command.
Instead of playing with that flag, CMake checks
`CMAKE_Swift_LINK_EXECUTABLE_WITH_EXPORTS` and uses that as the link
rule if it exists and falls back on `CMAKE_Swift_LINK_EXECUTABLE`. I've
defined that variable in terms of `CMAKE_Swift_LINK_EXECUTABLE` with the
necessary additional flags for emitting the swift module instead. This
has the same end effect as the desired behavior, but simplifies things a
bit.
Since we're generating the swiftmodule for executables with exports,
I've also updated the dependency graph to include the swiftmodule as an
output in the build dependency graph if the executable has exports.
Tests updated:
- RunCMake/NoWorkToDo:
Ensure that the build graph does not result in unnecessary rebuilds
with exporting executables.
- SwiftOnly:
Ensure that we can consume functions defined in the executable by a
library getting linked into said executable.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
5f0c5ec49b cmake: Print configure/generate time
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8083
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
f6ed2585e5 Modules: Record system inspection steps in the configure log
0f688386ea Modules: Drop redundant check logging to CMakeOutput.log and CMakeError.log
ecc26f98eb UsewxWidgets: Remove leftover debugging code
874c2e1198 FindQt4: Drop outdated advice to look at CMakeError.log on failure
a80465bcad GHS: Drop debugging message from log
9199449687 CompileFeatures: Warn explicitly when feature detection binary is not found
24ccc8c3c9 CompilerId: Restore logging of failed identifications
95976514f6 Tests: Avoid using CMake{Output,Error}.log files
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8089
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Replace old-style `file(APPEND .../CMake{Output,Error}.log)` logging
with calls to `message(CONFIGURE_LOG)` to record the steps in the
`CMakeConfigureLog.yaml` configure log instead.
Issue: #23200
|
| | | |
| | | |
| | | |
| | | | |
These log files will soon go away, so avoid using them in tests.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
a525f5f1bf cmGeneratorTarget: Cache full name components
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8033
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Cache the result of cmGeneratorTarget::GetFullNameInternalComponents
to improve performance.
|
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`. Use `clang-format` version 15.
* If you reached this commit for a line in `git blame`, re-run the blame
operation starting at the parent of this commit to see older history
for the content.
* See the parent commit for instructions to rebase a change across this
style transition commit.
Fixes: #24315
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
a78cba5197 message: Add CONFIGURE_LOG mode to record a message in the configure log
645671d36f Help: Document configure log behavior in try_compile and try_run
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8080
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
Provide a replacement for `file(APPEND .../CMake{Output,Error}.log)`
that records messages in the configure log.
Issue: #23200
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
Specify the clang-format version in the attribute value instead of its
name.
Issue: #24315
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
48292c8624 try_compile: Record stack of in-progess checks in configure log
d4bf7d80c6 try_compile: Add a NO_LOG option to skip recording in the configure log
9d9e8450a8 try_compile: Add optional LOG_DESCRIPTION to record in configure log
65ed5c2ca8 try_compile: Report underlying error when COPY_FILE fails
0418efb7ad Tests: Add explicit ConfigureLog case to RunCMake.try_compile
189557bd74 cmake: Make entire in-progress check stack available internally
96ce3581ab Help: Clarify backtrace order in cmake-configure-log(7)
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8072
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Many `try_compile` and `try_run` calls occur inside check modules
between `message(CHECK_START)` and `message(CHECK_{PASS,FAIL})` pairs.
Add a field to configure log entries to report this context.
Issue: #23200
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Issue: #23200
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
0661de58d8 ctest(1): Add CTEST_NO_TESTS_ACTION env var
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8044
|
| | |/
| |/|
| | |
| | |
| | | |
This environment variable provides a default value for the
--no-tests=<action> command line argument.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
c1170b5602 cmake: Add -E copy_directory_if_different
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8059
|
| |/ /
| | |
| | |
| | | |
Fixes #21584
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
5cd5c8cac5 Merge branch 'backport-try_run-cross-compile' into try_run-cross-compile
0191e8b512 try_run: Do not require unrequested stdout/stderr when cross-compiling
2f85ec0a37 try_run: Avoid crash in keyword-dispatched signature when cross-compiling
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8066
|
| |\ \ \
| | |/ /
| |/| | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since commit aa9220d3a0 (try_compile: Add keyword-dispatched signature,
2022-09-02, v3.25.0-rc1~178^2) the `DoNotRunExecutable` code path may be
reached with no single source-file argument. Do not assume it exists.
Fixes: #24295
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
607bccb4ef Restore implicit include directory extraction for adaptive relative paths
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8067
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Update the logic added by commit ef41d49812 (Fix implicit include
directory extraction for adaptive relative paths, 2019-04-08,
v3.14.2~5^2) to account for the new `try_compile` work directory used
for the ABI check since commit 2edf0fc6d7 (Modules: Use new
keyword-dispatched try_compile signature, 2022-09-13,
v3.25.0-rc1~144^2).
Paths relative to the work directory will now have one more `../`
in them, so update the test data to match.
Fixes: #24279
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
80fc564dd7 try_compile: Restore COPY_FILE with CMAKE_TRY_COMPILE_CONFIGURATION
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !7948
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | | |
Provide clients with a way to get a known set of configure log event
versions.
Issue: #23200
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
5dc17d0a7a gitlab-ci: update to new Clang CI image for C++ modules
e84fcbcb0b cxxmodules: support new round of Clang patches
5e35913382 ci: update `llvm` snapshot to newest patch revisions
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8019
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These patches now support the `-MF` output, so remove the `none` support
added just for the old patchset which did not use it.
Also update the flag name to `-fmodule-output=`.
Due to the new Clang module mapper flag, use a new experimental support
UUID as well.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In order to support multiple log versions without buffering the
entire log, move versioning to the level of individual events.
Multiple versions of an event may then be logged consecutively.
Issue: #23200
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add configure log events for `try_compile` and `try_run` results.
Issue: #23200
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add infrastructure for a "configure log". Use YAML for a balance of
machine- and human-readability to records details of configure-time
events in a structured format.
Teach the RunCMake test framework to support matching the configure log.
Issue: #23200
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
Do not assume all the component names start in "std".
Co-authored-by: Brad King <brad.king@kitware.com>
|
| | |
| | |
| | |
| | | |
Fixes: #24186
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
efae1ab68b file(MAKE_DIRECTORY): Provide a more descriptive error message
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8003
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously, MAKE_DIRECTORY would print `problem creating directory: {}`,
which was very unhelpful for debugging. Extend the message with the
OS error string.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
5ce0f03cce VS: Add a variable to report the Visual Studio version build number
55529c5e93 Help: Factor out VS Build Number components document fragment
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8000
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
VS 2017 and above come with a Visual Studio Installer tool that tracks
four-component Visual Studio version numbers. We already detect the VS
version number because it is needed to make some generation decisions.
Provide the number to projects in a `CMAKE_VS_VERSION_BUILD_NUMBER`
variable so they can use it similarly.
Fixes: #24230
|
|/ / /
| | |
| | |
| | |
| | | |
The `ConfigModeNotFound` case does not expect to find a Boost.
Avoid accidentally finding one on the host.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
c445dd2797 VS: Add Xaml and Resx files to .Net SDK style projects
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7991
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Improve parity with classic MSBuild projects.
Fixes: #23415
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | |
| | | |
| | | |
| | | | |
Fixes #24220
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
2c558cfd1b gitlab-ci: add CI jobs for Clang with C++20 modules
abd42e9cfc ci: add a Docker container for clang support of C++20 modules
51093f3002 Clang-FindBinUtils: also find `clang-scan-deps`
0b333de923 ci: add C++ module rules file for Clang
21b9fb1e8c cmCxxModuleMapper: support the `clang` module map format
9c66224668 cmNinjaTargetGenerator: skip setting `depfile` for `none` scantypes
9123a0991f cmNinjaTargetGenerator: use `.clear()` to empty out some strings
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Merge-request: !7978
|
| | | | | |
|
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These were excluded with the XL and XLClang compilers because one
such compiler in nightly testing hard-codes `--enable-new-dtags`.
Add a way to disable the cases via local configuration instead so that
we can run them on the rest of the XL compilers.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
136622a2b2 file(GET_RUNTIME_DEPENDENCIES): propagate transitive parent's rpath
4aa3149c67 Tests: Simplify RunCMake.file-GET_RUNTIME_DEPENDENCIES case cleaning
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7968
|