You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

CMakeLists.txt 4.3 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. include_directories(${PROJECT_SOURCE_DIR})
  2. include_directories(${PROJECT_BINARY_DIR})
  3. if (MSVC AND "${CMAKE_C_COMPILER_ID}" MATCHES Clang)
  4. set(OpenBLAS_utest_src utest_main2.c)
  5. else ()
  6. set(OpenBLAS_utest_src
  7. utest_main.c
  8. test_min.c
  9. test_amax.c
  10. test_ismin.c
  11. test_rotmg.c
  12. test_rot.c
  13. test_axpy.c
  14. test_dsdot.c
  15. test_dnrm2.c
  16. test_swap.c
  17. test_zscal.c
  18. test_amin.c
  19. test_axpby.c
  20. test_gemv.c
  21. )
  22. endif ()
  23. set(DIR_EXT test_extensions)
  24. set(OpenBLAS_utest_ext_src
  25. utest_main.c
  26. ${DIR_EXT}/common.c
  27. ${DIR_EXT}/xerbla.c
  28. ${DIR_EXT}/test_isamin.c
  29. ${DIR_EXT}/test_idamin.c
  30. ${DIR_EXT}/test_icamin.c
  31. ${DIR_EXT}/test_izamin.c
  32. ${DIR_EXT}/test_ssum.c
  33. ${DIR_EXT}/test_dsum.c
  34. ${DIR_EXT}/test_scsum.c
  35. ${DIR_EXT}/test_dzsum.c
  36. ${DIR_EXT}/test_samin.c
  37. ${DIR_EXT}/test_damin.c
  38. ${DIR_EXT}/test_scamin.c
  39. ${DIR_EXT}/test_dzamin.c
  40. ${DIR_EXT}/test_scamax.c
  41. ${DIR_EXT}/test_dzamax.c
  42. ${DIR_EXT}/test_zrotg.c
  43. ${DIR_EXT}/test_crotg.c
  44. ${DIR_EXT}/test_drotmg.c
  45. ${DIR_EXT}/test_srotmg.c
  46. ${DIR_EXT}/test_zscal.c
  47. ${DIR_EXT}/test_cscal.c
  48. ${DIR_EXT}/test_domatcopy.c
  49. ${DIR_EXT}/test_somatcopy.c
  50. ${DIR_EXT}/test_zomatcopy.c
  51. ${DIR_EXT}/test_comatcopy.c
  52. ${DIR_EXT}/test_simatcopy.c
  53. ${DIR_EXT}/test_dimatcopy.c
  54. ${DIR_EXT}/test_cimatcopy.c
  55. ${DIR_EXT}/test_zimatcopy.c
  56. ${DIR_EXT}/test_sgeadd.c
  57. ${DIR_EXT}/test_dgeadd.c
  58. ${DIR_EXT}/test_cgeadd.c
  59. ${DIR_EXT}/test_zgeadd.c
  60. ${DIR_EXT}/test_saxpby.c
  61. ${DIR_EXT}/test_daxpby.c
  62. ${DIR_EXT}/test_caxpby.c
  63. ${DIR_EXT}/test_zaxpby.c
  64. ${DIR_EXT}/test_caxpyc.c
  65. ${DIR_EXT}/test_zaxpyc.c
  66. ${DIR_EXT}/test_cgemv_t.c
  67. ${DIR_EXT}/test_zgemv_t.c
  68. ${DIR_EXT}/test_cgemv_n.c
  69. ${DIR_EXT}/test_zgemv_n.c
  70. ${DIR_EXT}/test_crot.c
  71. ${DIR_EXT}/test_zrot.c
  72. ${DIR_EXT}/test_cgbmv.c
  73. ${DIR_EXT}/test_zgbmv.c
  74. ${DIR_EXT}/test_dgemmt.c
  75. ${DIR_EXT}/test_sgemmt.c
  76. ${DIR_EXT}/test_cgemmt.c
  77. ${DIR_EXT}/test_zgemmt.c
  78. ${DIR_EXT}/test_ztrmv.c
  79. ${DIR_EXT}/test_ctrmv.c
  80. ${DIR_EXT}/test_ztrsv.c
  81. ${DIR_EXT}/test_ctrsv.c
  82. ${DIR_EXT}/test_zgemm.c
  83. ${DIR_EXT}/test_cgemm.c
  84. )
  85. # crashing on travis cl with an error code suggesting resource not found
  86. if (NOT MSVC)
  87. set(OpenBLAS_utest_src
  88. ${OpenBLAS_utest_src}
  89. test_dotu.c
  90. )
  91. endif ()
  92. # known to hang with the native Windows and Android threads
  93. # FIXME needs checking if this works on any of the other platforms
  94. if (OS_CYGWIN_NT OR OS_LINUX)
  95. if (NOT USE_OPENMP)
  96. set(OpenBLAS_utest_src
  97. ${OpenBLAS_utest_src}
  98. test_fork.c
  99. )
  100. endif()
  101. set(OpenBLAS_utest_src
  102. ${OpenBLAS_utest_src}
  103. test_post_fork.c
  104. )
  105. endif()
  106. if (NOT NO_LAPACK)
  107. set(OpenBLAS_utest_src
  108. ${OpenBLAS_utest_src}
  109. test_potrs.c
  110. )
  111. set(OpenBLAS_utest_ext_src
  112. ${OpenBLAS_utest_ext_src}
  113. ${DIR_EXT}/test_cspmv.c
  114. ${DIR_EXT}/test_zspmv.c
  115. ${DIR_EXT}/test_csbmv.c
  116. ${DIR_EXT}/test_zsbmv.c
  117. )
  118. if (NOT NO_CBLAS AND NOT NO_LAPACKE)
  119. set(OpenBLAS_utest_src
  120. ${OpenBLAS_utest_src}
  121. test_kernel_regress.c
  122. )
  123. endif()
  124. endif()
  125. set(OpenBLAS_utest_bin openblas_utest)
  126. add_executable(${OpenBLAS_utest_bin} ${OpenBLAS_utest_src})
  127. set(OpenBLAS_utest_ext_bin openblas_utest_ext)
  128. add_executable(${OpenBLAS_utest_ext_bin} ${OpenBLAS_utest_ext_src})
  129. target_link_libraries(${OpenBLAS_utest_bin} ${OpenBLAS_LIBNAME})
  130. target_link_libraries(${OpenBLAS_utest_ext_bin} ${OpenBLAS_LIBNAME})
  131. if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR ${CMAKE_SYSTEM_NAME} MATCHES "QNX" )
  132. target_link_libraries(${OpenBLAS_utest_bin} m)
  133. endif()
  134. if (${CMAKE_SYSTEM_NAME} STREQUAL "WindowsStore")
  135. set_target_properties( ${OpenBLAS_utest_bin} PROPERTIES COMPILE_DEFINITIONS "_CRT_SECURE_NO_WARNINGS")
  136. endif()
  137. #Set output for utest
  138. set_target_properties( ${OpenBLAS_utest_bin} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
  139. foreach (OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
  140. string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG )
  141. set_target_properties( ${OpenBLAS_utest_bin} PROPERTIES RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_CURRENT_BINARY_DIR})
  142. endforeach()
  143. if (MSVC AND BUILD_SHARED_LIBS)
  144. add_custom_command(TARGET ${OpenBLAS_utest_bin}
  145. POST_BUILD
  146. COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}/${OpenBLAS_LIBNAME}.dll ${CMAKE_CURRENT_BINARY_DIR}/.
  147. )
  148. endif()
  149. add_test(${OpenBLAS_utest_bin} ${CMAKE_CURRENT_BINARY_DIR}/${OpenBLAS_utest_bin})
  150. add_test(${OpenBLAS_utest_ext_bin} ${CMAKE_CURRENT_BINARY_DIR}/${OpenBLAS_utest_bin})