|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- include_directories(${PROJECT_SOURCE_DIR})
- include_directories(${PROJECT_BINARY_DIR})
-
- if (NOT NOFORTRAN)
- enable_language(Fortran)
- endif()
-
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DADD${BU} -DCBLAS")
- if (CMAKE_Fortran_COMPILER_ID STREQUAL GNU)
- set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fno-tree-vectorize")
- endif()
-
- if(WIN32)
- FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test_cblas_helper.ps1
- "$ErrorActionPreference = \"Stop\"\n"
- "Get-Content $args[1] | & $args[0]\n"
- )
- set(test_helper powershell -ExecutionPolicy Bypass "${CMAKE_CURRENT_BINARY_DIR}/test_cblas_helper.ps1")
- else()
- FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test_cblas_helper.sh
- "$1 < $2\n"
- )
- set(test_helper sh "${CMAKE_CURRENT_BINARY_DIR}/test_cblas_helper.sh")
- endif()
-
- foreach(float_type ${FLOAT_TYPES})
- string(SUBSTRING ${float_type} 0 1 float_char_upper)
- string(TOLOWER ${float_char_upper} float_char)
- if (${float_char} STREQUAL "b")
- continue()
- endif()
- #level1
- if (NOT NOFORTRAN)
- add_executable(x${float_char}cblat1
- c_${float_char}blat1.f
- c_${float_char}blas1.c)
- else()
- add_executable(x${float_char}cblat1
- c_${float_char}blat1c.c
- c_${float_char}blas1.c)
- endif()
- target_link_libraries(x${float_char}cblat1 ${OpenBLAS_LIBNAME})
- if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR ${CMAKE_SYSTEM_NAME} MATCHES "QNX")
- target_link_libraries(x${float_char}cblat1 m)
- endif()
- add_test(NAME "x${float_char}cblat1"
- COMMAND $<TARGET_FILE:x${float_char}cblat1>)
-
- #level2
- if (NOT NOFORTRAN)
- add_executable(x${float_char}cblat2
- c_${float_char}blat2.f
- c_${float_char}blas2.c
- c_${float_char}2chke.c
- auxiliary.c
- c_xerbla.c
- constant.c)
- else()
- add_executable(x${float_char}cblat2
- c_${float_char}blat2c.c
- c_${float_char}blas2.c
- c_${float_char}2chke.c
- auxiliary.c
- c_xerbla.c
- constant.c)
- endif()
- target_link_libraries(x${float_char}cblat2 ${OpenBLAS_LIBNAME})
- if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR ${CMAKE_SYSTEM_NAME} MATCHES "QNX")
- target_link_libraries(x${float_char}cblat2 m)
- endif()
- add_test(NAME "x${float_char}cblat2"
- COMMAND ${test_helper} $<TARGET_FILE:x${float_char}cblat2> "${PROJECT_SOURCE_DIR}/ctest/${float_char}in2")
-
- #level3
- if (NOT NOFORTRAN)
- add_executable(x${float_char}cblat3
- c_${float_char}blat3.f
- c_${float_char}blas3.c
- c_${float_char}3chke.c
- auxiliary.c
- c_xerbla.c
- constant.c)
- else()
- add_executable(x${float_char}cblat3
- c_${float_char}blat3c.c
- c_${float_char}blas3.c
- c_${float_char}3chke.c
- auxiliary.c
- c_xerbla.c
- constant.c)
- endif()
- target_link_libraries(x${float_char}cblat3 ${OpenBLAS_LIBNAME})
- if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR ${CMAKE_SYSTEM_NAME} MATCHES "QNX")
- target_link_libraries(x${float_char}cblat3 m)
- endif()
- add_test(NAME "x${float_char}cblat3"
- COMMAND ${test_helper} $<TARGET_FILE:x${float_char}cblat3> "${PROJECT_SOURCE_DIR}/ctest/${float_char}in3")
-
- endforeach()
|