cmake_minimum_required(VERSION 3.15)

project(asr_vlm)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -Wall -Werror -Wl,-unresolved-symbols=ignore-in-shared-libs")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-function -Wno-unused-parameter -Wno-unused-variable -Wno-error")

set(CMAKE_BUILD_TYPE ${build_type})

# debug
set(CMAKE_CXX_FLAGS_DEBUG " -g -O0 -ggdb -pipe -fPIC ")
set(CMAKE_C_FLAGS_DEBUG " -g -O0 -ggdb -pipe -fPIC ")
# release
set(CMAKE_CXX_FLAGS_RELEASE " -O3 -pipe -fPIC ")
set(CMAKE_C_FLAGS_RELEASE " -O3 -pipe -fPIC ")

set(CMAKE_C_STANDARD 17)
set(CMAKE_C_STANDARD_REQUIRED ON)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

find_package(OpenCV REQUIRED)

include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../include)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/essentia/include)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/eigen-5.0.1)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/onnxruntime-linux-aarch64-1.12.1/include/)

link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../lib)
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/onnxruntime-linux-aarch64-1.12.1/lib/)

set(LINK_LIBS xlm essentia)


add_executable(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/asr_vlm.cc)

target_link_libraries(${PROJECT_NAME} ${LINK_LIBS} portaudio onnxruntime samplerate ${OpenCV_LIBS})