audacia/cmake-proxies/twolame/CMakeLists.txt
Leland Lucius 6217351a12 Updates the cmake build system
It's still has some work, but it successfully builds on
all 3 main platforms.  Some of the outstanding items
include:

   Install target testing (mostly important for Linux)
   CMakeList clean up and comments
   Debug and Release build verification
   Audit of compile/link options
   Need a Mac signed and notarized build
   (and probably more)
2020-02-03 00:39:43 -06:00

57 lines
1.6 KiB
CMake

add_library( ${TARGET} STATIC )
list( APPEND SOURCES
PRIVATE
${TARGET_ROOT}/libtwolame/ath.c
${TARGET_ROOT}/libtwolame/availbits.c
${TARGET_ROOT}/libtwolame/bitbuffer.c
${TARGET_ROOT}/libtwolame/crc.c
${TARGET_ROOT}/libtwolame/dab.c
${TARGET_ROOT}/libtwolame/encode.c
${TARGET_ROOT}/libtwolame/energy.c
${TARGET_ROOT}/libtwolame/fft.c
${TARGET_ROOT}/libtwolame/get_set.c
${TARGET_ROOT}/libtwolame/mem.c
${TARGET_ROOT}/libtwolame/psycho_0.c
${TARGET_ROOT}/libtwolame/psycho_1.c
${TARGET_ROOT}/libtwolame/psycho_2.c
${TARGET_ROOT}/libtwolame/psycho_3.c
${TARGET_ROOT}/libtwolame/psycho_4.c
${TARGET_ROOT}/libtwolame/psycho_n1.c
${TARGET_ROOT}/libtwolame/subband.c
${TARGET_ROOT}/libtwolame/twolame.c
${TARGET_ROOT}/libtwolame/util.c
)
list( APPEND INCLUDES
PRIVATE
${CMAKE_CURRENT_BINARY_DIR}/private
PUBLIC
${TARGET_ROOT}/libtwolame
)
list( APPEND DEFINES
PRIVATE
LIBTWOLAME_STATIC
)
list( APPEND OPTIONS
PRIVATE
$<$<C_COMPILER_ID:GNU>:-Wno-implicit-function-declaration>
)
set( PACKAGE_BUGREPORT "twolame-discuss@lists.sourceforge.net" )
set( PACKAGE_VERSION "0.3.13" )
configure_file( config.h.in private/config.h )
organize_source( "${TARGET_ROOT}" "" "${SOURCES}" )
target_sources( ${TARGET} PRIVATE ${SOURCES} )
target_compile_definitions( ${TARGET} PRIVATE ${DEFINES} )
target_compile_features( ${TARGET} PRIVATE ${FEATURES} )
target_compile_options( ${TARGET} PRIVATE ${OPTIONS} )
target_include_directories( ${TARGET} PRIVATE ${INCLUDES} )
target_link_libraries( ${TARGET} PRIVATE ${LIBRARIES} )