CMakeLists.txt 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. cmake_minimum_required(VERSION 3.16)
  2. project(FunASROnnx)
  3. option(ENABLE_GLOG "Whether to build glog" ON)
  4. option(ENABLE_FST "Whether to build openfst" ON) # ITN need openfst compiled
  5. # set(CMAKE_CXX_STANDARD 11)
  6. set(CMAKE_CXX_STANDARD 14 CACHE STRING "The C++ version to be used.")
  7. set(CMAKE_POSITION_INDEPENDENT_CODE ON)
  8. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
  9. include(TestBigEndian)
  10. test_big_endian(BIG_ENDIAN)
  11. if(BIG_ENDIAN)
  12. message("Big endian system")
  13. else()
  14. message("Little endian system")
  15. endif()
  16. # for onnxruntime
  17. IF(WIN32)
  18. if(CMAKE_CL_64)
  19. link_directories(${ONNXRUNTIME_DIR}\\lib)
  20. else()
  21. add_definitions(-D_WIN_X86)
  22. endif()
  23. ELSE()
  24. link_directories(${ONNXRUNTIME_DIR}/lib)
  25. link_directories(${FFMPEG_DIR}/lib)
  26. endif()
  27. include_directories(${CMAKE_SOURCE_DIR}/src)
  28. include_directories(${PROJECT_SOURCE_DIR}/third_party/kaldi-native-fbank)
  29. include_directories(${PROJECT_SOURCE_DIR}/third_party/yaml-cpp/include)
  30. include_directories(${PROJECT_SOURCE_DIR}/third_party/jieba/include)
  31. include_directories(${PROJECT_SOURCE_DIR}/third_party/jieba/include/limonp/include)
  32. include_directories(${PROJECT_SOURCE_DIR}/third_party/kaldi)
  33. if(ENABLE_GLOG)
  34. include_directories(${PROJECT_SOURCE_DIR}/third_party/glog/src)
  35. set(BUILD_TESTING OFF)
  36. add_subdirectory(third_party/glog)
  37. include_directories(${glog_BINARY_DIR})
  38. endif()
  39. if(ENABLE_FST)
  40. # fst depend on glog and gflags
  41. include_directories(${PROJECT_SOURCE_DIR}/third_party/gflags)
  42. add_subdirectory(third_party/gflags)
  43. include_directories(${gflags_BINARY_DIR}/include)
  44. # the following openfst if cloned from https://github.com/kkm000/openfst.git
  45. # with some patch to fix the make errors.
  46. add_subdirectory(third_party/openfst)
  47. include_directories(${openfst_SOURCE_DIR}/src/include)
  48. endif()
  49. add_subdirectory(third_party/yaml-cpp)
  50. add_subdirectory(third_party/kaldi-native-fbank/kaldi-native-fbank/csrc)
  51. add_subdirectory(third_party/kaldi)
  52. add_subdirectory(src)
  53. add_subdirectory(bin)