Commit Graph

13626 Commits

Author SHA1 Message Date
Martin Köhler 6ce94ae0b7 Find{BLAS,LAPACK}: Fix OpenBLAS ILP64 support with MSYS2 packages
Typically, ILP64 BLAS libraries are suffixed with `64`, but the MSYS2
package provides the ILP64 version of OpenBLAS with a `_64` suffix.
2023-11-13 09:58:26 -05: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