mirror of https://github.com/xianyi/OpenBLAS.git
40 lines
1.8 KiB
CMake
40 lines
1.8 KiB
CMake
include_directories(${PROJECT_SOURCE_DIR})
|
|
include_directories(${PROJECT_BINARY_DIR})
|
|
|
|
enable_language(CXX)
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -DADD${BU} -DCBLAS")
|
|
|
|
set(CPP_THREAD_SAFETY_LIBS ${OpenBLAS_LIBNAME})
|
|
find_package(Threads REQUIRED)
|
|
list(APPEND CPP_THREAD_SAFETY_LIBS Threads::Threads)
|
|
add_definitions(-DOPENBLAS_USE_GENERATED_CBLAS_H)
|
|
|
|
if ((CPP_THREAD_SAFETY_TEST OR CPP_THREAD_SAFETY_GEMV) AND CPP_THREAD_SAFETY_USE_OPENMP)
|
|
find_package(OpenMP REQUIRED COMPONENTS CXX)
|
|
list(APPEND CPP_THREAD_SAFETY_LIBS OpenMP::OpenMP_CXX)
|
|
add_definitions(-DCPP_THREAD_SAFETY_USE_OPENMP)
|
|
endif()
|
|
|
|
set(CPP_THREAD_SAFETY_DGEMM_ARGS "" CACHE STRING "Arguments passed to the DGEMM thread safety test")
|
|
set(CPP_THREAD_SAFETY_DGEMM_MIXED_ARGS "" CACHE STRING "Arguments passed to the mixed DGEMM thread safety test")
|
|
set(CPP_THREAD_SAFETY_DGEMV_ARGS "" CACHE STRING "Arguments passed to the DGEMV thread safety test")
|
|
|
|
if (CPP_THREAD_SAFETY_TEST)
|
|
message(STATUS "building thread safety test")
|
|
add_executable(dgemm_thread_safety dgemm_thread_safety.cpp)
|
|
target_link_libraries(dgemm_thread_safety ${CPP_THREAD_SAFETY_LIBS})
|
|
add_test(NAME dgemm_thread_safety COMMAND ${CMAKE_CURRENT_BINARY_DIR}/dgemm_thread_safety ${CPP_THREAD_SAFETY_DGEMM_ARGS})
|
|
|
|
add_executable(dgemm_thread_safety_mixed dgemm_thread_safety_mixed.cpp)
|
|
target_link_libraries(dgemm_thread_safety_mixed ${CPP_THREAD_SAFETY_LIBS})
|
|
add_test(NAME dgemm_thread_safety_mixed COMMAND ${CMAKE_CURRENT_BINARY_DIR}/dgemm_thread_safety_mixed ${CPP_THREAD_SAFETY_DGEMM_MIXED_ARGS})
|
|
endif()
|
|
|
|
|
|
if (CPP_THREAD_SAFETY_TEST OR CPP_THREAD_SAFETY_GEMV)
|
|
add_executable(dgemv_thread_safety dgemv_thread_safety.cpp)
|
|
target_link_libraries(dgemv_thread_safety ${CPP_THREAD_SAFETY_LIBS})
|
|
add_test(NAME dgemv_thread_safety COMMAND ${CMAKE_CURRENT_BINARY_DIR}/dgemv_thread_safety ${CPP_THREAD_SAFETY_DGEMV_ARGS})
|
|
endif()
|