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 2.1 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. include_directories(${PROJECT_SOURCE_DIR})
  2. include_directories(${PROJECT_BINARY_DIR})
  3. if (${CORE} STREQUAL "PPC440")
  4. set(MEMORY memory_qalloc.c)
  5. else ()
  6. set(MEMORY memory.c)
  7. endif ()
  8. if (USE_THREAD)
  9. if (USE_OPENMP)
  10. set(BLAS_SERVER blas_server_omp.c)
  11. elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
  12. set(BLAS_SERVER blas_server_win32.c)
  13. elseif (${CMAKE_SYSTEM_NAME} STREQUAL "WindowsStore")
  14. set(BLAS_SERVER blas_server_win32.c)
  15. endif ()
  16. if (NOT DEFINED BLAS_SERVER)
  17. set(BLAS_SERVER blas_server.c)
  18. endif ()
  19. set(SMP_SOURCES
  20. ${BLAS_SERVER}
  21. divtable.c # TODO: Makefile has -UDOUBLE
  22. blas_l1_thread.c
  23. )
  24. if (NOT NO_AFFINITY)
  25. list(APPEND SMP_SOURCES init.c)
  26. endif ()
  27. endif ()
  28. set(COMMON_SOURCES
  29. xerbla.c
  30. openblas_set_num_threads.c
  31. openblas_error_handle.c
  32. openblas_env.c
  33. openblas_get_num_procs.c
  34. openblas_get_num_threads.c
  35. )
  36. # these need to have NAME/CNAME set, so use GenerateNamedObjects, but don't use standard name mangling
  37. GenerateNamedObjects("abs.c" "" "c_abs" 0 "" "" 1 )
  38. GenerateNamedObjects("abs.c" "DOUBLE" "z_abs" 0 "" "" 1)
  39. GenerateNamedObjects("openblas_get_config.c;openblas_get_parallel.c" "" "" 0 "" "" 1)
  40. if (DYNAMIC_ARCH)
  41. if (ARM64)
  42. list(APPEND COMMON_SOURCES dynamic_arm64.c)
  43. elseif (POWER)
  44. list(APPEND COMMON_SOURCES dynamic_power.c)
  45. else ()
  46. list(APPEND COMMON_SOURCES dynamic.c)
  47. endif ()
  48. else ()
  49. list(APPEND COMMON_SOURCES parameter.c)
  50. endif ()
  51. #ifdef EXPRECISION
  52. #COMMONOBJS += x_abs.$(SUFFIX) qlamch.$(SUFFIX) qlamc3.$(SUFFIX)
  53. #endif
  54. #
  55. #ifdef QUAD_PRECISION
  56. #COMMONOBJS += addx.$(SUFFIX) mulx.$(SUFFIX)
  57. #endif
  58. #
  59. #ifdef USE_CUDA
  60. #COMMONOBJS += cuda_init.$(SUFFIX)
  61. #endif
  62. #
  63. #ifdef FUNCTION_PROFILE
  64. #COMMONOBJS += profile.$(SUFFIX)
  65. #endif
  66. #LIBOTHERS = libothers.$(LIBSUFFIX)
  67. #ifeq ($(DYNAMIC_ARCH), 1)
  68. #HPLOBJS = memory.$(SUFFIX) xerbla.$(SUFFIX) dynamic.$(SUFFIX)
  69. #else
  70. #HPLOBJS = memory.$(SUFFIX) xerbla.$(SUFFIX) parameter.$(SUFFIX)
  71. #endif
  72. add_library(driver_others OBJECT ${OPENBLAS_SRC} ${MEMORY} ${SMP_SOURCES} ${COMMON_SOURCES})