1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-03 00:59:43 +02:00
audacity/cmake-proxies/lame/CMakeLists.txt
Leland Lucius 70bbfb69d5 Last major update to the cmake build
I'm sure there will be further minor updates, but this
should be the last major update and it should be ready
for testing.

Audacity specific cmake options (cmake -Doption=<yes|no>) include:

   // Disable dynamic loading of ffmpeg libraries
   disable_dynamic_ffmpeg:BOOL=OFF

   // Disable dynamic loading of JACK libraries
   disable_dynamic_jack:BOOL=ON

   // Enable ffmpeg library
   enable_ffmpeg:BOOL=ON

   // Enable flac library
   enable_flac:BOOL=ON

   // Enable id3tag library
   enable_id3tag:BOOL=ON

   // Enable LADSPA plug-in support
   enable_ladspa:BOOL=ON

   // Enable lv2 library
   enable_lv2:BOOL=ON

   // Enable mad library
   enable_mad:BOOL=ON

   // Enable midi library
   enable_midi:BOOL=ON

   // Enable nyquist library
   enable_nyquist:BOOL=ON

   // Enable ogg library
   enable_ogg:BOOL=ON

   // Enable portmixer library
   enable_portmixer:BOOL=ON

   // Enable portsmf library
   enable_portsmf:BOOL=ON

   // Enable sbsms library
   enable_sbsms:BOOL=ON

   // Enable soundtouch library
   enable_soundtouch:BOOL=ON

   // Enable twolame library
   enable_twolame:BOOL=ON

   // Enable vamp library
   enable_vamp:BOOL=ON

   // Enable vorbis library
   enable_vorbis:BOOL=ON

   // Enable VST2 plug-in support
   enable_vst:BOOL=ON

   // Use system libraries if available
   prefer_system_libs:BOOL=ON

   // Enable the portaudio ALSA interface if available
   use_pa_alsa:BOOL=ON

   // Enable the portaudio CoreAudio interface if available
   use_pa_coreaudio:BOOL=ON

   // Enable the portaudio DirectSound interface if available
   use_pa_ds:BOOL=ON

   // Use the JACK audio interface if available
   use_pa_jack:BOOL=ON

   // Use the OSS audio interface if available
   use_pa_oss:BOOL=ON

   // Enable the portaudio WASAPI interface if available
   use_pa_wasapi:BOOL=ON

   // Enable the portaudio WMME interface if available
   use_pa_wmme:BOOL=ON

   // Use ffmpeg system library if available
   use_system_ffmpeg:BOOL=ON

   // Use flac system library if available
   use_system_flac:BOOL=ON

   // Use id3tag system library if available
   use_system_id3tag:BOOL=ON

   // Use lame system library if available
   use_system_lame:BOOL=ON

   // Use lv2 system library if available
   use_system_lv2:BOOL=ON

   // Use mad system library if available
   use_system_mad:BOOL=ON

   // Use midi system library if available
   use_system_midi:BOOL=ON

   // Use ogg system library if available
   use_system_ogg:BOOL=ON

   // Use portsmf system library if available
   use_system_portsmf:BOOL=ON

   // Use sbsms system library if available
   use_system_sbsms:BOOL=ON

   // Use sndfile system library if available
   use_system_sndfile:BOOL=ON

   // Use soundtouch system library if available
   use_system_soundtouch:BOOL=ON

   // Use soxr system library if available
   use_system_soxr:BOOL=ON

   // Use twolame system library if available
   use_system_twolame:BOOL=ON

   // Use vamp system library if available
   use_system_vamp:BOOL=ON

   // Use vorbis system library if available
   use_system_vorbis:BOOL=ON

   // Use wxwidgets system library if available
   use_system_wxwidgets:BOOL=ON
2020-02-11 01:15:26 -06:00

97 lines
2.7 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
)
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_link_libraries( ${TARGET} PRIVATE ${LIBRARIES} )