From daa0a1f877c410f5ee59e9860d9cba86e1475152 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 10 Jun 2021 13:00:45 -0400 Subject: Find{BLAS,LAPACK}: Add tests covering Intel MKL with GNU compiler --- .gitlab/ci/configure_intelcompiler_common.cmake | 8 +++---- Tests/FindBLAS/CMakeLists.txt | 30 ++++++++++++++++++------- Tests/FindLAPACK/CMakeLists.txt | 30 ++++++++++++++++++------- 3 files changed, 48 insertions(+), 20 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/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 $ --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 $ ) 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 $ --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 $ ) 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 $ --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 $ ) 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 $ --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 $ ) endforeach() -- cgit v0.12