1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-12-27 15:08:39 +01:00

PortAudio devendored

Closes  #1413
Closes #1414

This commit addresses issues with building PortMixer
using the upstream version of PortAudio.

The resulting solution allows:
* To build Linux with the vanilla PortAudio.
* To build Windows with the vanilla PortAudio, but the notable exceptions:
  * for PortMixer to work on MME - PA 19.7.0 is required; only static linking     is supported. A patch is available to allow dynamic linking;
  * for PortMixer to work on DirectSound - the patch is always required.
Remove nyquist autotools
This commit is contained in:
Dmitry Vedenko
2021-08-12 15:48:15 +03:00
committed by Dmitry Vedenko
parent 394ddd2e35
commit e6fb573001
61 changed files with 737 additions and 54583 deletions

View File

@@ -106,6 +106,18 @@ add_conan_lib(
PKG_CONFIG "mad >= 0.15.0b" # Ubuntu has broken PC file
)
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
)
if( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
set( curl_ssl "darwinssl" )
elseif( CMAKE_SYSTEM_NAME MATCHES "Windows" )
@@ -163,14 +175,12 @@ set_conan_vars_to_parent()
#
# directory option symbol req chk version
addlib( libsndfile sndfile SNDFILE YES YES "sndfile >= 1.0.28" )
addlib( portaudio-v19 portaudio PORTAUDIO YES YES "" )
addlib( sqlite sqlite SQLITE YES YES "sqlite3 >= 3.31.1" )
# 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" )
@@ -184,14 +194,6 @@ if (NOT USE_MIDI AND
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" )