CMakeLists.txt 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. file(REMOVE ${PROJECT_SOURCE_DIR}/third_party/glog/src/config.h
  19. ${PROJECT_SOURCE_DIR}/third_party/glog/src/glog/export.h
  20. ${PROJECT_SOURCE_DIR}/third_party/glog/src/glog/logging.h
  21. ${PROJECT_SOURCE_DIR}/third_party/glog/src/glog/raw_logging.h
  22. ${PROJECT_SOURCE_DIR}/third_party/glog/src/glog/stl_logging.h
  23. ${PROJECT_SOURCE_DIR}/third_party/glog/src/glog/vlog_is_on.h)
  24. ELSE()
  25. link_directories(${ONNXRUNTIME_DIR}/lib)
  26. link_directories(${FFMPEG_DIR}/lib)
  27. endif()
  28. include_directories(${CMAKE_SOURCE_DIR}/src)
  29. include_directories(${PROJECT_SOURCE_DIR}/third_party/kaldi-native-fbank)
  30. include_directories(${PROJECT_SOURCE_DIR}/third_party/yaml-cpp/include)
  31. include_directories(${PROJECT_SOURCE_DIR}/third_party/jieba/include)
  32. include_directories(${PROJECT_SOURCE_DIR}/third_party/jieba/include/limonp/include)
  33. include_directories(${PROJECT_SOURCE_DIR}/third_party/kaldi)
  34. if(ENABLE_GLOG)
  35. include_directories(${PROJECT_SOURCE_DIR}/third_party/glog/src)
  36. set(BUILD_TESTING OFF)
  37. add_subdirectory(third_party/glog)
  38. include_directories(${glog_BINARY_DIR})
  39. endif()
  40. if(ENABLE_FST)
  41. # fst depend on glog and gflags
  42. include_directories(${PROJECT_SOURCE_DIR}/third_party/gflags)
  43. add_subdirectory(third_party/gflags)
  44. include_directories(${gflags_BINARY_DIR}/include)
  45. # the following openfst if cloned from https://github.com/kkm000/openfst.git
  46. # with some patch to fix the make errors.
  47. add_subdirectory(third_party/openfst)
  48. include_directories(${openfst_SOURCE_DIR}/src/include)
  49. if(WIN32)
  50. include_directories(${openfst_SOURCE_DIR}/src/lib)
  51. endif()
  52. endif()
  53. add_subdirectory(third_party/yaml-cpp)
  54. add_subdirectory(third_party/kaldi-native-fbank/kaldi-native-fbank/csrc)
  55. add_subdirectory(third_party/kaldi)
  56. add_subdirectory(src)
  57. add_subdirectory(bin)