Merge d21c660a99
into 66c2c41e99
This commit is contained in:
commit
0aa7589439
|
@ -167,9 +167,6 @@ jobs:
|
||||||
idx: int32
|
idx: int32
|
||||||
target-prefix: mingw-w64-clang-x86_64
|
target-prefix: mingw-w64-clang-x86_64
|
||||||
fc-pkg: fc
|
fc-pkg: fc
|
||||||
# Compiling with Flang 16 seems to cause test errors on machines
|
|
||||||
# with AVX512 instructions. Revisit after MSYS2 distributes Flang 17.
|
|
||||||
no-avx512-flags: -DNO_AVX512=1
|
|
||||||
- msystem: CLANG32
|
- msystem: CLANG32
|
||||||
idx: int32
|
idx: int32
|
||||||
target-prefix: mingw-w64-clang-i686
|
target-prefix: mingw-w64-clang-i686
|
||||||
|
@ -185,9 +182,6 @@ jobs:
|
||||||
idx64-flags: -DBINARY=64 -DINTERFACE64=1
|
idx64-flags: -DBINARY=64 -DINTERFACE64=1
|
||||||
target-prefix: mingw-w64-clang-x86_64
|
target-prefix: mingw-w64-clang-x86_64
|
||||||
fc-pkg: fc
|
fc-pkg: fc
|
||||||
# Compiling with Flang 16 seems to cause test errors on machines
|
|
||||||
# with AVX512 instructions. Revisit after MSYS2 distributes Flang 17.
|
|
||||||
no-avx512-flags: -DNO_AVX512=1
|
|
||||||
- msystem: MINGW64
|
- msystem: MINGW64
|
||||||
idx: int32
|
idx: int32
|
||||||
target-prefix: mingw-w64-x86_64
|
target-prefix: mingw-w64-x86_64
|
||||||
|
@ -274,7 +268,6 @@ jobs:
|
||||||
-DTARGET=CORE2 \
|
-DTARGET=CORE2 \
|
||||||
${{ matrix.idx64-flags }} \
|
${{ matrix.idx64-flags }} \
|
||||||
${{ matrix.c-lapack-flags }} \
|
${{ matrix.c-lapack-flags }} \
|
||||||
${{ matrix.no-avx512-flags }} \
|
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||||
-DCMAKE_Fortran_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_Fortran_COMPILER_LAUNCHER=ccache \
|
||||||
..
|
..
|
||||||
|
|
|
@ -93,6 +93,38 @@ endif()
|
||||||
|
|
||||||
message(WARNING "CMake support is experimental. It does not yet support all build options and may not produce the same Makefiles that OpenBLAS ships with.")
|
message(WARNING "CMake support is experimental. It does not yet support all build options and may not produce the same Makefiles that OpenBLAS ships with.")
|
||||||
|
|
||||||
|
if(NOT NOFORTRAN)
|
||||||
|
# Check for working Fortran compiler
|
||||||
|
include(CheckLanguage)
|
||||||
|
check_language(Fortran)
|
||||||
|
if(CMAKE_Fortran_COMPILER)
|
||||||
|
enable_language(Fortran)
|
||||||
|
else()
|
||||||
|
set(NOFORTRAN 1)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (NOT NOFORTRAN AND CMAKE_Fortran_COMPILER_ID STREQUAL "LLVMFlang")
|
||||||
|
if (CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 17 OR WIN32)
|
||||||
|
# The *blas3 tests fail on hardware with AVX512 instruction when using
|
||||||
|
# LLVM Flang before version 17 or when using LLVM Flang on Windows.
|
||||||
|
# Tested with LLVM Flang 16 and LLVM Flang 17 on Windows (MSYS2/CLANG64).
|
||||||
|
# FIXME: Revisit with LLVM Flang 18.
|
||||||
|
if (NOT NO_AVX512)
|
||||||
|
message(STATUS "Disabling AVX512 instructions for LLVM Flang before version 17 or on Windows.")
|
||||||
|
endif()
|
||||||
|
set(NO_AVX512 1)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 17)
|
||||||
|
# LLVM Flang before version 17 doesn't support necessary OpenMP constructs.
|
||||||
|
if (USE_OPENMP)
|
||||||
|
message(STATUS "Disabling OpenMP for LLVM Flang before version 17.")
|
||||||
|
set(USE_OPENMP 0)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
include("${PROJECT_SOURCE_DIR}/cmake/utils.cmake")
|
include("${PROJECT_SOURCE_DIR}/cmake/utils.cmake")
|
||||||
include("${PROJECT_SOURCE_DIR}/cmake/system.cmake")
|
include("${PROJECT_SOURCE_DIR}/cmake/system.cmake")
|
||||||
|
|
||||||
|
|
|
@ -20,12 +20,7 @@
|
||||||
# NEEDBUNDERSCORE
|
# NEEDBUNDERSCORE
|
||||||
# NEED2UNDERSCORES
|
# NEED2UNDERSCORES
|
||||||
|
|
||||||
include(CheckLanguage)
|
if(NOT CMAKE_Fortran_COMPILER)
|
||||||
check_language(Fortran)
|
|
||||||
if(CMAKE_Fortran_COMPILER)
|
|
||||||
enable_language(Fortran)
|
|
||||||
else()
|
|
||||||
set (NOFORTRAN 1)
|
|
||||||
if (NOT NO_LAPACK)
|
if (NOT NO_LAPACK)
|
||||||
if (NOT XXXXX)
|
if (NOT XXXXX)
|
||||||
message(STATUS "No Fortran compiler found, can build only BLAS and f2c-converted LAPACK")
|
message(STATUS "No Fortran compiler found, can build only BLAS and f2c-converted LAPACK")
|
||||||
|
|
Loading…
Reference in New Issue