6217351a12
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)
57 lines
1.6 KiB
CMake
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} )
|
|
|