add_conan_lib( ZLIB zlib/1.2.11 REQUIRED PKG_CONFIG "zlib >= 1.2.11" INTERFACE_NAME ZLIB::ZLIB OPTION_NAME zlib CONAN_OPTIONS zlib:shared=True ) add_conan_lib( expat expat/2.2.9@audacity/stable REQUIRED PKG_CONFIG "expat >= 2.1.0" CONAN_OPTIONS expat:shared=True ) if(${_OPT}has_crashreports) add_conan_lib(breakpad breakpad/0.1 REQUIRED) endif() set( wx_zlib "zlib" ) set( wx_png "libpng" ) set( wx_jpeg "libjpeg-turbo") set( wx_tiff "off" ) set( id3tag_zlib "conan" ) if ( ${_OPT}use_zlib STREQUAL "system" ) set( wx_zlib "sys" ) # To prevent linking conflicts - we need to use system libpng as well. # wxWdigets will attempt to resolve it using find_package find_required_package( PNG "libpng-dev" ) set( wx_png "sys" ) # And, for consistency find_required_package( JPEG "libjpeg-turbo8-dev" ) set( wx_jpeg "sys" ) set( id3tag_zlib "system" ) endif() set(wx_expat "expat") if (${_OPT}use_expat STREQUAL "system") set(wx_expat "sys") endif() add_conan_lib( wxWidgets wxwidgets/3.1.3.1-audacity REQUIRED ALWAYS_ALLOW_CONAN_FALLBACK OPTION_NAME wxwidgets FIND_PACKAGE_OPTIONS COMPONENTS adv base core html qa xml net INTERFACE_NAME wxwidgets::wxwidgets CONAN_OPTIONS wxwidgets:shared=True wxwidgets:zlib=${wx_zlib} wxwidgets:expat=${wx_expat} wxwidgets:compatibility=3.0 wxwidgets:png=${wx_png} wxwidgets:jpeg=${wx_jpeg} wxwidgets:tiff=${wx_tiff} wxwidgets:secretstore=False wxwidgets:opengl=False wxwidgets:propgrid=False wxwidgets:ribbon=False wxwidgets:richtext=False wxwidgets:stc=False wxwidgets:webview=False wxwidgets:help=False wxwidgets:html_help=False wxwidgets:fs_inet=False wxwidgets:protocol=False # Building with SIMD requires a huge number of build dependencies # Probably this will be enabled in the future libjpeg-turbo:SIMD=False ) add_conan_lib( libmp3lame libmp3lame/3.100 REQUIRED INTERFACE_NAME libmp3lame::libmp3lame PKG_CONFIG "lame >= 3.100" ) add_conan_lib( libid3tag libid3tag/0.15.2b@audacity/stable OPTION_NAME libid3tag PKG_CONFIG "id3tag >= 0.15.1b" CONAN_OPTIONS libid3tag:zlib=${id3tag_zlib} ) add_conan_lib( libmad libmad/0.15.2b@audacity/stable OPTION_NAME libmad PKG_CONFIG "mad >= 0.15.1b" ) if( CMAKE_SYSTEM_NAME MATCHES "Darwin" ) set( curl_ssl "darwinssl" ) elseif( CMAKE_SYSTEM_NAME MATCHES "Windows" ) set( curl_ssl "schannel") else() set ( curl_ssl "openssl" ) endif () add_conan_lib( ThreadPool threadpool/20140926 REQUIRED ALWAYS_ALLOW_CONAN_FALLBACK ) if( ${_OPT}has_networking ) add_conan_lib( CURL libcurl/7.75.0 REQUIRED OPTION_NAME curl PKG_CONFIG "libcurl >= 7.68.0" INTERFACE_NAME CURL::libcurl FIND_PACKAGE_OPTIONS CONAN_OPTIONS libcurl:with_ssl=${curl_ssl} libcurl:shared=True ) endif() if( NOT CMAKE_SYSTEM_NAME MATCHES "Darwin|Windows") add_conan_lib( libuuid libuuid/1.0.3 REQUIRED OPTION_NAME uuid PKG_CONFIG "uuid" INTERFACE_NAME libuuid::libuuid ) endif() add_conan_lib( RapidJSON rapidjson/1.1.0 REQUIRED ) set_conan_vars_to_parent() # Required libraries # # directory option symbol req chk version addlib( libsndfile sndfile SNDFILE YES YES "sndfile >= 1.0.28" ) addlib( libsoxr soxr SOXR YES YES "soxr >= 0.1.1" ) addlib( portaudio-v19 portaudio PORTAUDIO YES YES "" ) addlib( sqlite sqlite SQLITE YES YES "sqlite3 >= 3.32.0" ) # Optional libraries # # directory option symbol req chk version addlib( ffmpeg ffmpeg FFMPEG NO NO "libavcodec >= 51.53" "libavformat >= 52.12" "libavutil >= 52.66" ) addlib( libnyquist nyquist NYQUIST NO YES "" ) addlib( libvamp vamp VAMP NO YES "vamp >= 2.5" "vamp-hostsdk >= 2.5" ) addlib( libogg ogg LIBOGG NO YES "ogg >= 1.3.1" ) addlib( libvorbis vorbis LIBVORBIS NO YES "vorbis >= 1.3.3" "vorbisenc >= 1.3.3" "vorbisfile >= 1.3.3" ) addlib( libflac flac LIBFLAC NO YES "flac >= 1.3.1" "flac++ >= 1.3.1" ) addlib( lv2 lv2 LV2 NO YES "lilv-0 >= 0.24.6" "lv2 >= 1.16.0" "serd-0 >= 0.30.2" "sord-0 >= 0.16.4" "sratom-0 >= 0.6.4" "suil-0 >= 0.10.6" ) addlib( portmidi midi MIDI NO YES "portmidi >= 0.1" ) if (NOT USE_MIDI AND "EXPERIMENTAL_MIDI_OUT" IN_LIST EXPERIMENTAL_OPTIONS_LIST ) message(FATAL_ERROR "EXPERIMENTAL_MIDI_OUT requires USE_MIDI") endif () addlib( portmixer portmixer PORTMIXER NO YES "" ) if (NOT USE_PORTMIXER AND "EXPERIMENTAL_AUTOMATED_INPUT_LEVEL_ADJUSTMENT" IN_LIST EXPERIMENTAL_OPTIONS_LIST ) message(FATAL_ERROR "EXPERIMENTAL_AUTOMATED_INPUT_LEVEL_ADJUSTMENT requires USE_PORTMIXER") endif () addlib( portsmf portsmf PORTSMF NO YES "portSMF >= 0.1" ) addlib( libsbsms sbsms SBSMS NO YES "sbsms >= 2.2.0" ) addlib( soundtouch soundtouch SOUNDTOUCH NO YES "soundtouch >= 1.7.1" ) addlib( twolame twolame LIBTWOLAME NO YES "twolame >= 0.3.13" )