cmake_minimum_required(VERSION 3.22) project(ts3audio LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 20) find_package(oboe REQUIRED CONFIG) # libopus from its release tarball, built static into our one library. include(FetchContent) FetchContent_Declare(opus URL https://github.com/xiph/opus/releases/download/v1.5.2/opus-1.5.2.tar.gz URL_HASH SHA256=65c1d2f78b9f2fb20082c38cbe47c951ad5839345876e46941612ee87f9a7ce1) set(OPUS_BUILD_PROGRAMS OFF CACHE BOOL "" FORCE) set(OPUS_BUILD_TESTING OFF CACHE BOOL "" FORCE) set(OPUS_BUILD_SHARED_LIBRARY OFF CACHE BOOL "" FORCE) set(OPUS_INSTALL_PKG_CONFIG_MODULE OFF CACHE BOOL "" FORCE) set(OPUS_INSTALL_CMAKE_CONFIG_MODULE OFF CACHE BOOL "" FORCE) FetchContent_MakeAvailable(opus) add_library(ts3audio SHARED audio_line.cpp opus_jni.cpp) target_link_libraries(ts3audio PRIVATE oboe::oboe opus log) target_compile_options(ts3audio PRIVATE -Wall -Wextra)