summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitlab/ci/configure_intelcompiler_common.cmake8
-rw-r--r--Modules/FindBLAS.cmake23
-rw-r--r--Tests/FindBLAS/CMakeLists.txt30
-rw-r--r--Tests/FindLAPACK/CMakeLists.txt30
4 files changed, 55 insertions, 36 deletions
diff --git a/.gitlab/ci/configure_intelcompiler_common.cmake b/.gitlab/ci/configure_intelcompiler_common.cmake
index 79f657b..df3a696 100644
--- a/.gitlab/ci/configure_intelcompiler_common.cmake
+++ b/.gitlab/ci/configure_intelcompiler_common.cmake
@@ -1,6 +1,6 @@
-set(CMake_TEST_FindBLAS "Intel10_64lp" CACHE STRING "")
-set(CMake_TEST_FindBLAS_STATIC "Intel10_64lp" CACHE STRING "")
-set(CMake_TEST_FindLAPACK "Intel10_64lp" CACHE STRING "")
-set(CMake_TEST_FindLAPACK_STATIC "Intel10_64lp" CACHE STRING "")
+set(CMake_TEST_FindBLAS "Intel10_64lp;Intel10_64lp.gcc" CACHE STRING "")
+set(CMake_TEST_FindBLAS_STATIC "Intel10_64lp;Intel10_64lp.gcc" CACHE STRING "")
+set(CMake_TEST_FindLAPACK "Intel10_64lp;Intel10_64lp.gcc" CACHE STRING "")
+set(CMake_TEST_FindLAPACK_STATIC "Intel10_64lp;Intel10_64lp.gcc" CACHE STRING "")
include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake
index 0f8360a..826a9c2 100644
--- a/Modules/FindBLAS.cmake
+++ b/Modules/FindBLAS.cmake
@@ -337,21 +337,12 @@ if(BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
if(CMAKE_Fortran_COMPILER_LOADED AND CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND NOT APPLE)
set(BLAS_mkl_INTFACE "gf")
set(BLAS_mkl_THREADING "gnu")
+ set(BLAS_mkl_OMP "gomp")
else()
set(BLAS_mkl_INTFACE "intel")
set(BLAS_mkl_THREADING "intel")
+ set(BLAS_mkl_OMP "iomp5")
endif()
-
- foreach(lang IN ITEMS C CXX Fortran)
- if(CMAKE_${lang}_COMPILER_LOADED)
- find_package(OpenMP COMPONENTS ${lang})
- if(${OpenMP_${lang}_FOUND})
- set(BLAS_mkl_OMP ${OpenMP_${lang}_LIBRARIES})
- break()
- endif()
- endif()
- endforeach()
-
set(BLAS_mkl_LM "-lm")
set(BLAS_mkl_LDL "-ldl")
endif()
@@ -416,7 +407,7 @@ if(BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
# mkl >= 10.3
list(APPEND BLAS_SEARCH_LIBS
- "${BLAS_mkl_START_GROUP} mkl_blas95 mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP}")
+ "${BLAS_mkl_START_GROUP} mkl_blas95 mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP} ${BLAS_mkl_OMP}")
endif()
if(BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR STREQUAL "All")
# old version
@@ -425,7 +416,7 @@ if(BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
# mkl >= 10.3
list(APPEND BLAS_SEARCH_LIBS
- "${BLAS_mkl_START_GROUP} mkl_blas95_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP}")
+ "${BLAS_mkl_START_GROUP} mkl_blas95_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP} ${BLAS_mkl_OMP}")
endif()
if(BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$" OR BLA_VENDOR STREQUAL "All")
list(APPEND BLAS_SEARCH_LIBS
@@ -481,7 +472,7 @@ if(BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
# mkl >= 10.3
list(APPEND BLAS_SEARCH_LIBS
- "${BLAS_mkl_START_GROUP} mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP}")
+ "${BLAS_mkl_START_GROUP} mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP} ${BLAS_mkl_OMP}")
endif()
if(BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR STREQUAL "All")
# old version
@@ -490,7 +481,7 @@ if(BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
# mkl >= 10.3
list(APPEND BLAS_SEARCH_LIBS
- "${BLAS_mkl_START_GROUP} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP}")
+ "${BLAS_mkl_START_GROUP} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_END_GROUP} ${BLAS_mkl_OMP}")
endif()
if(BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$" OR BLA_VENDOR STREQUAL "All")
list(APPEND BLAS_SEARCH_LIBS
@@ -553,7 +544,7 @@ if(BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
${BLAS_mkl_SEARCH_SYMBOL}
""
"${SEARCH_LIBS}"
- "${BLAS_mkl_OMP};${CMAKE_THREAD_LIBS_INIT};${BLAS_mkl_LM};${BLAS_mkl_LDL}"
+ "${CMAKE_THREAD_LIBS_INIT};${BLAS_mkl_LM};${BLAS_mkl_LDL}"
"${BLAS_mkl_MKLROOT}"
"${BLAS_mkl_LIB_PATH_SUFFIXES}"
)
diff --git a/Tests/FindBLAS/CMakeLists.txt b/Tests/FindBLAS/CMakeLists.txt
index 63ef1dd..31c701e 100644
--- a/Tests/FindBLAS/CMakeLists.txt
+++ b/Tests/FindBLAS/CMakeLists.txt
@@ -1,25 +1,39 @@
-foreach(vendor IN LISTS CMake_TEST_FindBLAS)
- add_test(NAME FindBLAS.Test_${vendor} COMMAND
+foreach(variant IN LISTS CMake_TEST_FindBLAS)
+ if(variant MATCHES "^([^.]+)\\.(.*)$")
+ set(vendor "${CMAKE_MATCH_1}")
+ set(alt_compiler "-DCMAKE_C_COMPILER=${CMAKE_MATCH_2}")
+ else()
+ set(vendor "${variant}")
+ set(alt_compiler "")
+ endif()
+ add_test(NAME FindBLAS.Test_${variant} COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindBLAS/Test"
- "${CMake_BINARY_DIR}/Tests/FindBLAS/Test_${vendor}"
+ "${CMake_BINARY_DIR}/Tests/FindBLAS/Test_${variant}"
${build_generator_args}
--build-project TestFindBLAS
- --build-options ${build_options} -DBLA_VENDOR=${vendor}
+ --build-options ${build_options} ${alt_compiler} -DBLA_VENDOR=${vendor}
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
endforeach()
-foreach(vendor IN LISTS CMake_TEST_FindBLAS_STATIC)
- add_test(NAME FindBLAS.Test_${vendor}_Static COMMAND
+foreach(variant IN LISTS CMake_TEST_FindBLAS_STATIC)
+ if(variant MATCHES "^([^.]+)\\.(.*)$")
+ set(vendor "${CMAKE_MATCH_1}")
+ set(alt_compiler "-DCMAKE_C_COMPILER=${CMAKE_MATCH_2}")
+ else()
+ set(vendor "${variant}")
+ set(alt_compiler "")
+ endif()
+ add_test(NAME FindBLAS.Test_${variant}_Static COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindBLAS/Test"
- "${CMake_BINARY_DIR}/Tests/FindBLAS/Test_${vendor}_Static"
+ "${CMake_BINARY_DIR}/Tests/FindBLAS/Test_${variant}_Static"
${build_generator_args}
--build-project TestFindBLAS
- --build-options ${build_options} -DBLA_VENDOR=${vendor} -DBLA_STATIC=ON
+ --build-options ${build_options} ${alt_compiler} -DBLA_VENDOR=${vendor} -DBLA_STATIC=ON
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
endforeach()
diff --git a/Tests/FindLAPACK/CMakeLists.txt b/Tests/FindLAPACK/CMakeLists.txt
index eab5bb4..26cfa87 100644
--- a/Tests/FindLAPACK/CMakeLists.txt
+++ b/Tests/FindLAPACK/CMakeLists.txt
@@ -1,25 +1,39 @@
-foreach(vendor IN LISTS CMake_TEST_FindLAPACK)
- add_test(NAME FindLAPACK.Test_${vendor} COMMAND
+foreach(variant IN LISTS CMake_TEST_FindLAPACK)
+ if(variant MATCHES "^([^.]+)\\.(.*)$")
+ set(vendor "${CMAKE_MATCH_1}")
+ set(alt_compiler "-DCMAKE_C_COMPILER=${CMAKE_MATCH_2}")
+ else()
+ set(vendor "${variant}")
+ set(alt_compiler "")
+ endif()
+ add_test(NAME FindLAPACK.Test_${variant} COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindLAPACK/Test"
- "${CMake_BINARY_DIR}/Tests/FindLAPACK/Test_${vendor}"
+ "${CMake_BINARY_DIR}/Tests/FindLAPACK/Test_${variant}"
${build_generator_args}
--build-project TestFindLAPACK
- --build-options ${build_options} -DBLA_VENDOR=${vendor}
+ --build-options ${build_options} ${alt_compiler} -DBLA_VENDOR=${vendor}
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
endforeach()
-foreach(vendor IN LISTS CMake_TEST_FindLAPACK_STATIC)
- add_test(NAME FindLAPACK.Test_${vendor}_Static COMMAND
+foreach(variant IN LISTS CMake_TEST_FindLAPACK_STATIC)
+ if(variant MATCHES "^([^.]+)\\.(.*)$")
+ set(vendor "${CMAKE_MATCH_1}")
+ set(alt_compiler "-DCMAKE_C_COMPILER=${CMAKE_MATCH_2}")
+ else()
+ set(vendor "${variant}")
+ set(alt_compiler "")
+ endif()
+ add_test(NAME FindLAPACK.Test_${variant}_Static COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FindLAPACK/Test"
- "${CMake_BINARY_DIR}/Tests/FindLAPACK/Test_${vendor}_Static"
+ "${CMake_BINARY_DIR}/Tests/FindLAPACK/Test_${variant}_Static"
${build_generator_args}
--build-project TestFindLAPACK
- --build-options ${build_options} -DBLA_VENDOR=${vendor} -DBLA_STATIC=ON
+ --build-options ${build_options} ${alt_compiler} -DBLA_VENDOR=${vendor} -DBLA_STATIC=ON
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
endforeach()