mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-11 00:53:46 +02:00
Reworked cmake command options
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
This commit is contained in:
@@ -384,6 +384,12 @@ macro( get_package_interface package )
|
||||
)
|
||||
endmacro()
|
||||
|
||||
# Set the cache and context value
|
||||
macro( set_cache_value var value )
|
||||
set( ${var} "${value}" )
|
||||
set_property( CACHE ${var} PROPERTY VALUE "${value}" )
|
||||
endmacro()
|
||||
|
||||
# Set the given property and its config specific brethren to the same value
|
||||
function( set_target_property_all target property value )
|
||||
set_target_properties( "${target}" PROPERTIES "${property}" "${value}" )
|
||||
@@ -393,6 +399,51 @@ function( set_target_property_all target property value )
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
# Taken from wxWidgets and modified for Audcaity
|
||||
#
|
||||
# cmd_option(<name> <desc> [default] [STRINGS strings])
|
||||
# The default is ON if third parameter isn't specified
|
||||
function( cmd_option name desc )
|
||||
cmake_parse_arguments( OPTION "" "" "STRINGS" ${ARGN} )
|
||||
|
||||
if( ARGC EQUAL 2 )
|
||||
if( OPTION_STRINGS )
|
||||
list( GET OPTION_STRINGS 1 default )
|
||||
else()
|
||||
set( default ON )
|
||||
endif()
|
||||
else()
|
||||
set( default ${OPTION_UNPARSED_ARGUMENTS} )
|
||||
endif()
|
||||
|
||||
if( OPTION_STRINGS )
|
||||
set( cache_type STRING )
|
||||
else()
|
||||
set( cache_type BOOL )
|
||||
endif()
|
||||
|
||||
set( ${name} "${default}" CACHE ${cache_type} "${desc}" )
|
||||
if( OPTION_STRINGS )
|
||||
set_property( CACHE ${name} PROPERTY STRINGS ${OPTION_STRINGS} )
|
||||
|
||||
# Check valid value
|
||||
set( value_is_valid FALSE )
|
||||
set( avail_values )
|
||||
foreach( opt ${OPTION_STRINGS} )
|
||||
if( ${name} STREQUAL opt )
|
||||
set( value_is_valid TRUE )
|
||||
break()
|
||||
endif()
|
||||
string( APPEND avail_values " ${opt}" )
|
||||
endforeach()
|
||||
if( NOT value_is_valid )
|
||||
message( FATAL_ERROR "Invalid value \"${${name}}\" for option ${name}. Valid values are: ${avail_values}" )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set( ${name} "${${name}}" PARENT_SCOPE )
|
||||
endfunction()
|
||||
|
||||
# Add our children
|
||||
add_subdirectory( "cmake-proxies" )
|
||||
add_subdirectory( "help" )
|
||||
|
Reference in New Issue
Block a user