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

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. blas_server_callback.c
  24. )
  25. if (NOT NO_AFFINITY)
  26. list(APPEND SMP_SOURCES init.c)
  27. endif ()
  28. endif ()
  29. set(COMMON_SOURCES
  30. xerbla.c
  31. openblas_set_num_threads.c
  32. openblas_error_handle.c
  33. openblas_env.c
  34. openblas_get_num_procs.c
  35. openblas_get_num_threads.c
  36. )
  37. # these need to have NAME/CNAME set, so use GenerateNamedObjects, but don't use standard name mangling
  38. GenerateNamedObjects("abs.c" "" "c_abs" 0 "" "" 1 )
  39. GenerateNamedObjects("abs.c" "DOUBLE" "z_abs" 0 "" "" 1)
  40. GenerateNamedObjects("openblas_get_config.c;openblas_get_parallel.c" "" "" 0 "" "" 1)
  41. if (DYNAMIC_ARCH)
  42. if (ARM64)
  43. list(APPEND COMMON_SOURCES dynamic_arm64.c)
  44. elseif (POWER)
  45. list(APPEND COMMON_SOURCES dynamic_power.c)
  46. else ()
  47. list(APPEND COMMON_SOURCES dynamic.c)
  48. endif ()
  49. else ()
  50. list(APPEND COMMON_SOURCES parameter.c)
  51. endif ()
  52. #ifdef EXPRECISION
  53. #COMMONOBJS += x_abs.$(SUFFIX) qlamch.$(SUFFIX) qlamc3.$(SUFFIX)
  54. #endif
  55. #
  56. #ifdef QUAD_PRECISION
  57. #COMMONOBJS += addx.$(SUFFIX) mulx.$(SUFFIX)
  58. #endif
  59. #
  60. #ifdef USE_CUDA
  61. #COMMONOBJS += cuda_init.$(SUFFIX)
  62. #endif
  63. #
  64. #ifdef FUNCTION_PROFILE
  65. #COMMONOBJS += profile.$(SUFFIX)
  66. #endif
  67. #LIBOTHERS = libothers.$(LIBSUFFIX)
  68. #ifeq ($(DYNAMIC_ARCH), 1)
  69. #HPLOBJS = memory.$(SUFFIX) xerbla.$(SUFFIX) dynamic.$(SUFFIX)
  70. #else
  71. #HPLOBJS = memory.$(SUFFIX) xerbla.$(SUFFIX) parameter.$(SUFFIX)
  72. #endif
  73. add_library(driver_others OBJECT ${OPENBLAS_SRC} ${MEMORY} ${SMP_SOURCES} ${COMMON_SOURCES})