cmake_minimum_required(VERSION 3.22.1) project(androidcast_codecs C) set(CMAKE_C_STANDARD 11) set(THIRD_PARTY_ROOT ${CMAKE_SOURCE_DIR}/../third-party) set(NDK_BRIDGE ${CMAKE_SOURCE_DIR}) add_library(androidcast_codecs SHARED ${NDK_BRIDGE}/jni/androidcast_codecs.c ${NDK_BRIDGE}/jni/libvpx_bridge.c ${NDK_BRIDGE}/jni/opus_bridge.c ${NDK_BRIDGE}/jni/speex_bridge.c ) target_include_directories(androidcast_codecs PRIVATE ${NDK_BRIDGE}/jni ) if(DEFINED ENV{ANDROIDCAST_LIBVPX_LIB} AND EXISTS "$ENV{ANDROIDCAST_LIBVPX_LIB}") message(STATUS "Linking libvpx from $ENV{ANDROIDCAST_LIBVPX_LIB}") target_compile_definitions(androidcast_codecs PRIVATE ANDROIDCAST_HAVE_LIBVPX=1) target_link_libraries(androidcast_codecs "$ENV{ANDROIDCAST_LIBVPX_LIB}") if(EXISTS "${THIRD_PARTY_ROOT}/libvpx") target_include_directories(androidcast_codecs PRIVATE "${THIRD_PARTY_ROOT}/libvpx") endif() elseif(EXISTS "${THIRD_PARTY_ROOT}/libvpx") message(STATUS "libvpx submodule present — set ANDROIDCAST_LIBVPX_LIB to link (see ndk/README.md)") endif() find_library(log-lib log) target_link_libraries(androidcast_codecs ${log-lib})