Since commit a872844908 (cmake-gui: Handle relative paths in the build
directory text input, 2024-04-24, v3.30.0-rc1~5^2), `cmake-gui` gave an
incidental error message even when a valid build directory was being
passed. Fix this by checking for a non-empty path before using it.
Fixes: #26744
Since commit 774fcbe49c (CTest: Base command line mode on top of
scripting commands, 2024-10-05, v4.0.0-rc1~653^2) we drive dashboard
client steps through `cmCTestHandlerCommand::ExecuteHandlerCommand`
instead of calling `ProcessHandler` directly. This requires the
`BuildDirectory` to be known to establish a work directory.
Fixes: #26743
Co-authored-by: Brad King <brad.king@kitware.com>
The change in commit 79ca546ed2 (Add generator expression support to
PDB_OUTPUT_DIRECTORY target property, 2018-05-17, v3.12.0-rc1~65^2)
added genex support for `COMPILE_PDB_OUTPUT_DIRECTORY` too, but it
was not documented.
Fixes: #26745
Modify how CMake handles required components of a CPS transitive
dependency to not pass them as COMPONENTS if a CMake-script package is
found as the resolved dependency. This is necessary as many CMake-script
package description files do not treat component requests as target
requests (which, in CPS-land, they effectively are), but do implement
logic to mark themselves 'not found' if requested components are
missing. As a result, passing in the required targets as required
components is likely to cause the dependency to be spuriously not found
if it is only available via a CMake-script package configuration file.
Fix this by introducing a new 'required targets' concept, and by passing
CPS component requirements as both required targets and optional
components. The latter serves as a hint for packages that might provide
only a subset of themselves. The former is used to post-validate a
CMake-script package, or is folded on-the-fly into required components
when considering CPS packages.
Note that this functionality is not exposed to the user at this time,
and is only used when resolving transitive dependencies for a CPS
package.
d168cd397f pre-commit: version bump `typos` hook to 1.30 + add some more ignore IDs
4d99e2b702 Help(FindJasper): Fix the spelling typo in the variable documentation
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10417
5a36d0c9e7 Ninja: Fix regression with a large number of subdirectories
a30cf4a66a Tests/RunCMake/Configure: Split ninja-specific RerunCMake case
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10420
5a36d0c9e7 Ninja: Fix regression with a large number of subdirectories
a30cf4a66a Tests/RunCMake/Configure: Split ninja-specific RerunCMake case
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10420
Since commit 8d83487e60 (CONTRIBUTORS: Factor contributors list out of
license file, 2025-03-02) the copyright line has reStructuredText
markup. Filter it out of the copyright line printed by `bootstrap`.
- Module functions listed using the usual RST docs blocks
- The `FIXUP_QT4_BUNDLE` typo fixed to `fixup_qt4_executable`
- Typos and some minor readability improvements added
- Mention of usage requirements (CMake 2.6, BundleUtilities) at the
beginning removed
When cross-compiling CUDA with Clang, `CMAKE_CUDA_COMPILER_TARGET` is
typically set to the target triple. Use it to select the CUDA toolkit
target directory.
Since commit 6636693134 (FindCUDAToolkit: Re-unify with
Internal/CUDAToolkit, 2020-06-11, v3.18.0-rc2~6^2~7) the table is
duplicated.
Update the CUDA target directory table for Clang to account for changes
to the equivalent table in FindCUDAToolkit:
* commit bcdd486bf7 (CUDA: Enable support on QNX, 2020-10-30,
v3.19.0-rc3~8^2~1)
* commit 743d4181b4 (FindCUDAToolkit: Support cross-compilation to
sbsa-linux, 2023-01-11, v3.26.0-rc1~118^2)
Since commit f50fb77a4f (Ninja: Regenerate when test or install scripts
are missing, 2024-10-29, v4.0.0-rc1~516^2) the list of paths we pass to
`ninja -t restat` scales with the number of project subdirectories.
Run it in blocks to avoid "command line too long" errors, particularly
on Windows.
Fixes: #26738
Split the test case from commit f50fb77a4f (Ninja: Regenerate when test
or install scripts are missing, 2024-10-29, v4.0.0-rc1~516^2) into a
dedicated case.
In commit 2f852580fb (CONTRIBUTORS: Improve formatting of
per-contributor hyperlinks, 2025-03-02) we accidentally added `mailto:`
on a few URLs that should use `https://` instead.
Reported-by: Rolf Eike Beer <eb@emlix.com>