cmake_minimum_required(VERSION 3.14) project(kokoro_axera LANGUAGES CXX) add_definitions(-DCHIP_AX650) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(AX_HEADER_DIR /opt/projects/manifest/ax650/header/external) include_directories(${AX_HEADER_DIR}) set(ONNX_DIR ${CMAKE_SOURCE_DIR}/third_party/onnxruntime-linux-aarch64-static_lib-1.16.0) include_directories(${ONNX_DIR}/include) set(ESPEAK_DIR ${CMAKE_SOURCE_DIR}/third_party/espeak-ng) include_directories(${ESPEAK_DIR}/include) set(SOURCES src/api/ax_tts_api.cpp src/tts/kokoro.cpp src/utils/string_utils.cpp src/utils/memory_utils.cpp src/ax_model_runner/ax_model_runner.cpp src/ax_model_runner/ax_engine_guard.cpp src/frontend/kokoro_frontend.cpp src/g2p/EspeakG2P.cpp src/g2p/ZhJiebaG2P.cpp src/text_normalizer/text_normalizer.cpp src/text_processor/PinyinFinder.cpp ) add_library(kokoro_axera SHARED ${SOURCES}) target_include_directories(kokoro_axera PRIVATE ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/api ${CMAKE_SOURCE_DIR}/src/tts ${CMAKE_SOURCE_DIR}/src/utils ${CMAKE_SOURCE_DIR}/src/ax_model_runner ${CMAKE_SOURCE_DIR}/src/frontend ${CMAKE_SOURCE_DIR}/src/g2p ${CMAKE_SOURCE_DIR}/src/text_processor ${CMAKE_SOURCE_DIR}/src/text_cleaner ${CMAKE_SOURCE_DIR}/src/text_normalizer ${ESPEAK_DIR}/include ) target_link_libraries(kokoro_axera ${ONNX_DIR}/lib/aarch64/libonnxruntime.a ${ESPEAK_DIR}/lib/aarch64/libespeak-ng.a ${ESPEAK_DIR}/lib/aarch64/libspeechPlayer.a ${ESPEAK_DIR}/lib/aarch64/libucd.a pthread dl -Wl,--allow-shlib-undefined ) add_executable(kokoro_cli src/main.cpp) target_include_directories(kokoro_cli PRIVATE ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/api) target_link_libraries(kokoro_cli kokoro_axera) install(TARGETS kokoro_axera kokoro_cli RUNTIME DESTINATION bin LIBRARY DESTINATION lib)