CMakeLists.txt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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(${PROJECT_SOURCE_DIR}/third_party/kaldi-native-fbank)
  28. include_directories(${PROJECT_SOURCE_DIR}/third_party/yaml-cpp/include)
  29. if(ENABLE_GLOG)
  30. include_directories(${PROJECT_SOURCE_DIR}/third_party/glog/src)
  31. set(BUILD_TESTING OFF)
  32. add_subdirectory(third_party/glog)
  33. include_directories(${glog_BINARY_DIR})
  34. endif()
  35. if(ENABLE_FST)
  36. # fst depend on glog and gflags
  37. include_directories(${PROJECT_SOURCE_DIR}/third_party/gflags)
  38. add_subdirectory(third_party/gflags)
  39. include_directories(${gflags_BINARY_DIR}/include)
  40. # the following openfst if cloned from https://github.com/kkm000/openfst.git
  41. # with some patch to fix the make errors.
  42. add_subdirectory(third_party/openfst)
  43. include_directories(${openfst_SOURCE_DIR}/src/include)
  44. endif()
  45. add_subdirectory(third_party/yaml-cpp)
  46. add_subdirectory(third_party/kaldi-native-fbank/kaldi-native-fbank/csrc)
  47. add_subdirectory(src)
  48. add_subdirectory(bin)