cmake_minimum_required(VERSION 3.22.1)
project(rec_lame C)

set(LAME_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lame)
set(LAME_LIB ${LAME_DIR}/libmp3lame)

set(LAME_SOURCES
    ${LAME_LIB}/bitstream.c
    ${LAME_LIB}/encoder.c
    ${LAME_LIB}/fft.c
    ${LAME_LIB}/gain_analysis.c
    ${LAME_LIB}/id3tag.c
    ${LAME_LIB}/lame.c
    ${LAME_LIB}/newmdct.c
    ${LAME_LIB}/presets.c
    ${LAME_LIB}/psymodel.c
    ${LAME_LIB}/quantize.c
    ${LAME_LIB}/quantize_pvt.c
    ${LAME_LIB}/reservoir.c
    ${LAME_LIB}/set_get.c
    ${LAME_LIB}/tables.c
    ${LAME_LIB}/takehiro.c
    ${LAME_LIB}/util.c
    ${LAME_LIB}/vbrquantize.c
    ${LAME_LIB}/VbrTag.c
    ${LAME_LIB}/version.c
)

add_library(mp3lame SHARED ${LAME_SOURCES})
target_include_directories(mp3lame PRIVATE
    ${CMAKE_CURRENT_SOURCE_DIR}
    ${LAME_DIR}/include
    ${LAME_LIB}
)
target_compile_definitions(mp3lame PRIVATE HAVE_CONFIG_H)
target_compile_options(mp3lame PRIVATE -O2 -fPIC -w)

add_library(rec_lame SHARED lame_jni.c)
target_include_directories(rec_lame PRIVATE ${LAME_DIR}/include)
target_link_libraries(rec_lame mp3lame log)
