From ed25726d2992f8a395a8d4ed9bd5e85d231c471e Mon Sep 17 00:00:00 2001
From: root <root@localhost.localdomain>
Date: 星期五, 28 四月 2023 17:00:56 +0800
Subject: [PATCH] add offline websocket support

---
 funasr/runtime/onnxruntime/CMakeLists.txt |   54 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 48 insertions(+), 6 deletions(-)

diff --git a/funasr/runtime/onnxruntime/CMakeLists.txt b/funasr/runtime/onnxruntime/CMakeLists.txt
index 7948186..be337ed 100644
--- a/funasr/runtime/onnxruntime/CMakeLists.txt
+++ b/funasr/runtime/onnxruntime/CMakeLists.txt
@@ -1,7 +1,9 @@
-cmake_minimum_required(VERSION 3.10)
+cmake_minimum_required(VERSION 3.16)
 
-project(FunASRonnx)
+project(FunASROnnx)
 
+option(ENABLE_GLOG "Whether to build glog" ON)
+option(ENABLE_WEBSOCKET "Whether to build websocket server" ON)
 # set(CMAKE_CXX_STANDARD 11)
 set(CMAKE_CXX_STANDARD 14 CACHE STRING "The C++ version to be used.")
 set(CMAKE_POSITION_INDEPENDENT_CODE ON)
@@ -25,9 +27,49 @@
     link_directories(${ONNXRUNTIME_DIR}/lib)
 endif()
 
-include_directories(${PROJECT_SOURCE_DIR}/kaldi-native-fbank)
+if(ENABLE_WEBSOCKET)
+  cmake_policy(SET CMP0135 NEW)
 
-add_subdirectory("./third_party/yaml-cpp")
-add_subdirectory(kaldi-native-fbank/kaldi-native-fbank/csrc)
+  include(FetchContent)
+  FetchContent_Declare(websocketpp
+  GIT_REPOSITORY https://github.com/zaphoyd/websocketpp.git
+    GIT_TAG 0.8.2
+    SOURCE_DIR ${PROJECT_SOURCE_DIR}/third_party/websocket
+    )
+  
+  FetchContent_MakeAvailable(websocketpp)
+  include_directories(${PROJECT_SOURCE_DIR}/third_party/websocket)
+  add_subdirectory(third_party/websocket)
+
+  FetchContent_Declare(asio
+     URL   https://github.com/chriskohlhoff/asio/archive/refs/tags/asio-1-24-0.tar.gz
+   SOURCE_DIR ${PROJECT_SOURCE_DIR}/third_party/asio
+  )
+  
+  FetchContent_MakeAvailable(asio)
+  include_directories(${PROJECT_SOURCE_DIR}/third_party/asio/asio/include)
+ 
+  FetchContent_Declare(json
+     URL   https://github.com/nlohmann/json/archive/refs/tags/v3.11.2.tar.gz
+   SOURCE_DIR ${PROJECT_SOURCE_DIR}/third_party/json
+  )
+  
+  FetchContent_MakeAvailable(json)
+  include_directories(${PROJECT_SOURCE_DIR}/third_party/json/include)
+ 
+endif()
+
+include_directories(${PROJECT_SOURCE_DIR}/third_party/kaldi-native-fbank)
+include_directories(${PROJECT_SOURCE_DIR}/third_party/yaml-cpp/include)
+
+add_subdirectory(third_party/yaml-cpp)
+add_subdirectory(third_party/kaldi-native-fbank/kaldi-native-fbank/csrc)
 add_subdirectory(src)
-add_subdirectory(tester)
+
+if(ENABLE_GLOG)
+    include_directories(${PROJECT_SOURCE_DIR}/third_party/glog)
+    set(BUILD_TESTING OFF)
+    add_subdirectory(third_party/glog)
+endif()
+
+

--
Gitblit v1.9.1