CMakeLists.txt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
  2. project(sherpa-ncnn)
  3. set(SHERPA_NCNN_VERSION_MAJOR "1")
  4. set(SHERPA_NCNN_VERSION_MINOR "0")
  5. set(SHERPA_NCNN_VERSION "${SHERPA_NCNN_VERSION_MAJOR}.${SHERPA_NCNN_VERSION_MINOR}")
  6. set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
  7. set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
  8. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
  9. set(CMAKE_SKIP_BUILD_RPATH FALSE)
  10. set(BUILD_RPATH_USE_ORIGIN TRUE)
  11. set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
  12. if(NOT APPLE)
  13. set(SHERPA_NCNN_RPATH_ORIGIN "$ORIGIN")
  14. else()
  15. set(SHERPA_NCNN_RPATH_ORIGIN "@loader_path")
  16. endif()
  17. set(CMAKE_INSTALL_RPATH ${SHERPA_NCNN_RPATH_ORIGIN})
  18. set(CMAKE_BUILD_RPATH ${SHERPA_NCNN_RPATH_ORIGIN})
  19. option(BUILD_SHARED_LIBS "Whether to build shared libraries" OFF)
  20. message(STATUS "BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}")
  21. if(NOT CMAKE_BUILD_TYPE)
  22. message(STATUS "No CMAKE_BUILD_TYPE given, default to Release")
  23. set(CMAKE_BUILD_TYPE Release)
  24. endif()
  25. message(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
  26. set(CMAKE_CXX_STANDARD 14 CACHE STRING "The C++ version to be used.")
  27. set(CMAKE_CXX_EXTENSIONS OFF)
  28. list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
  29. list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
  30. set(CMAKE_CXX_STANDARD 11 CACHE STRING "The C++ version to be used.")
  31. set(CMAKE_CXX_EXTENSIONS OFF)
  32. option(SHERPA_NCNN_ENABLE_PORTAUDIO "Whether to build with portaudio" ON)
  33. include(kaldi-native-fbank)
  34. include(ncnn)
  35. if(SHERPA_NCNN_ENABLE_PORTAUDIO)
  36. include(portaudio)
  37. endif()
  38. add_subdirectory(sherpa-ncnn)