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
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 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
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.
The "In makefile terms" explanation is left from very early days of
CMake to help developers migrating from hand-written makefiles.
These days it is often misinterpreted, particularly in the context
of multiple `add_custom_command` calls, to mean that we generate a
single Makefile containing rules for all custom commands. This
leads to an incorrect mental model of the expressed build system.
The actual generated build system may spread the rules across multiple
targets that do not see the each other's file-level rules, which makes
target-level dependencies important too.
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
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
Avoid hard-coding a warning-as-error flag now that CMake offers a
first class abstraction for that.
Also mention some relevant generator expressions which can be used
to provide even more specific targeting with language-specific flags.
Fixes: #24200
Revert commit be848a71b0 (MSVC: Teach find_library to consider the
'libfoo.a' naming convention, 2022-09-19, v3.25.0-rc1~111^2). When
targeting the MSVC ABI, this causes GNU-ABI libraries to be found in
cases they were not previously, and broke existing builds. Revert the
change pending further discussion on how to handle the motivating use
case.
Issue: #23975Fixes: #24168
eb77695e25 Help: clean up some minor typos
c36910476a Help: remove links from pages to themselves
391c53a851 Help/prop_tgt/LINK_OPTIONS: fix `:genex:` reference
de4909ea16 Help: fix some minor markup errors
c42c77b020 Help/CMAKE_GLOBAL_AUTORCC_TARGET_NAME: fix link reference
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7940