1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-16 08:09:32 +02:00
audacity/cmake-proxies/lame/CMakeLists.txt
Carlo Bramini 22b47bf0ae
[CMAKE] LAME: fix compilation error. (#466)
If you try to build local LAME with CMake for i686, you get many error messages like this one:

C:/cygwin64/home/Carlo/audacity/lib-src/libmp3lame/vector/xmm_quantize_sub.c: In function 'init_xrpow_core_sse':
C:/cygwin64/home/Carlo/audacity/lib-src/libmp3lame/vector/xmm_quantize_sub.c:72:18: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]

The solution is to add the option provided by SSE_FLAGS.
So, I replicated in this PR the same fix made for local soundtouch library.
2020-03-24 13:54:21 -05:00

104 lines
2.8 KiB
CMake

add_library( ${TARGET} STATIC )
def_vars()
list( APPEND SOURCES
PRIVATE
# libmp3lame
${TARGET_ROOT}/../libmp3lame/bitstream.c
${TARGET_ROOT}/../libmp3lame/encoder.c
${TARGET_ROOT}/../libmp3lame/fft.c
${TARGET_ROOT}/../libmp3lame/gain_analysis.c
${TARGET_ROOT}/../libmp3lame/id3tag.c
${TARGET_ROOT}/../libmp3lame/lame.c
${TARGET_ROOT}/../libmp3lame/mpglib_interface.c
${TARGET_ROOT}/../libmp3lame/newmdct.c
${TARGET_ROOT}/../libmp3lame/presets.c
${TARGET_ROOT}/../libmp3lame/psymodel.c
${TARGET_ROOT}/../libmp3lame/quantize.c
${TARGET_ROOT}/../libmp3lame/quantize_pvt.c
${TARGET_ROOT}/../libmp3lame/reservoir.c
${TARGET_ROOT}/../libmp3lame/set_get.c
${TARGET_ROOT}/../libmp3lame/tables.c
${TARGET_ROOT}/../libmp3lame/takehiro.c
${TARGET_ROOT}/../libmp3lame/util.c
${TARGET_ROOT}/../libmp3lame/vbrquantize.c
${TARGET_ROOT}/../libmp3lame/VbrTag.c
${TARGET_ROOT}/../libmp3lame/version.c
${TARGET_ROOT}/../libmp3lame/vector/xmm_quantize_sub.c
# mpglib
${TARGET_ROOT}/../mpglib/common.c
${TARGET_ROOT}/../mpglib/dct64_i386.c
${TARGET_ROOT}/../mpglib/decode_i386.c
${TARGET_ROOT}/../mpglib/interface.c
${TARGET_ROOT}/../mpglib/layer1.c
${TARGET_ROOT}/../mpglib/layer2.c
${TARGET_ROOT}/../mpglib/layer3.c
${TARGET_ROOT}/../mpglib/tabinit.c
)
list( APPEND INCLUDES
PRIVATE
${_PRVDIR}
${TARGET_ROOT}/../libmp3lame
${TARGET_ROOT}/../mpglib
PUBLIC
${_PUBDIR}
)
list( APPEND DEFINES
PRIVATE
HAVE_CONFIG_H
)
list( APPEND OPTIONS
PRIVATE
${MMX_FLAG}
${SSE_FLAG}
)
set( HAVE_INT8_T SIZEOF_INT8_T )
set( HAVE_INT16_T SIZEOF_INT16_T )
set( HAVE_INT32_T SIZEOF_INT32_T )
set( HAVE_INT64_T SIZEOF_INT64_T )
set( HAVE_UINT16_T SIZEOF_UINT16_T )
set( HAVE_UINT32_T SIZEOF_UINT32_T )
set( HAVE_UINT64_T SIZEOF_UINT64_T )
if( SIZEOF_SHORT EQUAL 4 )
set( A_INT32_T int )
elseif( SIZEOF_INT EQUAL 4 )
set( A_INT32_T int )
elseif( SIZEOF_LONG EQUAL 4 )
set( A_INT32_T long )
endif()
if( SIZEOF_INT EQUAL 8 )
set( A_INT64_T int )
elseif( SIZEOF_LONG EQUAL 8 )
set( A_INT64_T long )
elseif( SIZEOF_LONG_LONG EQUAL 8 )
set( A_INT64_T long long )
endif()
set( DECODE_ON_THE_FLY 1 )
set( HAVE_MPGLIB 1 )
set( TAKEHIRO_IEEE754_HACK 1 )
set( USE_FAST_LOG 1 )
if( ${CMakeDetermineASM_NASMCompiler} )
set( HAVE_NASM 1 )
endif()
configure_file( config.h.in private/config.h )
configure_file( lame.h.in public/lame/lame.h )
#organize_source( "${TARGET_ROOT}" "" "${SOURCES}" )
target_sources( ${TARGET} PRIVATE ${SOURCES} )
target_compile_definitions( ${TARGET} PRIVATE ${DEFINES} )
target_include_directories( ${TARGET} PRIVATE ${INCLUDES} )
target_compile_options( ${TARGET} PRIVATE ${OPTIONS} )
target_link_libraries( ${TARGET} PRIVATE ${LIBRARIES} )