7abd3137b7 Linking: Optionally reorder direct dependencies from LINK_LIBRARIES
9285a9dc9a cmComputeLinkDepends: Add final dependency ordering to debug output
f792db4ca2 cmComputeLinkDepends: Add undocumented per-target debug property
80b469a51d cmComputeLinkDepends: Factor out string literals as named constants
3bd73fcc76 cmComputeLinkDepends: Modernize member initialization
8db69c767b cmComputeLinkDepends: Remove redundant member
dccdd030cd cmComputeLinkDepends: Replace depender index sentinel value with cm::optional
6c9d8dc243 cmComputeLinkDepends: Replace group index sentinel value with cm::optional
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9835
515bcd77e5 ci: add job testing cuda12.2 with nvcc using clang 18 as host compiler
33406182a5 Tests: Honor CUDAFLAGS in all CUDA tests
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9850
6b7e634b7c Help: Explicitly state include_external_msproject is only for VS generators
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: martingalvan-volue <martin.galvan@volue.com>
Merge-request: !9846
The problem motivating commit 73d0d4e4b5 (BinUtils: Avoid llvm-mt
because it is missing 'mt' features we use, 2022-03-08, v3.23.0-rc3~7^2)
has been fixed in `llvm-mt` since LLVM/Clang 14.0.2.
Fixes: #26319
Issue: #23305
e3895f4a8b Linking: Preserve nested LINKER: prefixes as written
4185dfbe1b Tests/LINK_OPTIONS: extract common code in test (NFC)
54381b5a81 Linking: extract wrapping linker options to a lambda (NFC)
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9823
Traditionally CMake generates link lines by starting with the direct
link dependencies specified by `LINK_LIBRARIES` in their original order
and then appending indirect dependencies that the direct dependencies
do not express. This gives projects control over ordering among
independent entries, which can be important when intermixing flags
and libraries, or when multiple libraries provide the same symbol.
However, it may also result in inefficient link lines.
Add support for an alternative strategy that can reorder direct link
dependencies to produce more efficient link lines. This is useful
for projects that cannot easily specify their targets' direct
dependencies in an order that satisfies indirect dependencies.
Add a `CMAKE_LINK_LIBRARIES_STRATEGY` variable and corresponding
`LINK_LIBRARIES_STRATEGY` target property to select a strategy.
Fixes: #26271
4e62bc943c ctest: Verify TLS server certificate by default
8e92ee34f6 file(DOWNLOAD/UPLOAD): Verify TLS server certificate by default
dcaea54898 cmCTestCurl: Clarify names and logic using optional<bool>
03d37ae3ff cmFileCommand: Clarify names and logic using optional<bool>
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9843
If the connection fails in a way that might be a certificate error, and
verification was enabled by the new default, mention environment
variable `CMAKE_TLS_VERIFY` in the diagnostic to help users that were
relying on the old behavior turn off server certificate verification in
their environment.
Fixes: #23608
3b4d0df670 NVCC: Detect host compiler id and version
38cacd83a5 Tests: Migrate compiler id tests to RunCMake infrastructure
37173f1ccc Tests/RunCMake: Generalize construction of arguments for languages to test
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9841
c5f7e3bc3b Merge branch 'backport-project-vars' into project-vars
86ad7cc886 project: Only define non-cache vars if already defined
4c152752da Help: State valid scopes for using proj_SOURCE_DIR and proj_BINARY_DIR
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9820
86ad7cc886 project: Only define non-cache vars if already defined
4c152752da Help: State valid scopes for using proj_SOURCE_DIR and proj_BINARY_DIR
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9820
Previously LINKER:,-Xlinker and -Wl, options nested inside LINKER:
prefixes would be transformed to separate prefixed options.
This is confusing and undocumented behavior, instead preserve these
as written.
Fixes: #26298
Since commit 5b6ca9fa3f (FindBZip2: add support for debug libraries,
2012-01-10, v2.8.8~267^2) the `find_library` commands store results in
per-config library variables. Document them.