Some platforms, Apple or Windows for instance, do not require to duplicate
static libraries to resolve mutual dependencies. Moreover, Xcode version 15
emits a warning if a library is duplicated.
On Windows, enable a better control of libraries order.
Fixes: #20722, #25297
f0feefceb3 Merge branch 'backport-cuda-vs' into cuda-vs
79f3f29e50 CUDA: Parse NVCC implicit compile/link information in Visual Studio generators
27e64a8498 CMakeNVCCParseImplicitInfo: Recognize link.exe line in CUDA VS integration
677992d85a CMakeParseImplicitLinkInfo: Log exclusion of MSVC link /implib: flag
045399a461 CMakeParseImplicitLinkInfo: Ignore MSVC link /implib: flag
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !8938
90b77e3783 FindwxWidgets: link with lexilla
f8831a0c9e FindwxWidgets: Convert include and library paths to cmake-style
d76242ed9f FindwxWidgets: Prevent searching libraries multiple times
55072adf16 FindwxWidgets: Improve linking with scintilla
c5e3d12213 FindwxWidgets: Move wx-config specific checks inside UNIX find-style
625023cace FindwxWidgets: Include hotfix number
35d90784e9 FindwxWidgets: use IN_LIST
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8927
Refactoring in commit deff0e638d (CUDA: Factor out helper to parse NVCC
implicit compiler and linker flags, 2023-09-15, v3.28.0-rc1~63^2~6)
incorrectly dropped detection of the default CUDA architecture and
the CUDA toolkit include directories from the code path used for
Visual Studio generators. However, CMakeNVCCParseImplicitInfo is
now general enough that we no longer need a VS-specific code path.
Fixes: #25378
Some declarations were inconsistent.
For example, "LINKER:-force_load <LIBRARY>" was translated to
"-Xlinker -force_load /path/to/library". The correct translation
should be "-Xlinker -force_load -Xlinker /path/to/library" because
the library is an argument to the -force_load option.
Treat scintilla like any other common lib. Only add it when the stc
component is specified. Add imm32 to the list of required libraries
when stc is used.
Fixes: #23519
Add it to the wxWidgets_VERSION_STRING when it is not 0.
Include hotfix numbers when searching for installation paths,
for example wxWidgets-3.2.2.1.
Fixes: #24823
Revert commit cf2ad9995a (GetPrerequisites: Ignore relative paths
printed by ldd, 2023-02-20, v3.27.0-rc1~459^2) because it regressed
existing use cases. We will need to find another solution to the use
case motivating the change.
Fixes: #25372
This was accidentally broken by commit 31adc11030 (FindProtobuf: Add
PLUGIN_OPTIONS and PROTOC_OPTIONS to protobuf_generate, 2023-06-29,
v3.28.0-rc1~409^2~2).
Fixes: #25368
538ff514b5 Link Step: use the correct linker for depfile handling
c26c6ac488 Link Step: compute effective linker used by the compiler
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8885
Extract the effective linker during the computation of implicit artifacts
delivered by the compiler to the linker.
Define various variables describing the linker:
* CMAKE_<LANG>_COMPILER_LINKER
* CMAKE_<LANG>_COMPILER_LINKER_VERSION
* CMAKE_<LANG>_COMPILER_LINKER_ID
* CMAKE_<LANG>_COMPILER_LINKER_FRONTEND_VARIANT
This is complementary to feature introduced by commit 96a953b1ed
(Add options to specify linker tool, 2023-09-27).
Fixes: #17596, #18209, #25344
-fno-ansi-escape-codes is used only on Windows by Clang.
Without the flag color diagnostics are displayed only if clang.exe
is executed directly. Build tools like ninja and mingw32-make
will not display colored diagnostics.
Using -fno-ansi-escape-codes will make the build tools pass
the colored diagnostics to the calling application e.g IDE.
Fixes: #24235