Commit Graph

13626 Commits

Author SHA1 Message Date
Marc Chevrier
342b1b8a69 UseSWIG: ensure generated CSharp source code is portable.
Fixes: #25405
2023-11-14 17:10:03 +01:00
Brad King
af2fb376a4 Merge topic 'link-deduplicate-libs'
7b99c42e57 Link step: Enable to configure deduplication of libraries
07501c1678 Link Step: Introduce EntriesProcessing class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8946
2023-11-13 09:51:51 -05:00
Marc Chevrier
7b99c42e57 Link step: Enable to configure deduplication of libraries
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
2023-11-09 19:20:40 +01:00
Brad King
2f370f69f3 Merge topic 'find_cudatoolkit_cufile_name'
b38a8e77cb FindCUDAToolkit: Search for cufile library name being lowercase

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8955
2023-11-09 09:25:27 -05:00
Robert Maynard
b38a8e77cb FindCUDAToolkit: Search for cufile library name being lowercase
Fixes #25398
2023-11-08 10:43:30 -05:00
Robert Maynard
d7642a7d42 CUDA: Support CMAKE_TRY_COMPILE_TARGET_TYPE of STATIC_LIBRARY 2023-11-07 10:48:32 -05:00
Brad King
8872da0fe4 Merge topic 'CMakeDetermineFortranCompiler-typo'
e82a8ab197 CMakeDetermineFortranCompiler: Fix typo in comment (CC -> FC)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8945
2023-11-07 09:08:33 -05:00
Sylwester Arabas
e82a8ab197 CMakeDetermineFortranCompiler: Fix typo in comment (CC -> FC) 2023-11-06 10:57:26 -05:00
Craig Scott
768690ee9a Merge topic 'FetchContent-GHS'
6a81104413 FetchContent: Pass GHS Variables to subbuild

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8930
2023-11-05 18:47:52 -05:00
William Sciaroni
6a81104413 FetchContent: Pass GHS Variables to subbuild
Fixes: #24244
2023-11-05 08:42:27 +11:00
權少
c5388bd320 CMakeFindPackageMode: Link to cmake --find-package documentation 2023-11-03 10:17:38 -04:00
Brad King
3a926cba6c Merge topic 'cuda-vs'
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
2023-11-02 09:35:57 -04:00
Brad King
83a85264b4 Merge topic 'Genex-LINK_LIBRARY-updates'
1b8ceaef85 Genex LINK_LIBRARY: fix some definitions for Apple platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8936
2023-11-02 09:21:10 -04:00
Brad King
d63dbb21f0 Merge topic 'findwxwidgets-lexilla'
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
2023-11-02 09:19:40 -04:00
Brad King
f0feefceb3 Merge branch 'backport-cuda-vs' into cuda-vs 2023-11-01 13:51:51 -04:00
Brad King
79f3f29e50 CUDA: Parse NVCC implicit compile/link information in Visual Studio generators
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
2023-11-01 13:51:21 -04:00
Brad King
27e64a8498 CMakeNVCCParseImplicitInfo: Recognize link.exe line in CUDA VS integration 2023-11-01 13:51:10 -04:00
Brad King
677992d85a CMakeParseImplicitLinkInfo: Log exclusion of MSVC link /implib: flag 2023-11-01 13:11:14 -04:00
Brad King
045399a461 CMakeParseImplicitLinkInfo: Ignore MSVC link /implib: flag
The flag specifies the import library for the linked binary.
It is not a linked library.
2023-11-01 13:07:43 -04:00
Marc Chevrier
1b8ceaef85 Genex LINK_LIBRARY: fix some definitions for Apple platforms
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.
2023-11-01 17:11:37 +01:00
Brad King
0877babe8b Merge topic 'revert-GetPrerequisites-linux-x86'
139df0bc2f GetPrerequisites: Revert "Ignore relative paths printed by ldd"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8933
2023-11-01 09:40:01 -04:00
Brad King
3f7419a124 Merge topic 'revert-GetPrerequisites-linux-x86' into release-3.28
139df0bc2f GetPrerequisites: Revert "Ignore relative paths printed by ldd"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8933
2023-11-01 09:39:59 -04:00
Maarten Bent
90b77e3783 FindwxWidgets: link with lexilla
In wxWidgets 3.3 (development version) the Scintilla library has been
split into two components: Scintilla and Lexilla.
2023-11-01 08:20:56 -04:00
Maarten Bent
f8831a0c9e FindwxWidgets: Convert include and library paths to cmake-style
This fixes DBG_MSG errors when a path uses \ instead of /.
2023-11-01 08:20:46 -04:00
Maarten Bent
d76242ed9f FindwxWidgets: Prevent searching libraries multiple times
If the user has specified common libraries, remove the duplicates.
2023-11-01 08:20:46 -04:00
Maarten Bent
55072adf16 FindwxWidgets: Improve linking with scintilla
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
2023-11-01 08:20:46 -04:00
Maarten Bent
c5e3d12213 FindwxWidgets: Move wx-config specific checks inside UNIX find-style 2023-11-01 08:20:25 -04:00
Maarten Bent
625023cace FindwxWidgets: Include hotfix number
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
2023-11-01 08:20:13 -04:00
Maarten Bent
35d90784e9 FindwxWidgets: use IN_LIST 2023-11-01 08:20:07 -04:00
Brad King
139df0bc2f GetPrerequisites: Revert "Ignore relative paths printed by ldd"
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
2023-10-31 14:15:29 -04:00
Brad King
9c106e3964 Merge topic 'UseEcos-doc'
0b95d0ca0f UseEcos: Improve documentation formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8931
2023-10-31 10:51:06 -04:00
權少
0b95d0ca0f UseEcos: Improve documentation formatting 2023-10-31 09:16:42 -04:00
Brad King
654bcace92 Merge topic 'FindFreeType-config-windows'
0117446c97 FindFreeType: also set `FREETYPE_FOUND`
2cf2d4f7df FindFreeType: insert Freetype's location to the start
1cfc708eea FindFreeType: handle config-specific `LOCATION` settings as well
ae9890cd36 FindFreeType: consider `IMPLIB`-using platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8920
2023-10-31 09:10:43 -04:00
Brad King
d33ea3dff5 Merge topic 'FindFreeType-config-windows' into release-3.28
0117446c97 FindFreeType: also set `FREETYPE_FOUND`
2cf2d4f7df FindFreeType: insert Freetype's location to the start
1cfc708eea FindFreeType: handle config-specific `LOCATION` settings as well
ae9890cd36 FindFreeType: consider `IMPLIB`-using platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8920
2023-10-31 09:10:42 -04:00
Brad King
4ca40374d6 Merge topic 'FindOpenThreads-doc'
bc1f0f6e0f FindOpenThreads: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8929
2023-10-30 14:22:01 -04:00
Ben Boeckel
0117446c97 FindFreeType: also set FREETYPE_FOUND
Fixes: #25371
2023-10-30 10:51:10 -04:00
權少
bc1f0f6e0f FindOpenThreads: Update documentation 2023-10-30 08:53:24 -04:00
Brad King
b96c72a8c9 Merge topic 'FindProtobuf-restore-protoc-include-path'
d7f7bf08cd FindProtobuf: Fix protoc include path regression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matias Lopez <mlopez203@bloomberg.net>
Merge-request: !8922
2023-10-30 08:20:17 -04:00
Ben Boeckel
2cf2d4f7df FindFreeType: insert Freetype's location to the start
This should help static builds satisfy dependencies by listing
transitive libraries after freetype's.
2023-10-28 14:59:07 -04:00
Ben Boeckel
1cfc708eea FindFreeType: handle config-specific LOCATION settings as well
`vcpkg` builds release and debug variants on platforms other than
Windows (which uses the `IMPLIB` properties).
2023-10-28 14:59:07 -04:00
André Apitzsch
d7f7bf08cd FindProtobuf: Fix protoc include path regression
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
2023-10-27 11:41:28 -04:00
Brad King
0ca2253087 Merge topic 'fix-Wstrict-prototypes'
81022213f6 Modules: Fix clang -Wstrict-prototypes warnings
47c3334203 Source: Fix clang -Wstrict-prototypes warnings
264dcae5e4 Tests: Fix clang -Wstrict-prototypes warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8916
2023-10-27 08:58:43 -04:00
Ben Boeckel
ae9890cd36 FindFreeType: consider IMPLIB-using platforms
See: https://github.com/microsoft/vcpkg/issues/34725
2023-10-26 12:44:29 -04:00
Sean McBride
81022213f6 Modules: Fix clang -Wstrict-prototypes warnings 2023-10-26 09:20:45 -04:00
Marc Chevrier
dc013be1fb Link Step: linker depfile configuration: bug fix
Follow up commit 538ff514b5 (Link Step: use the correct linker
for depfile handling, 2023-10-16)
2023-10-25 16:37:30 +02:00
Brad King
1c15cfe568 Merge topic 'compute-compiler-linker'
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
2023-10-24 09:41:23 -04:00
Marc Chevrier
538ff514b5 Link Step: use the correct linker for depfile handling
Follow up commit 375e6fdbbe (Link step: use linker dependency linker
file, 2023-04-19, v3.27.0-rc1~126^2).
2023-10-24 08:36:43 -04:00
Marc Chevrier
c26c6ac488 Link Step: compute effective linker used by the compiler
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
2023-10-24 08:34:50 -04:00
Brad King
44c144391d Merge topic 'clang-ansi-color'
74b5fae52d Clang: Use -fno-ansi-escape-codes for color diagnostics on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8900
2023-10-23 12:06:34 -04:00
Cristian Adam
74b5fae52d Clang: Use -fno-ansi-escape-codes for color diagnostics on Windows
-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
2023-10-23 09:41:29 -04:00