summaryrefslogtreecommitdiff
path: root/Tests/FindBLAS/Test/CMakeLists.txt
blob: 9909d2ea3cf5aa589e282a2cb0597c02d4fa3203 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
cmake_minimum_required(VERSION 3.5)
project(TestFindBLAS C)
include(CTest)

find_package(BLAS REQUIRED)

if(NOT BLA_SIZEOF_INTEGER)
  set(BLA_SIZEOF_INTEGER 4)
endif()

add_executable(test_tgt main.c)
target_link_libraries(test_tgt BLAS::BLAS)
target_compile_definitions(test_tgt PUBLIC BLA_SIZEOF_INTEGER=${BLA_SIZEOF_INTEGER})
add_test(NAME test_tgt COMMAND test_tgt)

add_executable(test_var main.c)
target_link_libraries(test_var PRIVATE ${BLAS_LIBRARIES})
target_compile_definitions(test_var PUBLIC BLA_SIZEOF_INTEGER=${BLA_SIZEOF_INTEGER})
add_test(NAME test_var COMMAND test_var)

if((BLA_VENDOR STREQUAL "Intel10_64lp") OR
   (BLA_VENDOR STREQUAL "All" AND EXPECT_All STREQUAL "Intel10_64lp"))
  if(NOT BLAS_LIBRARIES MATCHES "^(-Wl,--start-group;)?[^;]*mkl_intel_lp64")
    message(FATAL_ERROR "BLAS_LIBRARIES does not start in mkl_intel_lp64:\n ${BLAS_LIBRARIES}")
  endif()
elseif((BLA_VENDOR STREQUAL "Intel10_64ilp") OR
   (BLA_VENDOR STREQUAL "All" AND EXPECT_All STREQUAL "Intel10_64ilp"))
  if(NOT BLAS_LIBRARIES MATCHES "^(-Wl,--start-group;)?[^;]*mkl_intel_ilp64")
    message(FATAL_ERROR "BLAS_LIBRARIES does not start in mkl_intel_ilp64:\n ${BLAS_LIBRARIES}")
  endif()
endif()