Commit Graph

12648 Commits

Author SHA1 Message Date
Brad King
8b6fdc5445 Merge topic 'FindCURL-version-string'
0b7ae2af0d FindCURL: Fix version string in case of multiple curl installations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7515
2022-07-28 08:14:34 -04:00
Brad King
b0273dc26f Merge topic 'find-sdl_gfx'
13aee97207 FindSDL_gfx: Add module to find another SDL component
1279131a8e FindSDL_*: Drop module history from public documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7475
2022-07-28 08:13:53 -04:00
Xavier Del Campo Romero
13aee97207 FindSDL_gfx: Add module to find another SDL component
Complement the several existing `FindSDL_*` modules.
Follow the pattern of the existing `FindSDL_mixer` module.

Fixes: #12004
2022-07-27 15:30:33 -04:00
Georg Lutz
0b7ae2af0d FindCURL: Fix version string in case of multiple curl installations
On systems where there are two versions of libcurl installed
CURL_VERSION_STRING is always set to the version found by the
`pkg_check_modules(PC_CURL QUIET libcurl)`.

But CURL_VERSION_STRING should match the libs and include paths found by
`find_path` and `find_library` (more specifically the path where the
header is found, because that where the version is parsed from.

So make sure that the version is always parsed from the header file, use
the output of pkg_check_modules only as HINT for find_path /
find_library.
2022-07-27 15:05:20 -04:00
Brad King
b141445f8f FindVulkan: Move dxc component docs into definition list 2022-07-25 14:08:02 -04:00
Brad King
96573aec1c Merge branch 'backport-3.24-FindVulkan-relnotes' 2022-07-25 14:04:56 -04:00
MACHIZAUD Andréa
0b538e4002 FindVulkan: Add missing 3.24 release notes 2022-07-25 14:04:43 -04:00
Brad King
db66c384fc FindVulkan: Format component documentation as definition list 2022-07-25 14:04:43 -04:00
Brad King
96564c5b2d Merge topic 'FindVulkan-dxc'
1277b873c9 FindVulkan: Add `dxc` (DirectX Shader Compiler) component

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7474
2022-07-22 10:16:23 -04:00
Brad King
55895ed4a1 Merge topic 'FindOpenMP-no-force-flags'
878655384e FindOpenMP: Do not overwrite user-set FLAGS, LIB_NAMES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7487
2022-07-22 10:15:21 -04:00
Brad King
cf27fb7f48 Merge topic 'FindOpenACC_set_found_variable'
9a6f74ffa2 FindOpenACC: Set OpenACC_FOUND when OpenACC is enabled for a language

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7437
2022-07-22 09:55:13 -04:00
HellsingDarge
1277b873c9 FindVulkan: Add dxc (DirectX Shader Compiler) component 2022-07-20 17:06:31 -04:00
Balthasar Reuter
878655384e FindOpenMP: Do not overwrite user-set FLAGS, LIB_NAMES
Since commit 2dbff623f9 (FindOpenMP: Save flags/libs in cache entries
each time they are detected, 2020-02-07, v3.17.0-rc1~10^2~1) we replace
both `OpenMP_${LANG}_FLAGS` and `OpenMP_${LANG}_LIB_NAMES` with detected
flags if either one is not set.  That can overwrite user-provided flags.

Update the logic for C, CXX, and Fortran to initialize each
`OpenMP_${LANG}_{FLAGS,LIB_NAMES}` variable only if it has not already
been set by the user.

Fixes: #23743
2022-07-20 12:21:38 -04:00
Brad King
6700db5dad Merge topic 'FindPython-remove-components-interdependence'
71bdf78bda FindPython: remove unnecessary components interdependence

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7485
2022-07-20 09:25:58 -04:00
Brad King
1279131a8e FindSDL_*: Drop module history from public documentation
This information belongs in commit messages, not documentation.
2022-07-19 12:29:11 -04:00
Marc Chevrier
71bdf78bda FindPython: remove unnecessary components interdependence
Fixes: #23716
2022-07-19 16:22:42 +02:00
Robert Maynard
9a6f74ffa2 FindOpenACC: Set OpenACC_FOUND when OpenACC is enabled for a language 2022-07-13 08:58:51 -04:00
William Marlow
74e3ac2b7e AIX: Export symbols from IBMClang IPA objects
When interprocedural analysis is enabled on the IBMClang family of
compilers (via the `-flto` option) then the resulting object files
contain LLVM IR rather than XCOFF objects[1].

ExportImportList needs to detect LLVM IR objects and use the
`ibm-llvm-nm` tool that ships with the compiler to create the extract
the defined symbols.

Without this change, such objects result in an error message from
`dump` and no symbols being exported from the object file.

[1]: https://www.ibm.com/docs/en/openxl-c-and-cpp-aix/17.1.0?topic=compatibility-link-time-optimization-lto
2022-07-12 07:41:25 +01:00
Marc Chevrier
f1150f30cd Merge topic 'better_doxy_ver_check'
eaec9cf65d FindDoxygen: Implement more complete version checking

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !7442
2022-07-10 04:42:24 -04:00
Christian Heimlich
eaec9cf65d FindDoxygen: Implement more complete version checking
The foundation of the Doxygen Find Module's detection methodology
is the command `find_program`, which has inhibited the module from
properly handling user version restrictions when provided.

Because `find_program` historically has always returned after the first
match and does not consider version constraints, users of this module
are inadvertently at the mercy of the command's search procedure.
Essentially, `find_package(Doxygen ...)` will always provide the first
Doxygen build found through said procedure, even if it conflicts with
the user's version requirements, and even if another build exists on
the system that would satisfy those requirements (i.e. shadowing).

Utilizes the new `VALIDATOR` option of `find_program` to ensure all
otherwise detectable builds of Doxygen on a given system are evaluated
and that only a build in compliance with `Doxygen_FIND_VERSION`
et. al., when defined, will be matched against.

Also enables handling of version ranges specified within `find_package`
via the **FindPackageHandleStandardArgs** module.

Finally, ensures that only the major, minor, and patch components of
Doxygen's `--version` output are captured for comparison in cases where
it contains additional information, such as a git commit hash.

Fixes: #23692
2022-07-07 13:41:31 -04:00
Brad King
d213cf1193 Merge topic 'findwxwidgets-mingw-regression'
7d6e01801d FindwxWidgets: Do not reset wxWidgets_LIB_DIR unnecessarily
6dce42b171 FindwxWidgets: Restore win32 find style on MinGW

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7451
2022-07-07 09:05:39 -04:00
Brad King
f92964bf49 Merge topic 'findwxwidgets-mingw-regression' into release-3.24
7d6e01801d FindwxWidgets: Do not reset wxWidgets_LIB_DIR unnecessarily
6dce42b171 FindwxWidgets: Restore win32 find style on MinGW

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7451
2022-07-07 09:05:38 -04:00
Brad King
a502c11a44 Merge topic 'FindLAPACK-nvhpc'
28d52a43fc FindLAPACK: Add '-fortranlibs' flag only with NVHPC/PGI compilers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7452
2022-07-07 09:02:02 -04:00
Brad King
acc6a08641 Merge topic 'FindLAPACK-nvhpc' into release-3.24
28d52a43fc FindLAPACK: Add '-fortranlibs' flag only with NVHPC/PGI compilers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7452
2022-07-07 09:02:01 -04:00
Eisuke Kawashima
28d52a43fc FindLAPACK: Add '-fortranlibs' flag only with NVHPC/PGI compilers
Since commit 2c9e623e31 (Find{BLAS,LAPACK}: Add support for the NVHPC
LAPACK library, 2021-05-05, v3.21.0-rc1~192^2) we try the `-fortranlibs`
option as a dependency of the NVHPC LAPACK.  That flag is specific to
the NVHPC/PGI compilers, so use it conditionally with them.

Without this modification, CMake fails to find LAPACK if

- compiler ID is GNU
- `BLA_STATIC` is `ON`
- `BLA_VENDOR` is not defined or set to `All`

Fixes: #23705, #22878
2022-07-06 13:58:47 -04:00
Maarten Bent
7d6e01801d FindwxWidgets: Do not reset wxWidgets_LIB_DIR unnecessarily
Only reset it when `WX_ROOT_DIR` had a value.  This change allows to set
both `wxWidgets_LIB_DIR` and `wxWidgets_ROOT_DIR` at the same time when
they where previously `-NOTFOUND`.
2022-07-06 09:59:38 -04:00
Maarten Bent
6dce42b171 FindwxWidgets: Restore win32 find style on MinGW
Since commit 6fac8af9ca (FindwxWidgets: set wxWidgets_FIND_STYLE to unix
on MINGW, 2022-04-11, v3.24.0-rc1~296^2), we only tried unix find style
on MinGW.  However, only some MinGW builds have the `wx-config` needed
for unix find style.  Other builds, including those using the official
wxWidgets makefiles, do not provide `wx-config` and need to use win32
find style.  To accommodate both use cases, first use win32 find style
and if it fails, use unix find style.
2022-07-06 09:58:48 -04:00
Brad King
4ae8018ddf Merge topic 'FindOpenSSL-doc-pkg-config'
42199256af FindOpenSSL: Document use of pkg-config
475880f39b FindOpenSSL: Reformat hints documentation as definition list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7441
2022-07-06 09:17:42 -04:00
Brad King
0b05adebcc Merge topic 'lcc-additional-implicit-link-dirs'
0eea1e8563 LCC: for OpenMP, collectly determine implicit link dirs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7436
2022-07-06 08:53:47 -04:00
Maarten Bent
2a19231d61 FindwxWidgets: Support more wxWidgets versions, including 3.2
Update the example to use a more recent wxWidgets version.

Use a list with known version numbers when searching for installation directories and wx-config names.
2022-07-05 14:55:43 -04:00
Maarten Bent
853449429d FindwxWidgets: Use version number from header for library names 2022-07-05 14:55:43 -04:00
Maarten Bent
ed51e0bb75 FindwxWidgets: Move extracting version number to a macro 2022-07-05 14:55:43 -04:00
tofraa
42199256af FindOpenSSL: Document use of pkg-config
Issue: #17548
2022-07-05 11:54:40 -04:00
Brad King
475880f39b FindOpenSSL: Reformat hints documentation as definition list 2022-07-05 11:50:21 -04:00
Brad King
aa1eaf6b8a Merge topic 'nvhpc-Werror'
35ec676ace NVHPC: warnings as error flag is "-Werror"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7415
2022-07-05 10:32:55 -04:00
Brad King
c70ed631f7 Merge topic 'nvhpc-Werror' into release-3.24
35ec676ace NVHPC: warnings as error flag is "-Werror"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7415
2022-07-05 10:32:54 -04:00
Brad King
d5772027c2 Merge topic 'add_nvcc_compile_warning_support'
cd324110d2 CUDA: NVCC support for COMPILE_WARNING_AS_ERROR target property
2e9ac1d272 Tests: Refactor warn on error tests to support multiple languages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7417
2022-07-05 10:31:23 -04:00
Brad King
6fee995256 Merge topic 'add_nvcc_compile_warning_support' into release-3.24
cd324110d2 CUDA: NVCC support for COMPILE_WARNING_AS_ERROR target property
2e9ac1d272 Tests: Refactor warn on error tests to support multiple languages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7417
2022-07-05 10:31:22 -04:00
Craig Scott
c86c99fb54 Merge topic 'LINK_LIBRARY-Darwin-LIBRARY-features-enhancements'
537861664a Genex LINK_LIBRARY: MacOS: enhance *_LIBRARY features
c55d42eb42 Darwin.cmake: Fix indenting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7433
2022-07-04 23:53:14 -04:00
Marc Chevrier
537861664a Genex LINK_LIBRARY: MacOS: enhance *_LIBRARY features 2022-07-03 14:43:23 +10:00
Craig Scott
c55d42eb42 Darwin.cmake: Fix indenting 2022-07-03 14:43:23 +10:00
Brad King
f41b2b25a6 Merge topic 'findicu'
669b6a37f5 FindICU: Fix component reporting logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7430
2022-07-01 11:16:32 -04:00
Brad King
2ecdf00f07 Merge topic 'FindRuby-version-matching'
abe8192d82 FindRuby: Simplify version matching

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7425
2022-07-01 08:26:18 -04:00
Robert Maynard
35ec676ace NVHPC: warnings as error flag is "-Werror" 2022-07-01 08:05:19 -04:00
Robert Maynard
cd324110d2 CUDA: NVCC support for COMPILE_WARNING_AS_ERROR target property 2022-07-01 08:04:54 -04:00
makise-homura
0eea1e8563 LCC: for OpenMP, collectly determine implicit link dirs
It is found out for LCC to not specify all library search paths
when called by cmake_parse_implicit_link_info().
Because of that, FindOpenMP module can't find some libraries,
like libpthread. For this, we should analyze -print-search-dirs
output and append library paths to implicit link ones.
2022-06-30 22:48:45 +03:00
Alexander Grund
669b6a37f5 FindICU: Fix component reporting logic
Components were incorrectly reported as found because `component_found` is set to a string containing the variable name which is a truethy value.
Fix by simply merging the setter of `component_found` with the reporting setter instead of checking `component_found OR component_found_compat` which is overly verbose anyway.
2022-06-30 19:36:53 +02:00
Brad King
7375542615 Merge topic 'FindCURL-package-version'
886ba0b1d6 FindCURL: Set CURL_VERSION_STRING when curl is found as a package

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7421
2022-06-30 08:35:55 -04:00
Diego Pino Garcia
abe8192d82 FindRuby: Simplify version matching 2022-06-30 09:51:15 +08:00
Brad King
ca8720c6af Merge topic 'FetchContent-avoid-IN_LIST'
5c7b6b29f9 FetchContent: Don't use if(... IN_LIST ...)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7423
2022-06-29 08:46:31 -04:00