31ac4b9165 ci: Verify that Intel MKL is found when it is the only BLAS/LAPACK
57dcde19da Find{BLAS,LAPACK}: Avoid clobbering results when no vendor is requested
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6336
Logic added by commit 4c74c86f40 (FindBLAS/LAPACK: Add support for the
Fujitsu SSL2 library, 2021-01-27, v3.21.0-rc1~402^2~1) accidentally
expressed a boolean condition without proper grouping. The pattern was
then copied by commit 2c9e623e31 (Find{BLAS,LAPACK}: Add support for the
NVHPC LAPACK library, 2021-05-05, v3.21.0-rc1~192^2). The resulting
logic incorrectly tries Fujitsu and NVHPC vendors even after results are
found from another vendor, and then erases those. Fix the grouping.
Fixes: #22403
Currently, this feature is only supported on ELF platforms. So, the property
LINK_WHAT_YOU_USE will be ignored for other plateforms.
Moreover, flags and commands are now controled by CMake variables.
Fixes: #20174
Revert commit 74cc2e3326 (FindJPEG: Search for 'turbojpeg' and
'turbojpeg-static' too, 2021-01-09, v3.20.0-rc1~176^2) pending further
investigation. The "turbo" variants are not drop-in replacements on all
platforms.
Fixes: #22333
Update the IAR linker and archiver rules to use the `<CMAKE_LINKER>`
and `<CMAKE_AR>` placeholders instead of hard-coding the tool names.
Fixes: #22395
This was previously fixed by commit d46590910c (Check*CompilerFlag: Do
not set result as a normal variable too, 2020-09-21, v3.18.3~1^2^2), but
was regressed by refactoring in commit 90dead024c (CheckCompilerFlag:
unified way to check compiler flags per language, 2020-09-25,
v3.19.0-rc1~88^2) due to the changes being developed concurrently.
Fix it again, and add a test case.
Fixes: #21207
13961f3b43 Merge branch 'backport-3.20-intel-oneapi-std-windows'
5115dd1e2c IntelLLVM: Fix C/C++ standard level flags on Windows
84036d30d4 IntelLLVM: Fix C/C++ standard level flags on Windows
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6319
In commit a90d2a9eed (IntelLLVM: Add support for Intel LLVM-based
compilers, 2020-11-02, v3.20.0-rc1~89^2~20) we accidentally left out
activation of the C/C++ standard level selection logic when IntelLLVM is
targeting the MSVC ABI.
Fixes: #22388
In commit a90d2a9eed (IntelLLVM: Add support for Intel LLVM-based
compilers, 2020-11-02, v3.20.0-rc1~89^2~20) we accidentally left out
activation of the C/C++ standard level selection logic when IntelLLVM is
targeting the MSVC ABI.
Fixes: #22388
f90d15458a FindGLUT: Use pkg-config to find flags if available
f3f0401187 FindGLUT: Reduce if/else nesting and indentation
bece79f9be Tests: Add case covering FindGLUT variables and imported targets
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6251
Express the cache entry with `option()`. In combination with policies
CMP0077 and CMP0102, this allows project code to control the switch with
a variable:
```
set(MPI_CXX_SKIP_MPICXX TRUE)
find_package(MPI COMPONENTS CXX)
```
Update the change from commit c6aaaf066a (DetermineCompiler: Restore
identification of MSVC with no INCLUDE dirs, 2021-06-29,
v3.21.0-rc2~6^2) to also work with no `LIB` dirs. Add the `-c` flag to
compile an object file without linking.
Before this a downstream code linking to `CUDA::cusparse_static` and
`CUDA::curand_static` would get a link line with `libcusparse_static.a`,
then `libculibos.a`, then `libcurand_static.a`. Use `IMPORTED_LOCATION`
to tell CMake about the proper dependency ordering where `libculibos.a`
comes last, because the other two libraries depend on `libculibos.a`.
Fixes: #22365
Since commit bd844387df (ROCMClang: Add the ROCm toolkit derived clang
compiler to CMake, 2020-08-28, v3.21.0-rc1~66^2~6), our generated
compiler id source file contains a preprocessor condition of the form
#elif ... && __has_include(...)
When MSVC is invoked with no include directories in the `INCLUDE`
environment variable or in `-I` flags, its implementation of
`__has_include` errors out immediately. This breaks identification of
the compiler.
Work around the problem by adding a fallback attempt to compile the
identification source using a dummy include directory.
RPM 4.11.3 for el7 contains backported support for the RPM weak dep tags.
It only supports querying those tags, but rpmbuild can not make use of them.
Since CPack relies on rpmbuild --querytags to check for support, this
commit switches to rpm --suggests to check for support of weak
dependencies.
Fixes: #22350