You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.6 KiB
64 lines
1.6 KiB
cmake_minimum_required(VERSION 3.10)
|
|
project(paddlespeech_tts_cpp)
|
|
|
|
|
|
########## Global Options ##########
|
|
|
|
option(WITH_FRONT_DEMO "Build front demo" ON)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
set(ABSL_PROPAGATE_CXX_STD ON)
|
|
|
|
|
|
########## Dependencies ##########
|
|
|
|
set(ENV{PKG_CONFIG_PATH} "${CMAKE_SOURCE_DIR}/third-party/build/lib/pkgconfig:${CMAKE_SOURCE_DIR}/third-party/build/lib64/pkgconfig")
|
|
find_package(PkgConfig REQUIRED)
|
|
|
|
# It is hard to load xxx-config.cmake in a custom location, so use pkgconfig instead.
|
|
pkg_check_modules(ABSL REQUIRED absl_strings IMPORTED_TARGET)
|
|
pkg_check_modules(GFLAGS REQUIRED gflags IMPORTED_TARGET)
|
|
pkg_check_modules(GLOG REQUIRED libglog IMPORTED_TARGET)
|
|
|
|
# load header-only libraries
|
|
include_directories(
|
|
${CMAKE_SOURCE_DIR}/third-party/build/src/cppjieba/include
|
|
${CMAKE_SOURCE_DIR}/third-party/build/src/limonp/include
|
|
)
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
|
|
########## paddlespeech_tts_front ##########
|
|
|
|
include_directories(src)
|
|
|
|
file(GLOB FRONT_SOURCES
|
|
./src/base/*.cpp
|
|
./src/front/*.cpp
|
|
)
|
|
add_library(paddlespeech_tts_front STATIC ${FRONT_SOURCES})
|
|
|
|
target_link_libraries(
|
|
paddlespeech_tts_front
|
|
PUBLIC
|
|
PkgConfig::GFLAGS
|
|
PkgConfig::GLOG
|
|
PkgConfig::ABSL
|
|
Threads::Threads
|
|
)
|
|
|
|
|
|
########## tts_front_demo ##########
|
|
|
|
if (WITH_FRONT_DEMO)
|
|
|
|
file(GLOB FRONT_DEMO_SOURCES front_demo/*.cpp)
|
|
add_executable(tts_front_demo ${FRONT_DEMO_SOURCES})
|
|
|
|
target_include_directories(tts_front_demo PRIVATE ./front_demo)
|
|
target_link_libraries(tts_front_demo PRIVATE paddlespeech_tts_front)
|
|
|
|
endif (WITH_FRONT_DEMO)
|