I'm sure there will be further minor updates, but this
should be the last major update and it should be ready
for testing.
Audacity specific cmake options (cmake -Doption=<yes|no>) include:
// Disable dynamic loading of ffmpeg libraries
disable_dynamic_ffmpeg:BOOL=OFF
// Disable dynamic loading of JACK libraries
disable_dynamic_jack:BOOL=ON
// Enable ffmpeg library
enable_ffmpeg:BOOL=ON
// Enable flac library
enable_flac:BOOL=ON
// Enable id3tag library
enable_id3tag:BOOL=ON
// Enable LADSPA plug-in support
enable_ladspa:BOOL=ON
// Enable lv2 library
enable_lv2:BOOL=ON
// Enable mad library
enable_mad:BOOL=ON
// Enable midi library
enable_midi:BOOL=ON
// Enable nyquist library
enable_nyquist:BOOL=ON
// Enable ogg library
enable_ogg:BOOL=ON
// Enable portmixer library
enable_portmixer:BOOL=ON
// Enable portsmf library
enable_portsmf:BOOL=ON
// Enable sbsms library
enable_sbsms:BOOL=ON
// Enable soundtouch library
enable_soundtouch:BOOL=ON
// Enable twolame library
enable_twolame:BOOL=ON
// Enable vamp library
enable_vamp:BOOL=ON
// Enable vorbis library
enable_vorbis:BOOL=ON
// Enable VST2 plug-in support
enable_vst:BOOL=ON
// Use system libraries if available
prefer_system_libs:BOOL=ON
// Enable the portaudio ALSA interface if available
use_pa_alsa:BOOL=ON
// Enable the portaudio CoreAudio interface if available
use_pa_coreaudio:BOOL=ON
// Enable the portaudio DirectSound interface if available
use_pa_ds:BOOL=ON
// Use the JACK audio interface if available
use_pa_jack:BOOL=ON
// Use the OSS audio interface if available
use_pa_oss:BOOL=ON
// Enable the portaudio WASAPI interface if available
use_pa_wasapi:BOOL=ON
// Enable the portaudio WMME interface if available
use_pa_wmme:BOOL=ON
// Use ffmpeg system library if available
use_system_ffmpeg:BOOL=ON
// Use flac system library if available
use_system_flac:BOOL=ON
// Use id3tag system library if available
use_system_id3tag:BOOL=ON
// Use lame system library if available
use_system_lame:BOOL=ON
// Use lv2 system library if available
use_system_lv2:BOOL=ON
// Use mad system library if available
use_system_mad:BOOL=ON
// Use midi system library if available
use_system_midi:BOOL=ON
// Use ogg system library if available
use_system_ogg:BOOL=ON
// Use portsmf system library if available
use_system_portsmf:BOOL=ON
// Use sbsms system library if available
use_system_sbsms:BOOL=ON
// Use sndfile system library if available
use_system_sndfile:BOOL=ON
// Use soundtouch system library if available
use_system_soundtouch:BOOL=ON
// Use soxr system library if available
use_system_soxr:BOOL=ON
// Use twolame system library if available
use_system_twolame:BOOL=ON
// Use vamp system library if available
use_system_vamp:BOOL=ON
// Use vorbis system library if available
use_system_vorbis:BOOL=ON
// Use wxwidgets system library if available
use_system_wxwidgets:BOOL=ON
It's still has some work, but it successfully builds on
all 3 main platforms. Some of the outstanding items
include:
Install target testing (mostly important for Linux)
CMakeList clean up and comments
Debug and Release build verification
Audit of compile/link options
Need a Mac signed and notarized build
(and probably more)
cmake-proxies/expat/CMakeLists.txt seems to make more problems than it
solves. But the native one appears doing its job well on multiple
platforms. Tested on Windows, OSX, Linux and FreeBSD.
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Author: Vitaliy Kirsanov <krokoziabla@yandex-team.ru>
# Date: Thu Mar 14 19:03:29 2019 +0300
#
# On branch tmp
# Your branch is up to date with 'my/tmp'.
#
# Changes to be committed:
# modified: cmake-proxies/CMakeLists.txt
# deleted: cmake-proxies/expat/CMakeLists.txt
# modified: lib-src/expat/CMakeLists.txt
#
# Changes not staged for commit:
# modified: lib-src/expat/CMakeLists.txt
#
These now all appear in the MSVC project.
Currently only FileDialog, Nyquist, mod-script-pipe compile and link, and Audacity compiles.
Still to set include directories and flags for most of the libs.