CMakeLists.txt 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. # Copyright FunASR (https://github.com/alibaba-damo-academy/FunASR). All Rights
  2. # Reserved. MIT License (https://opensource.org/licenses/MIT)
  3. #
  4. # 2023 by burkliu(刘柏基) liubaiji@xverse.cn
  5. cmake_minimum_required(VERSION 3.10)
  6. project(ASR C CXX)
  7. set(CMAKE_CXX_STANDARD 14 CACHE STRING "The C++ version to be used.")
  8. set(CMAKE_POSITION_INDEPENDENT_CODE ON)
  9. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
  10. set(CMAKE_VERBOSE_MAKEFILE on)
  11. set(BUILD_TESTING OFF)
  12. include(common.cmake)
  13. # Proto file
  14. get_filename_component(rg_proto ../python/grpc/proto/paraformer.proto ABSOLUTE)
  15. get_filename_component(rg_proto_path ${rg_proto} PATH)
  16. # Generated sources
  17. set(rg_proto_srcs ${CMAKE_CURRENT_BINARY_DIR}/paraformer.pb.cc)
  18. set(rg_proto_hdrs ${CMAKE_CURRENT_BINARY_DIR}/paraformer.pb.h)
  19. set(rg_grpc_srcs ${CMAKE_CURRENT_BINARY_DIR}/paraformer.grpc.pb.cc)
  20. set(rg_grpc_hdrs ${CMAKE_CURRENT_BINARY_DIR}/paraformer.grpc.pb.h)
  21. add_custom_command(
  22. OUTPUT ${rg_proto_srcs} ${rg_proto_hdrs} ${rg_grpc_srcs} ${rg_grpc_hdrs}
  23. COMMAND ${_PROTOBUF_PROTOC}
  24. ARGS --grpc_out ${CMAKE_CURRENT_BINARY_DIR}
  25. --cpp_out ${CMAKE_CURRENT_BINARY_DIR}
  26. -I ${rg_proto_path}
  27. --plugin=protoc-gen-grpc=${_GRPC_CPP_PLUGIN_EXECUTABLE}
  28. ${rg_proto}
  29. DEPENDS ${rg_proto})
  30. # Include generated *.pb.h files
  31. include_directories(${CMAKE_CURRENT_BINARY_DIR})
  32. link_directories(${ONNXRUNTIME_DIR}/lib)
  33. link_directories(${FFMPEG_DIR}/lib)
  34. include_directories(${PROJECT_SOURCE_DIR}/../onnxruntime/include/)
  35. include_directories(${PROJECT_SOURCE_DIR}/../onnxruntime/third_party/yaml-cpp/include/)
  36. include_directories(${PROJECT_SOURCE_DIR}/../onnxruntime/third_party/kaldi-native-fbank)
  37. add_subdirectory(${PROJECT_SOURCE_DIR}/../onnxruntime/third_party/yaml-cpp yaml-cpp)
  38. add_subdirectory(${PROJECT_SOURCE_DIR}/../onnxruntime/third_party/kaldi-native-fbank/kaldi-native-fbank/csrc csrc)
  39. add_subdirectory(${PROJECT_SOURCE_DIR}/../onnxruntime/src src)
  40. include_directories(${PROJECT_SOURCE_DIR}/../onnxruntime/third_party/glog)
  41. add_subdirectory(${PROJECT_SOURCE_DIR}/../onnxruntime/third_party/glog glog)
  42. # rg_grpc_proto
  43. add_library(rg_grpc_proto ${rg_grpc_srcs} ${rg_grpc_hdrs} ${rg_proto_srcs} ${rg_proto_hdrs})
  44. target_link_libraries(rg_grpc_proto ${_REFLECTION} ${_GRPC_GRPCPP} ${_PROTOBUF_LIBPROTOBUF})
  45. add_executable(paraformer-server paraformer-server.cc)
  46. target_link_libraries(paraformer-server
  47. rg_grpc_proto
  48. funasr
  49. ${EXTRA_LIBS}
  50. ${_REFLECTION}
  51. ${_GRPC_GRPCPP}
  52. ${_PROTOBUF_LIBPROTOBUF})