CMakeLists.txt 967 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. cmake_minimum_required(VERSION 3.22.2)
  2. project(ggml-htp C CXX ASM)
  3. include(${HEXAGON_SDK_ROOT}/build/cmake/hexagon_fun.cmake)
  4. include_directories(
  5. ${HEXAGON_SDK_ROOT}/incs
  6. ${HEXAGON_SDK_ROOT}/incs/stddef
  7. ${CMAKE_CURRENT_SOURCE_DIR}/../..
  8. ${CMAKE_CURRENT_SOURCE_DIR}/..
  9. ${CMAKE_CURRENT_SOURCE_DIR}
  10. ${CMAKE_CURRENT_BINARY_DIR})
  11. set(HTP_LIB ggml-htp-${DSP_VERSION})
  12. add_library(${HTP_LIB} SHARED
  13. main.c
  14. htp_iface_skel.c
  15. worker-pool.c
  16. htp-dma.c
  17. hvx-sigmoid.c
  18. hvx-inverse.c
  19. hvx-exp.c
  20. hvx-utils.c
  21. matmul-ops.c
  22. binary-ops.c
  23. unary-ops.c
  24. softmax-ops.c
  25. act-ops.c
  26. rope-ops.c
  27. )
  28. target_compile_definitions(${HTP_LIB} PRIVATE
  29. $<IF:$<BOOL:${HEXAGON_HTP_DEBUG}>,HTP_DEBUG=1,NDEBUG=1>
  30. FP32_QUANTIZE_GROUP_SIZE=${GGML_HEXAGON_FP32_QUANTIZE_GROUP_SIZE})
  31. build_idl(htp_iface.idl ${HTP_LIB})
  32. set_target_properties(${HTP_LIB} PROPERTIES EXPORT_COMPILE_COMMANDS ON)
  33. install(TARGETS ${HTP_LIB})