Commit Graph

12643 Commits

Author SHA1 Message Date
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
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
Craig Scott 5c7b6b29f9 FetchContent: Don't use if(... IN_LIST ...)
This avoids the need for changing policy settings, which would then
propagate through to projects brought into the build via FetchContent.
2022-06-29 07:54:06 +10:00
makise-homura 886ba0b1d6 FindCURL: Set CURL_VERSION_STRING when curl is found as a package
FindCURL, when found as `curl-config.cmake`, will fill `CURL_VERSION`
instead of `CURL_VERSION_STRING` variable.  It may break some cases
when user is relying on correct value of the latter variable, and
as an example, already breaks `CMakeOnly.AllFindModules` test.
2022-06-28 11:15:24 -04:00
Brad King 6931487e52 Merge topic 'glew'
6c8789af75 FindGLEW: select_library_configuration might be used before it is defined

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7412
2022-06-28 09:24:24 -04:00
Brad King 3fcdc98b7d Merge topic 'FindPython-multiple-queries'
ece3bedbf2 FindPython: fix error on multiple queries with different COMPONENTS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7410
2022-06-28 09:22:55 -04:00
Brad King e9213013e6 Merge topic 'FindPython-multiple-queries' into release-3.24
ece3bedbf2 FindPython: fix error on multiple queries with different COMPONENTS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7410
2022-06-28 09:22:54 -04:00