Commit Graph

13716 Commits

Author SHA1 Message Date
權少 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
Brad King 3de46de11a Merge topic 'ExternalProject-ghs'
9bac4bb88d ExternalProject: Fix INSTALL step for GHS generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8879
2023-10-17 10:20:31 -04:00
Brad King bb9a91c500 Merge topic 'adsp-asm'
0e828b92f1 ADSP: Add support for assembler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8869
2023-10-17 10:17:01 -04:00
Brad King 0ef68c1c05 Merge topic 'remove-comeau'
957670683d Comeau: Remove undocumented support for this compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8881
2023-10-17 10:01:56 -04:00
William Sciaroni 9bac4bb88d ExternalProject: Fix INSTALL step for GHS generator
Fixes: #25267
2023-10-16 12:56:08 -05:00
scivision 957670683d Comeau: Remove undocumented support for this compiler
This appears to be from CMake 2.8 era and was undocumented.
Comeau last release 2008.
2023-10-16 11:11:44 -04:00
Brad King fceeaff949 Merge topic 'linker-user-selection'
96a953b1ed Add options to specify linker tool

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8861
2023-10-16 10:39:51 -04:00
مهدي شينون (Mehdi Chinoune) 44faa3773c PGI/NVHPC: Remove -Mipa compiler option for 23.3+
`-Mipa` was removed since 23.3.  The compiler warns about it:

    nvfortran-Warning-The option -Mipa has been deprecated and is ignored.

See: https://docs.nvidia.com/hpc-sdk/archive/23.9/hpc-sdk-release-notes/index.html#deprecations
2023-10-13 14:04:09 -04:00
Marc Chevrier 96a953b1ed Add options to specify linker tool
Offer the capability, through variable `CMAKE_LINKER_TYPE`, as well as
the target property `LINKER_TYPE` to specify which linker must be used.

The implementation of this capability is specified by variables specific
to the language and linker type: `CMAKE_<LANG>_USING_LINKER_<TYPE>`.
Some definitions are provided as part of `CMake`.

For example, to select the `LLVM` linker rather than the standard one,
the type `LLD` should be specified through the variable `CMAKE_LINKER_TYPE`.
And, on `Apple`, `Linux` and some environments on `Windows`, the variable
`CMAKE_<LANG>_USING_LINKER_LLD` has value `-fuse-ld=lld`. And for `Windows`
environments  based on `MSVC`, where the linker is used directly, the tool
`lld-link.exe` will be used rather than `link.exe`.

Fixes: #19174, #24254, #24990
2023-10-13 11:52:35 +02:00
Sebastian Wendt 0e828b92f1 ADSP: Add support for assembler
In commit e9eabb0dcd (ADSP: Configure compiler in compiler module,
2022-03-24, v3.24.0-rc1~331^2~1) we added compiler information modules
for the ADSP C and C++ compilers.  Add one for the assembler too.
We already identify the ADSP assembler since commit f83330ed6c (ASM:
ADSP assembler identification, 2018-01-30, v3.11.0-rc1~35^2).
2023-10-12 11:04:58 -04:00
Heiko Becker 77ed529c22 FindRuby: Add support for 3.2 2023-10-10 09:25:05 -04:00