cmake_minimum_required(VERSION 3.16) project(moss_tts_codec CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() # AXera BSP runtime root (contains include/ with ax_engine_api.h, ax_sys_api.h # and lib/ with libax_engine.so, libax_sys.so). Leave empty for a host # configure/build check — the engine wrapper compiles to a throwing stub. set(AX_RUNTIME_ROOT "" CACHE PATH "AX BSP runtime root (include/ + lib/)") add_library(moss_codec STATIC src/ax_runner.cpp src/codec_quantizer.cpp src/codec_decode.cpp src/wav_writer.cpp ) target_include_directories(moss_codec PUBLIC src) if(AX_RUNTIME_ROOT) target_compile_definitions(moss_codec PRIVATE MOSS_WITH_AX_ENGINE=1) target_include_directories(moss_codec PRIVATE ${AX_RUNTIME_ROOT}/include) target_link_directories(moss_codec PUBLIC ${AX_RUNTIME_ROOT}/lib) target_link_libraries(moss_codec PUBLIC ax_engine ax_sys ax_interpreter) message(STATUS "moss_codec: AX runtime from ${AX_RUNTIME_ROOT}") else() message(STATUS "moss_codec: AX_RUNTIME_ROOT not set — building host stub (no NPU runtime)") endif() add_executable(moss_codec_cli src/main.cpp) target_link_libraries(moss_codec_cli PRIVATE moss_codec)