ed603380f1 Help/dev/review: mention the new `Do: test --tag` flag
67e086d29c Help/dev/review: mention behavior of multiple `Do: test --stage` behavior
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12412
The copy button is convenient for copying code blocks from CMake's
documentation pages, and can be especially helpful when following the
CMake tutorial. It is implemented optionally so that developers without
the extension installed locally can still preview the site.
Fixes: #28046
The version installed from the system in our new Fedora 44 CI base
image has a beta version of ImageMagick installed, which the
FindImageMagick module can't parse.
The name of a generated ui header follows the '#include' directive that
requests it, not the location of the .ui file. That was not written down,
and neither was the optional directory prefix such a directive may carry.
CMake nevertheless has to predict the name at configure time, in order to
register the generated header as a source of the targets in the directory.
The prediction assumes that the include prefix matches the location of the
.ui file relative to CMAKE_CURRENT_SOURCE_DIR, so it is wrong when the .ui
file lies outside of that directory, or lies in a subdirectory but is
included without a prefix.
Document both, along with the resulting symptoms, and point to Qt's
qt_add_ui() command, which takes the include prefix explicitly and
therefore needs no prediction at all.
Issue: #23523
The caller for `GetErrorMessage` _should_ only be calling this method
if there actual errors (i.e., `!errors.empty()`). However, in the
incidental absence of the intended usage, avoid `pop_back` on an empty
string.
Fix the shell script from commit 03e56cd338 (Tests: Add cases covering
`nm` handling for WINDOWS_EXPORT_ALL_SYMBOLS, 2026-07-27) to work on a
Solaris 10 host.
Use a YAML folded-block string literal rather than a quoted literal with
line continuation characters for listing clang-tidy checks. This allows
the values to start on the next line and to be indented, and avoids
needing a closing double-quote and the need to end every line with a
backslash.
e4a37fbf15 Tests/RunCMake/Swift: Add CMP0195 behavior checks
b7a78568c3 CMP0215: Update NEW behavior to require CMP0157/CMP0195 to be NEW
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12407
e4a37fbf15 Tests/RunCMake/Swift: Add CMP0195 behavior checks
b7a78568c3 CMP0215: Update NEW behavior to require CMP0157/CMP0195 to be NEW
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12407
Code extracted from:
https://gitlab.kitware.com/utils/kwsys.git
at commit f87534bd3ddedb6428ca3155852cd8b65cf09f32 (master).
Upstream Shortlog
-----------------
Ben Boeckel (2):
3d74d809 SystemInformation: clean up memory allocated with `SymInitialize`
57792988 SystemInformation: avoid reporting unrelated symbols
Jaswant Panchumarti (1):
f22a3c0f SystemInformation: restore support for symbols without PDB files
Jeremy Nimmer (1):
fbc6ddc9 SystemTools: mark impl functions as `static`
Adding checks to ensure that CMP0195 has the desired effect. If the
Swift compiler is too old and does not include the module triple in the
emitted target info, we won't set `CMAKE_Swift_MODULE_TRIPLE` and end up
with the flat directory structure. In this case, these tests won't have
the expected layout.
Issue: #28021
Update CMP0215 to avoid attempting to iterate through the flags
looking for `-emit-module-path` ins the user-specified flags. We don't
do this anywhere else in the code. The existing implementation didn't
handle correctly parsing the flag so `-I blah/my-emit-module-path/` and
`-Xcc -emit-module-path ...` would both trigger it, result in the
compiler not emitting any module. Furthermore, it didn't include the
user-specified module path as part of the build graph resulting in an
incorrect build graph that would never resolve.
The only two appropriate layouts for the module are either the flat
binary module file with the name `<module-name>.swiftmodule`, or the
nested form with
`<module-name>.swiftmodule/<module-triple>.swiftmodule`. The noted
Swift-Syntax situation passes the explicit `-emit-module-path` to get to
the latter form. This form is automatically emitted by CMake when
CMP0195 is `NEW`, removing the need for the flag. The Swift project
generally recommends the nested directory structure since it gathers all
of the generated interface outputs from the compiler (textual swift
interfaces, swiftdoc, sourceinfo, and the binary swiftmodule file) in a
single place, and since it uses the module triple in the filename,
cleanly allows fat mach-o binaries on Apple platforms.
Fixes: #28021