vad_cpp / CMakeLists.txt
hzeng412's picture
Duplicate from MoYoYoTech/vad_cpp
d21d362
cmake_minimum_required(VERSION 3.16)
project(VadOnnx)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
# 可选:测试是否为大端系统(用于音频处理等场景)
include(TestBigEndian)
test_big_endian(BIG_ENDIAN)
if(BIG_ENDIAN)
message("Big endian system")
else()
message("Little endian system")
endif()
# 查找 ONNX Runtime 安装路径
if(NOT DEFINED ONNXRUNTIME_DIR OR NOT EXISTS ${ONNXRUNTIME_DIR})
message(FATAL_ERROR "Please specify ONNXRUNTIME_DIR when configuring, e.g. cmake -DONNXRUNTIME_DIR=/path/to/onnxruntime ..")
endif()
# 使用 pkg-config 查找 sndfile
find_package(PkgConfig REQUIRED)
pkg_check_modules(SNDFILE REQUIRED IMPORTED_TARGET sndfile)
# # 添加 ONNX Runtime include 路径
# include_directories(${ONNXRUNTIME_DIR}/include)
# file(GLOB SOURCES_FILES "${CMAKE_SOURCE_DIR}/src/*.cpp")
# set(files ${files1})
# add_library(vad_onnx SHARED ${SOURCES_FILES})
# add_library(vad_onnx SHARED ${CMAKE_SOURCE_DIR}/src/vad_onnx.cpp)
# 设置库输出名称(跨平台兼容)
# set_target_properties(vad_onnx PROPERTIES
# PREFIX ""
# SUFFIX ".so"
# LIBRARY_OUTPUT_NAME_DEBUG "vad_onnx"
# LIBRARY_OUTPUT_NAME_RELEASE "vad_onnx"
# )
# 链接 ONNX Runtime 库
# if(APPLE)
# # macOS 上链接 dylib
# target_link_libraries(vad_onnx PRIVATE ${ONNXRUNTIME_DIR}/lib/libonnxruntime.dylib)
# elseif(UNIX)
# # Linux 上链接 so
# target_link_libraries(vad_onnx PRIVATE ${ONNXRUNTIME_DIR}/lib/libonnxruntime.so)
# elseif(WIN32)
# # Windows 上链接 dll + lib
# target_link_libraries(vad_onnx PRIVATE ${ONNXRUNTIME_DIR}/lib/onnxruntime.lib)
# set_target_properties(vad_onnx PROPERTIES SUFFIX ".dll")
# else()
# message(WARNING "Unknown platform, no ONNX Runtime linking applied.")
# endif()
# 添加项目头文件目录
# include_directories(${CMAKE_SOURCE_DIR}/src)
# 可选:添加 ffmpeg 等其他依赖
# if (ENABLE_FFMPEG)
# include_directories(${FFMPEG_DIR}/include)
# target_link_libraries(vad_onnx PRIVATE ${FFMPEG_DIR}/lib/libavcodec.a ${FFMPEG_DIR}/lib/libavutil.a)
# endif()
# https://github.com/snakers4/silero-vad examples/cpp
add_subdirectory(silero_vad_onnx)
# from moyoyo/translator python/helpers/vadprocessor.py
add_subdirectory(vad_onnx)
# 编译测试程序
add_subdirectory(bin)