From b809f99ceeeed355dddf61751278a7ab5a74a5f4 Mon Sep 17 00:00:00 2001 From: Zhang Xianyi Date: Mon, 26 Oct 2015 23:42:21 +0800 Subject: [PATCH] Add CBLAS test for CMAKE. --- CMakeLists.txt | 4 ++++ ctest/CMakeLists.txt | 44 ++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e10df13a3..3b436dc13 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,11 @@ set(OpenBLAS_VERSION "${OpenBLAS_MAJOR_VERSION}.${OpenBLAS_MINOR_VERSION}.${Open enable_language(ASM) enable_language(C) +if(MSVC) +set(OpenBLAS_LIBNAME libopenblas) +else() set(OpenBLAS_LIBNAME openblas) +endif() ####### if(MSVC) diff --git a/ctest/CMakeLists.txt b/ctest/CMakeLists.txt index d3e15870b..dbe785bcb 100644 --- a/ctest/CMakeLists.txt +++ b/ctest/CMakeLists.txt @@ -1,6 +1,46 @@ include_directories(${CMAKE_SOURCE_DIR}) +enable_language(Fortran) -#foreach(test_bin ${OpenBLAS_Tests}) +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DADD${BU} -DCBLAS") -#endforeach() \ No newline at end of file +FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test_cblas_helper.sh +"$1 < $2\n" +) + +foreach(float_type ${FLOAT_TYPES}) + string(SUBSTRING ${float_type} 0 1 float_char_upper) + string(TOLOWER ${float_char_upper} float_char) + #level1 + add_executable(x${float_char}cblat1 + c_${float_char}blat1.f + c_${float_char}blas1.c) + target_link_libraries(x${float_char}cblat1 ${OpenBLAS_LIBNAME}_static) + add_test(NAME "x${float_char}cblat1" + COMMAND "${CMAKE_CURRENT_BINARY_DIR}/x${float_char}cblat1") + + #level2 + 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) + target_link_libraries(x${float_char}cblat2 ${OpenBLAS_LIBNAME}_static) + add_test(NAME "x${float_char}cblat2" + COMMAND sh "${CMAKE_CURRENT_BINARY_DIR}/test_cblas_helper.sh" "${CMAKE_CURRENT_BINARY_DIR}/x${float_char}cblat2" "${PROJECT_SOURCE_DIR}/ctest/${float_char}in2") + + #level3 + 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) + target_link_libraries(x${float_char}cblat3 ${OpenBLAS_LIBNAME}_static) + add_test(NAME "x${float_char}cblat3" + COMMAND sh "${CMAKE_CURRENT_BINARY_DIR}/test_cblas_helper.sh" "${CMAKE_CURRENT_BINARY_DIR}/x${float_char}cblat3" "${PROJECT_SOURCE_DIR}/ctest/${float_char}in3") + +endforeach()