mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-04 17:49:45 +02:00
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
98 lines
2.2 KiB
CMake
98 lines
2.2 KiB
CMake
|
|
add_library( ${TARGET} STATIC )
|
|
|
|
def_vars()
|
|
|
|
set(CMAKE_MODULE_PATH ${TARGET_ROOT}/cmake/Modules )
|
|
|
|
list( APPEND SOURCES
|
|
PRIVATE
|
|
${TARGET_ROOT}/src/cr.c
|
|
${TARGET_ROOT}/src/cr32.c
|
|
${TARGET_ROOT}/src/cr32s.c
|
|
${TARGET_ROOT}/src/cr64.c
|
|
${TARGET_ROOT}/src/cr64s.c
|
|
${TARGET_ROOT}/src/data-io.c
|
|
${TARGET_ROOT}/src/dbesi0.c
|
|
${TARGET_ROOT}/src/fft4g.c
|
|
${TARGET_ROOT}/src/fft4g32.c
|
|
${TARGET_ROOT}/src/fft4g64.c
|
|
${TARGET_ROOT}/src/filter.c
|
|
${TARGET_ROOT}/src/pffft32s.c
|
|
${TARGET_ROOT}/src/pffft64s.c
|
|
${TARGET_ROOT}/src/soxr.c
|
|
${TARGET_ROOT}/src/util32s.c
|
|
${TARGET_ROOT}/src/util64s.c
|
|
${TARGET_ROOT}/src/vr32.c
|
|
)
|
|
|
|
list( APPEND INCLUDES
|
|
PRIVATE
|
|
${_PRVDIR}
|
|
PUBLIC
|
|
${TARGET_ROOT}/src
|
|
)
|
|
|
|
list( APPEND DEFINES
|
|
PRIVATE
|
|
_USE_MATH_DEFINES
|
|
_CRT_SECURE_NO_WARNINGS
|
|
SOXR_LIB
|
|
)
|
|
|
|
list( APPEND OPTIONS
|
|
PRIVATE
|
|
$<$<C_COMPILER_ID:AppleClang,Clang,GNU>:
|
|
-Wconversion
|
|
-Wall
|
|
-Wextra
|
|
-pedantic
|
|
-Wundef
|
|
-Wpointer-arith
|
|
-Wno-long-long
|
|
-Wnested-externs
|
|
-Wmissing-prototypes
|
|
-Wstrict-prototypes
|
|
>
|
|
$<$<C_COMPILER_ID:AppleClang,Clang>:-Wno-keyword-macro>
|
|
)
|
|
|
|
set( HAVE_BIGENDIAN ${WORDS_BIGENDIAN} )
|
|
|
|
set( AVCODEC_FOUND NO )
|
|
set( AVUTIL_FOUND NO )
|
|
set( WITH_PFFFT YES )
|
|
|
|
set( WITH_CR32 YES )
|
|
set( WITH_CR32S NO )
|
|
set( WITH_CR64 YES )
|
|
set( WITH_CR64S NO )
|
|
set( WITH_VR32 YES )
|
|
|
|
find_package( SIMD32 )
|
|
if( SIMD32_FOUND )
|
|
set( WITH_CR32S ON )
|
|
string( STRIP "${SIMD32_C_FLAGS}" SIMD32_C_FLAGS )
|
|
list( APPEND OPTIONS ${SIMD32_C_FLAGS} )
|
|
endif()
|
|
|
|
find_package( SIMD64 )
|
|
if( SIMD64_FOUND )
|
|
set( WITH_CR64S ON )
|
|
string( STRIP "${SIMD64_C_FLAGS}" SIMD64_C_FLAGS )
|
|
list( APPEND OPTIONS ${SIMD64_C_FLAGS} )
|
|
endif()
|
|
|
|
set( WITH_HI_PREC_CLOCK YES )
|
|
set( WITH_FLOAT_STD_PREC_CLOCK NO )
|
|
set( WITH_DEV_TRACE NO )
|
|
|
|
configure_file( soxr-config.h.in private/soxr-config.h )
|
|
|
|
organize_source( "${TARGET_ROOT}" "" "${SOURCES}" )
|
|
target_sources( ${TARGET} PRIVATE ${SOURCES} )
|
|
target_compile_definitions( ${TARGET} PRIVATE ${DEFINES} )
|
|
target_compile_options( ${TARGET} PRIVATE ${OPTIONS} )
|
|
target_include_directories( ${TARGET} PRIVATE ${INCLUDES} )
|
|
|