When processing an indirect dependency of target `A` on target `C` via
an interface library B, `cmComputeTargetDepends::AddTargetDepend` was
not checking for duplicate dependencies, so that if `A` depended on `C`
via multiple interface libraries, the dependency graph built in
cmComputeTargetDepends would have duplicate edges. In a real project
(LLVM libc) this was causing cmake to consume multiple gigabytes of RAM.
Fixes: #27386
Since commit 5420639a8d (cmExecuteProcessCommand: Replace cmsysProcess
with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8) we have not
actually terminated child processes on an `execute_process` timeout.
Similarly for other migrations from cmsysProcess to cmUVProcessChain.
Teach cmUVProcessChain clients that implement timeouts to actually
terminate remaining child processes when the timeout is reached.
Fixes: #27378
Since commit 5420639a8d (cmExecuteProcessCommand: Replace cmsysProcess
with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8) we have not
actually terminated child processes on an `execute_process` timeout.
Similarly for other migrations from cmsysProcess to cmUVProcessChain.
Teach cmUVProcessChain clients that implement timeouts to actually
terminate remaining child processes when the timeout is reached.
Fixes: #27378
ffce9fa39c Utilities: Update hard-coded try_compile results for libarchive 3.8.2
3c91d4427d libarchive: Set build options the way we need for CMake
c0354ddf83 Merge branch 'upstream-LibArchive' into update-libarchive
73b8b633a7 LibArchive 2025-10-15 (7f53fce0)
93620e671b libarchive: Update script to get 3.8.2
5c1ec64d20 Merge branch 'test-libarchive-3.8.2' into update-libarchive
576117b7eb Tests: Update expected Zstandard magic number for libarchive 3.8.2
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11402
When setting the installation prefix at the installation phase
(`cmake --install`) using the `--prefix` option, the GNU special cases
aren't applicable. This also adds a small clarification when to use the
`--prefix` option at the installation phase.
Briefly mentioned also the CMake presets installDir field,
the CPACK_PACKAGING_INSTALL_PREFIX variable, and the $<INSTALL_PREFIX>
generator expression so user has a better overview.
Fixes#27343Fixes#26338
e1f4a35171 Utilities/Scripts: do not use exact tree match
1b03059674 update-common.sh: synchronize with upstream
98e410c4db git-fetch-file: track `update-common.sh`
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11397