Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
audacity/cmake-proxies/CMakeLists.txt
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
321 lines (279 sloc)
7.09 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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() | |
| if(${_OPT}has_vst3) | |
| add_conan_lib( | |
| vst3sdk vst3sdk/3.7.3 | |
| REQUIRED | |
| HAS_ONLY_DEBUG_RELEASE | |
| ALLOW_FIND_PACKAGE | |
| ) | |
| 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 | |
| set( wx_png "sys" ) | |
| # And, for consistency | |
| 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.3-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 | |
| ) | |
| # If we are building using Conan provided version of | |
| # wxWidgets, but against system libraries - ensure that required | |
| # Librries are installed. | |
| if(${_OPT}use_wxwidgets STREQUAL "local") | |
| if (wx_png STREQUAL "sys") | |
| find_required_package( PNG "libpng-dev" ) | |
| endif() | |
| if (wx_jpeg STREQUAL "sys") | |
| find_required_package( JPEG "libjpeg-turbo8-dev" ) | |
| endif() | |
| endif() | |
| add_conan_lib( | |
| libmp3lame | |
| libmp3lame/3.100 | |
| REQUIRED | |
| INTERFACE_NAME libmp3lame::libmp3lame | |
| PKG_CONFIG "lame >= 3.100" | |
| ALLOW_FIND_PACKAGE | |
| ) | |
| add_conan_lib( | |
| mpg123 | |
| mpg123/1.29.3 | |
| PKG_CONFIG "libmpg123" | |
| OPTION_NAME libmpg123 | |
| INTERFACE_NAME MPG123::libmpg123 | |
| CONAN_OPTIONS | |
| mpg123:shared=True | |
| mpg123:network=False | |
| ) | |
| if( USE_LIBMPG123 ) | |
| # If we are building against libmpg123, we need to drop | |
| # the previos configuration, which may used libmad | |
| set( USE_LIBMAD OFF CACHE INTERNAL "" FORCE ) | |
| set( ${_OPT}use_libmad "off" ) | |
| else() | |
| add_conan_lib( | |
| libmad | |
| libmad/0.15.2b-1@ | |
| OPTION_NAME libmad | |
| PKG_CONFIG "mad >= 0.15.0b" # Ubuntu has broken PC file | |
| ) | |
| endif() | |
| add_conan_lib( | |
| libid3tag | |
| libid3tag/0.15.2b@audacity/stable | |
| OPTION_NAME libid3tag | |
| PKG_CONFIG "id3tag >= 0.15.0b" # Ubuntu has broken PC file | |
| CONAN_OPTIONS | |
| libid3tag:zlib=${id3tag_zlib} | |
| ) | |
| add_conan_lib( | |
| WavPack | |
| wavpack/5.4.0 | |
| OPTION_NAME wavpack | |
| ALLOW_FIND_PACKAGE | |
| PKG_CONFIG "wavpack >= 5.2.0" | |
| CONAN_OPTIONS | |
| wavpack:shared=True | |
| ) | |
| add_conan_lib( | |
| Ogg | |
| ogg/1.3.4 | |
| OPTION_NAME libogg | |
| ALLOW_FIND_PACKAGE | |
| CONAN_OPTIONS | |
| ogg:shared=True | |
| ) | |
| add_conan_lib( | |
| FLAC | |
| flac/1.3.3 | |
| OPTION_NAME libflac | |
| ALLOW_FIND_PACKAGE | |
| CONAN_OPTIONS | |
| flac:shared=True | |
| ) | |
| add_conan_lib( | |
| Opus | |
| opus/1.3.1 | |
| OPTION_NAME libopus | |
| ALLOW_FIND_PACKAGE | |
| CONAN_OPTIONS | |
| opus:shared=True | |
| ) | |
| add_conan_lib( | |
| Vorbis | |
| vorbis/1.3.7 | |
| OPTION_NAME libvorbis | |
| ALLOW_FIND_PACKAGE | |
| CONAN_OPTIONS | |
| vorbis:shared=True | |
| ) | |
| add_conan_lib( | |
| SndFile | |
| libsndfile/1.0.31 | |
| OPTION_NAME libsndfile | |
| ALLOW_FIND_PACKAGE | |
| CONAN_OPTIONS | |
| libsndfile:shared=True | |
| ) | |
| # Allow building with ASIO for windows users | |
| cmake_dependent_option( | |
| ${_OPT}has_asio_support | |
| "Build Audacity with ASIO support" | |
| False | |
| "WIN32 AND IS_64BIT" | |
| False | |
| ) | |
| # Conan expects Python boolean, CMake will convert values to | |
| # ON/OFF | |
| if( ${_OPT}has_asio_support ) | |
| set( portaudio_enable_asio "portaudio:with_asio=True" ) | |
| endif() | |
| if(UNIX AND NOT APPLE) | |
| find_package(JACK QUIET) | |
| if( NOT JACK_FOUND ) | |
| set( portaudio_disable_jack "portaudio:with_jack=False" ) | |
| endif() | |
| endif() | |
| add_conan_lib( | |
| PortAudio | |
| portaudio/19.7.0 | |
| OPTION_NAME portaudio | |
| ALLOW_FIND_PACKAGE | |
| INTERFACE_NAME PortAudio::PortAudio | |
| CONAN_OPTIONS | |
| portaudio:shared=True | |
| # Audacity doesn't support WDM/KS (yet) | |
| portaudio:with_wdmks=False | |
| ${portaudio_enable_asio} | |
| ${portaudio_disable_jack} | |
| ) | |
| if( ${_OPT}has_networking ) | |
| 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 | |
| ) | |
| 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() | |
| if( ${_OPT}has_sentry_reporting OR ${_OPT}has_audiocom_upload ) | |
| add_conan_lib( | |
| RapidJSON | |
| rapidjson/1.1.0 | |
| REQUIRED | |
| ) | |
| endif() | |
| add_conan_lib( | |
| PortMidi | |
| portmidi/r234 | |
| OPTION_NAME midi | |
| ALLOW_FIND_PACKAGE | |
| CONAN_OPTIONS | |
| portmidi:shared=True | |
| ) | |
| set_conan_vars_to_parent() | |
| # Required libraries | |
| # | |
| # directory option symbol req chk version | |
| addlib( sqlite sqlite SQLITE YES YES "sqlite3 >= 3.31.1" ) | |
| # Optional libraries | |
| # | |
| addlib( libvamp vamp VAMP NO YES "vamp >= 2.5" "vamp-hostsdk >= 2.5" ) | |
| 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" ) | |
| if (NOT USE_MIDI AND | |
| "EXPERIMENTAL_MIDI_OUT" IN_LIST EXPERIMENTAL_OPTIONS_LIST ) | |
| message(FATAL_ERROR "EXPERIMENTAL_MIDI_OUT requires USE_MIDI") | |
| 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" ) |