mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-29 15:09:30 +02:00
And fixed a recursion problem when copying DLLs to dest folder The command options are now: // Enable Audio Unit plug-in support audacity_enable_audiounits:BOOL=ON // Library preference [system (if available), local] audacity_lib_preference:STRING=system // Use FileDialog library [local] audacity_use_FileDialog:STRING=local // Use expat library [local] audacity_use_expat:STRING=local // Use ffmpeg library [loaded, off] audacity_use_ffmpeg:STRING=off // Use flac library [system (if available), local, off] audacity_use_flac:STRING=local // Use id3tag library [system (if available), local, off] audacity_use_id3tag:STRING=local // Use LADSPA plug-in support [on, off] audacity_use_ladspa:BOOL=ON // Use lame library [system (if available), local] audacity_use_lame:STRING=local // Use libextra library [local] audacity_use_libextra:STRING=local // Use lv2 library [system (if available), local, off] audacity_use_lv2:STRING=local // Use mad library [system (if available), local, off] audacity_use_mad:STRING=local // Use midi library [system (if available), local, off] audacity_use_midi:STRING=local // Use nyquist library [local, off] audacity_use_nyquist:STRING=local // Use ogg library [system (if available), local, off] audacity_use_ogg:STRING=local // Use the portaudio CoreAudio interface if available audacity_use_pa_coreaudio:BOOL=YES // Use the JACK audio interface if available [loaded, linked, off] audacity_use_pa_jack:STRING=off // Use the OSS audio interface if available audacity_use_pa_oss:BOOL=NO // Use portaudio library [local] audacity_use_portaudio:STRING=local // Use portmixer library [local, off] audacity_use_portmixer:STRING=local // Use portsmf library [system (if available), local, off] audacity_use_portsmf:STRING=local // Use sbsms library [system (if available), local, off] audacity_use_sbsms:STRING=local // Use sndfile library [system (if available), local] audacity_use_sndfile:STRING=local // Use soundtouch library [system (if available), local, off] audacity_use_soundtouch:STRING=local // Use soxr library [system (if available), local] audacity_use_soxr:STRING=local // Use twolame library [system (if available), local, off] audacity_use_twolame:STRING=local // Use vamp library [system (if available), local, off] audacity_use_vamp:STRING=local // Use vorbis library [system (if available), local, off] audacity_use_vorbis:STRING=local // Use VST2 plug-in support [on, off] audacity_use_vst:BOOL=ON // Use wxwidgets library [system (if available), local] audacity_use_wxwidgets:STRING=system
69 lines
2.0 KiB
CMake
69 lines
2.0 KiB
CMake
|
|
# Add our target and all of it's aliases
|
|
add_library( ${TARGET} INTERFACE )
|
|
add_library( ${symbol} ALIAS ${TARGET} )
|
|
add_library( libavcodec ALIAS ${TARGET} )
|
|
add_library( libavformat ALIAS ${TARGET} )
|
|
add_library( libavutil ALIAS ${TARGET} )
|
|
|
|
# Pull in standard variables
|
|
def_vars()
|
|
|
|
message( STATUS "========== Configuring ${name} ==========" )
|
|
|
|
# We can only (possibly) link to it if we have pkg-config
|
|
if( PkgConfig_FOUND )
|
|
set( opt "linked" )
|
|
set( desc "linked, " )
|
|
endif()
|
|
|
|
# FFmpeg is either dynamically loaded, linked to, or off
|
|
cmd_option( ${_OPT}use_ffmpeg
|
|
"Use ffmpeg library [loaded, ${desc}off]"
|
|
"loaded"
|
|
STRINGS "loaded" ${opt} "off"
|
|
)
|
|
|
|
# Deteremine if it will be turned off, linked to, or loaded
|
|
if( ${_OPT}use_ffmpeg STREQUAL "off" )
|
|
message( STATUS "Disabling '${name}' library" )
|
|
else()
|
|
# Let the Audacity target know that this library will be used.
|
|
set( USE_${symbol} ON CACHE INTERNAL USE_${symbol} )
|
|
|
|
# Only need to look up the package if we're linking to it
|
|
set( isdyn YES )
|
|
if( ${_OPT}use_ffmpeg STREQUAL "linked" )
|
|
pkg_check_modules( ${TARGET} ${packages} )
|
|
|
|
# Set up for link if it was found
|
|
if( ${TARGET}_FOUND )
|
|
message( STATUS "Linking '${name}' library during build" )
|
|
|
|
# Pull in the package settings
|
|
get_package_interface( ${TARGET} )
|
|
|
|
# Not dynamic
|
|
set( isdyn NO )
|
|
endif()
|
|
endif()
|
|
|
|
# Pull in the local includes if we're dynamically loading
|
|
if( isdyn )
|
|
message( STATUS "Will dynamically load '${name}' library at runtime" )
|
|
|
|
list( APPEND INCLUDES
|
|
INTERFACE
|
|
${TARGET_ROOT}
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
# And add the settings to the target
|
|
target_include_directories( ${TARGET} INTERFACE ${INCLUDES} )
|
|
target_compile_options( ${TARGET} INTERFACE ${COPTS} )
|
|
target_link_directories( ${TARGET} INTERFACE ${LINKDIRS} )
|
|
target_link_options( ${TARGET} INTERFACE ${LOPTS} )
|
|
target_link_libraries( ${TARGET} INTERFACE ${LIBRARIES} )
|
|
|