You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

615 lines
21 KiB

Last major update to the cmake build 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
3 years ago
Last major update to the cmake build 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
3 years ago
Last major update to the cmake build 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
3 years ago
Last major update to the cmake build 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
3 years ago
Last major update to the cmake build 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
3 years ago
Last major update to the cmake build 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
3 years ago
Last major update to the cmake build 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
3 years ago
Last major update to the cmake build 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
3 years ago
Last major update to the cmake build 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
3 years ago
Last major update to the cmake build 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
3 years ago
Last major update to the cmake build 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
3 years ago
Last major update to the cmake build 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
3 years ago
Last major update to the cmake build 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
3 years ago
Last major update to the cmake build 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
3 years ago
Last major update to the cmake build 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
3 years ago
Last major update to the cmake build 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
3 years ago
Last major update to the cmake build 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
3 years ago
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
3 years ago
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
3 years ago
  1. # If you want built-in precompiled header support
  2. # then make sure you have cmake 3.16 or higher.
  3. #
  4. # Minimum required is 3.15 due to use of multiple values in
  5. # generator expressions.
  6. cmake_minimum_required( VERSION 3.15 )
  7. # Don't allow in-source builds...no real reason, just
  8. # keeping those source trees nice and tidy. :-)
  9. # (This can be removed if it becomes an issue.)
  10. if( "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}" )
  11. message( FATAL_ERROR
  12. "In-source builds not allowed.\n"
  13. "Create a new directory and run cmake from there, i.e.:\n"
  14. " mkdir build\n"
  15. " cd build\n"
  16. " cmake ..\n"
  17. "You will need to delete CMakeCache.txt and CMakeFiles from this directory to clean up."
  18. )
  19. endif()
  20. # Ignore COMPILE_DEFINITIONS_<Config> properties
  21. cmake_policy( SET CMP0043 NEW )
  22. # Link libraries by full path even in implicit directories.
  23. cmake_policy( SET CMP0060 NEW )
  24. # ``INTERPROCEDURAL_OPTIMIZATION`` is enforced when enabled.
  25. cmake_policy( SET CMP0069 NEW )
  26. # ``FindOpenGL`` prefers GLVND by default when available.
  27. cmake_policy( SET CMP0072 NEW )
  28. # Include file check macros honor ``CMAKE_REQUIRED_LIBRARIES``.
  29. cmake_policy( SET CMP0075 NEW )
  30. # Definitions that must happen before the project() command
  31. if( APPLE )
  32. # Define the OSX compatibility parameters
  33. set( CMAKE_OSX_ARCHITECTURES x86_64 CACHE INTERNAL "" )
  34. set( CMAKE_OSX_DEPLOYMENT_TARGET 10.7 CACHE INTERNAL "" )
  35. set( CMAKE_OSX_SYSROOT macosx CACHE INTERNAL "" )
  36. set( CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "" CACHE INTERNAL "" )
  37. # This prevents a link error when building with the 10.9 or older SDKs
  38. set( CMAKE_XCODE_ATTRIBUTE_CLANG_LINK_OBJC_RUNTIME OFF )
  39. # Shouldn't cmake do this???
  40. string( APPEND CMAKE_CXX_FLAGS " -stdlib=libc++" )
  41. endif()
  42. # Add our module path
  43. set( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake-proxies/cmake-modules)
  44. # This "is a good thing" but greatly increases link time on Linux
  45. #set( CMAKE_INTERPROCEDURAL_OPTIMIZATION ON )
  46. #set( CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON )
  47. #set( CMAKE_INTERPROCEDURAL_OPTIMIZATION_DEBUG OFF )
  48. # Set the required C++ standard
  49. set( CMAKE_CXX_STANDARD 14 )
  50. set( CMAKE_CXX_STANDARD_REQUIRED ON )
  51. # Use ccache if available
  52. find_program( CCACHE_PROGRAM ccache )
  53. mark_as_advanced( FORCE CCACHE_PROGRAM )
  54. if( CCACHE_PROGRAM )
  55. set_property( GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}" )
  56. endif()
  57. # Our very own project
  58. project( Audacity )
  59. message( STATUS "Build Info:" )
  60. message( STATUS " Host System: ${CMAKE_HOST_SYSTEM}" )
  61. message( STATUS " Host System Name: ${CMAKE_HOST_SYSTEM_NAME}" )
  62. message( STATUS " Host System Processor: ${CMAKE_HOST_SYSTEM_PROCESSOR}" )
  63. message( STATUS " Host System Version: ${CMAKE_HOST_SYSTEM_VERSION}" )
  64. message( STATUS )
  65. message( STATUS " Compiler: ${CMAKE_CXX_COMPILER}" )
  66. message( STATUS " Compiler Standard: ${CMAKE_CXX_STANDARD}" )
  67. message( STATUS " Compiler Standard Required: ${CMAKE_CXX_STANDARD_REQUIRED}" )
  68. message( STATUS " Compiler Extensions: ${CMAKE_CXX_EXTENSIONS}" )
  69. message( STATUS )
  70. if( APPLE )
  71. message( STATUS " Xcode Version: ${XCODE_VERSION}" )
  72. message( STATUS " MacOS SDK: ${CMAKE_OSX_SYSROOT}" )
  73. message( STATUS )
  74. endif()
  75. # Define option() prefix
  76. set( _OPT "audacity_" )
  77. # Try to get the current commit hash
  78. find_package( Git QUIET )
  79. if( GIT_FOUND )
  80. execute_process(
  81. COMMAND
  82. ${GIT_EXECUTABLE} show -s --format='%h'
  83. OUTPUT_VARIABLE
  84. short_hash
  85. OUTPUT_STRIP_TRAILING_WHITESPACE
  86. )
  87. message( STATUS " Current Commit: ${short_hash}" )
  88. message( STATUS )
  89. endif()
  90. # Pull all the modules we'll need
  91. include( CheckCXXCompilerFlag )
  92. include( CheckIncludeFile )
  93. include( CheckIncludeFiles )
  94. include( CheckLibraryExists )
  95. include( CheckSymbolExists )
  96. include( CheckTypeSize )
  97. include( CMakeDependentOption )
  98. include( CMakeDetermineASM_NASMCompiler )
  99. include( CMakePushCheckState )
  100. include( GNUInstallDirs )
  101. include( TestBigEndian )
  102. # Organize subdirectories/targets into folders for the IDEs
  103. set_property( GLOBAL PROPERTY USE_FOLDERS ON )
  104. if( CMAKE_GENERATOR MATCHES "Visual Studio" )
  105. # Make sure Audacity is the startup project
  106. set_directory_properties(
  107. PROPERTIES
  108. VS_STARTUP_PROJECT "${CMAKE_PROJECT_NAME}"
  109. )
  110. # Build using multiple processors
  111. foreach( config ${CMAKE_CONFIGURATION_TYPES} )
  112. string( TOUPPER "${config}" config )
  113. string( APPEND CMAKE_C_FLAGS_${config} " /MP" )
  114. string( APPEND CMAKE_CXX_FLAGS_${config} " /MP" )
  115. endforeach()
  116. # Define system library information, but we'll do the install
  117. set( CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP YES )
  118. set( CMAKE_INSTALL_UCRT_LIBRARIES NO )
  119. set( CMAKE_INSTALL_MFC_LIBRARIES NO )
  120. set( CMAKE_INSTALL_OPENMP_LIBRARIES NO )
  121. include( InstallRequiredSystemLibraries )
  122. endif()
  123. # Where the final product is stored
  124. set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/audacity )
  125. set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/audacity )
  126. set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
  127. # Set up RPATH handling
  128. set( CMAKE_SKIP_BUILD_RPATH FALSE )
  129. set( CMAKE_BUILD_WITH_INSTALL_RPATH FALSE )
  130. set( CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}/audacity" )
  131. set( CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE )
  132. set( CMAKE_MACOSX_RPATH FALSE )
  133. # the RPATH to be used when installing, but only if it's not a system directory
  134. #list( FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_FULL_LIBDIR}" isSystemDir)
  135. #IF("${isSystemDir}" STREQUAL "-1")
  136. # SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
  137. #ENDIF("${isSystemDir}" STREQUAL "-1")
  138. # Just a couple of convenience variables
  139. set( topdir "${CMAKE_SOURCE_DIR}" )
  140. set( libsrc "${topdir}/lib-src" )
  141. # Add the math library (if found) to the list of required libraries
  142. check_library_exists( m pow "" HAVE_LIBM )
  143. if( HAVE_LIBM )
  144. list( APPEND CMAKE_REQUIRED_LIBRARIES -lm )
  145. endif()
  146. check_library_exists( atomic __atomic_fetch_add_4 "" HAVE_LIBATOMIC )
  147. if( HAVE_LIBATOMIC )
  148. list( APPEND CMAKE_REQUIRED_LIBRARIES -latomic )
  149. endif()
  150. # Add the dynamic linker library (if needed) to the list of required libraries
  151. list( APPEND CMAKE_REQUIRED_LIBRARIES ${CMAKE_DL_LIBS} )
  152. # Make sure they're used during the link steps
  153. set( CMAKE_LINK_INTERFACE_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} )
  154. # May be a misconfiguration in my system, but CMake doesn't want to look
  155. # in /usr/local/lib by default...so force the issue
  156. if( CMAKE_SYSTEM_NAME MATCHES "FreeBSD" )
  157. list( APPEND CMAKE_EXE_LINKER_FLAGS -L/usr/local/lib )
  158. list( APPEND CMAKE_MODULE_LINKER_FLAGS -L/usr/local/lib )
  159. list( APPEND CMAKE_SHARED_LINKER_FLAGS -L/usr/local/lib )
  160. endif()
  161. # Various common checks whose results are used by the different targets
  162. test_big_endian( WORDS_BIGENDIAN )
  163. # Check for compiler flags
  164. if( CMAKE_CXX_COMPILER_ID MATCHES "AppleClang|Clang|GNU" )
  165. check_cxx_compiler_flag( "-mmmx" HAVE_MMX )
  166. if( HAVE_MMX )
  167. set( MMX_FLAG "-mmmx" CACHE INTERNAL "" )
  168. endif()
  169. check_cxx_compiler_flag( "-msse" HAVE_SSE )
  170. if( HAVE_SSE )
  171. set( SSE_FLAG "-msse" CACHE INTERNAL "" )
  172. endif()
  173. check_cxx_compiler_flag( "-msse2" HAVE_SSE2 )
  174. if( HAVE_SSE2 )
  175. set( SSE_FLAG "-msse2" CACHE INTERNAL "" )
  176. endif()
  177. elseif( CMAKE_CXX_COMPILER_ID MATCHES "MSVC" )
  178. set( HAVE_MMX ON )
  179. set( MMX_FLAG "" )
  180. set( HAVE_SSE ON )
  181. set( SSE_FLAG "/arch:SSE" )
  182. set( HAVE_SSE2 ON )
  183. set( SSE2_FLAG "/arch:SSE2" )
  184. endif()
  185. check_include_files( "float.h;stdarg.h;stdlib.h;string.h" STDC_HEADERS )
  186. check_include_file( "assert.h" HAVE_ASSERT_H )
  187. check_include_file( "byteswap.h" HAVE_BYTESWAP_H )
  188. check_include_file( "errno.h" HAVE_ERRNO_H )
  189. check_include_file( "fcntl.h" HAVE_FCNTL_H )
  190. check_include_file( "fenv.h" HAVE_FENV_H )
  191. check_include_file( "inttypes.h" HAVE_INTTYPES_H )
  192. check_include_file( "limits.h" HAVE_LIMITS_H )
  193. check_include_file( "malloc.h" HAVE_MALLOC_H )
  194. check_include_file( "memory.h" HAVE_MEMORY_H )
  195. check_include_file( "stdbool.h" HAVE_STDBOOL_H )
  196. check_include_file( "stdint.h" HAVE_STDINT_H )
  197. check_include_file( "stdlib.h" HAVE_STDLIB_H )
  198. check_include_file( "string.h" HAVE_STRING_H )
  199. check_include_file( "strings.h" HAVE_STRINGS_H )
  200. check_include_file( "unistd.h" HAVE_UNISTD_H )
  201. check_include_file( "xmmintrin.h" HAVE_XMMINTRIN_H )
  202. check_include_file( "sys/param.h" HAVE_SYS_PARAM_H )
  203. check_include_file( "sys/stat.h" HAVE_SYS_STAT_H )
  204. check_include_file( "sys/types.h" HAVE_SYS_TYPES_H )
  205. check_include_file( "sys/wait.h" HAVE_SYS_WAIT_H )
  206. check_symbol_exists( bcopy "strings.h" HAVE_BCOPY )
  207. check_symbol_exists( fileno "stdio.h" HAVE_FILENO )
  208. check_symbol_exists( flock "sys/file.h" HAVE_FLOCK )
  209. check_symbol_exists( fork "unistd.h" HAVE_FORK )
  210. check_symbol_exists( fsync "unistd.h" HAVE_FSYNC )
  211. check_symbol_exists( ftruncate "unistd.h" HAVE_FTRUNCATE )
  212. check_symbol_exists( getpagesize "unistd.h" HAVE_GETPAGESIZE )
  213. check_symbol_exists( gettimeofday "sys/time.h" HAVE_GETTIMEOFDAY )
  214. check_symbol_exists( gmtime "time.h" HAVE_GMTIME )
  215. check_symbol_exists( gmtime_r "time.h" HAVE_GMTIME_R )
  216. check_symbol_exists( lrint "math.h" HAVE_LRINT )
  217. check_symbol_exists( lrintf "math.h" HAVE_LRINTF )
  218. check_symbol_exists( lround "math.h" HAVE_LROUND )
  219. check_symbol_exists( lstat "sys/stat.h" HAVE_LSTAT )
  220. check_symbol_exists( memcpy "string.h" HAVE_MEMCPY )
  221. check_symbol_exists( memmove "string.h" HAVE_MEMMOVE )
  222. check_symbol_exists( mlock "sys/mman.h" HAVE_MLOCK )
  223. check_symbol_exists( pipe "unistd.h" HAVE_PIPE )
  224. check_symbol_exists( posix_fadvise "fcntl.h" HAVE_POSIX_FADVISE )
  225. check_symbol_exists( posix_memalign "stdlib.h" HAVE_POSIX_MEMALIGN )
  226. check_symbol_exists( strchr "string.h" HAVE_STRCHR )
  227. check_symbol_exists( waitpid "sys/wait.h" HAVE_WAITPID )
  228. check_type_size( "int8_t" SIZEOF_INT8 LANGUAGE C )
  229. check_type_size( "int16_t" SIZEOF_INT16 LANGUAGE C )
  230. check_type_size( "uint16_t" SIZEOF_UINT16 LANGUAGE C )
  231. check_type_size( "u_int16_t" SIZEOF_U_INT16 LANGUAGE C )
  232. check_type_size( "int32_t" SIZEOF_INT32 LANGUAGE C )
  233. check_type_size( "uint32_t" SIZEOF_UINT32 LANGUAGE C )
  234. check_type_size( "u_int32_t" SIZEOF_U_INT32 LANGUAGE C )
  235. check_type_size( "int64_t" SIZEOF_INT64 LANGUAGE C )
  236. check_type_size( "short" SIZEOF_SHORT LANGUAGE C )
  237. check_type_size( "unsigned short" SIZEOF_UNSIGNED_SHORT LANGUAGE C )
  238. check_type_size( "int" SIZEOF_INT LANGUAGE C )
  239. check_type_size( "unsigned int" SIZEOF_UNSIGNED_INT LANGUAGE C )
  240. check_type_size( "long" SIZEOF_LONG LANGUAGE C )
  241. check_type_size( "unsigned long" SIZEOF_UNSIGNED_LONG LANGUAGE C )
  242. check_type_size( "long long" SIZEOF_LONG_LONG LANGUAGE C )
  243. check_type_size( "unsigned long long" SIZEOF_UNSIGNED_LONG_LONG LANGUAGE C )
  244. check_type_size( "float" SIZEOF_FLOAT LANGUAGE C )
  245. check_type_size( "double" SIZEOF_DOUBLE LANGUAGE C )
  246. check_type_size( "long double" SIZEOF_LONG_DOUBLE LANGUAGE C )
  247. check_type_size( "loff_t" SIZEOF_LOFF LANGUAGE C )
  248. check_type_size( "off_t" SIZEOF_OFF LANGUAGE C )
  249. check_type_size( "off64_t" SIZEOF_OFF64 LANGUAGE C )
  250. check_type_size( "size_t" SIZEOF_SIZE LANGUAGE C )
  251. check_type_size( "wchar_t" SIZEOF_WCHAR LANGUAGE C )
  252. check_type_size( "void*" SIZEOF_POINTER LANGUAGE C )
  253. # Determine 32-bit or 64-bit target
  254. if( CMAKE_C_COMPILER_ID MATCHES "MSVC" AND CMAKE_VS_PLATFORM_NAME MATCHES "Win64|x64" )
  255. set( IS_64BIT ON )
  256. elseif( NOT CMAKE_SIZEOF_VOID_P STREQUAL "4" )
  257. set( IS_64BIT ON )
  258. endif()
  259. if( IS_64BIT )
  260. message( STATUS "Building for 64-bit target" )
  261. else()
  262. message( STATUS "Building for 32-bit target" )
  263. endif()
  264. # We'll be using it if it's available
  265. find_package( PkgConfig QUIET )
  266. # Mostly just to make the CMP0072 policy happy
  267. find_package( OpenGL QUIET )
  268. # Defines several useful directory paths for the active context.
  269. macro( def_vars )
  270. set( _SRCDIR "${CMAKE_CURRENT_SOURCE_DIR}" )
  271. set( _INTDIR "${CMAKE_CURRENT_BINARY_DIR}" )
  272. set( _PRVDIR "${CMAKE_CURRENT_BINARY_DIR}/private" )
  273. set( _PUBDIR "${CMAKE_CURRENT_BINARY_DIR}/public" )
  274. endmacro()
  275. # Define the non-install and executable destinations
  276. #
  277. # If this is a multi-config build system (VS, Xcode), CMAKE_CFG_INTDIR
  278. # will (eventually) resolve to the build type, i.e., Debug, Release, etc.
  279. # and CMAKE_BUILD_TYPE will be empty.
  280. #
  281. # For single-config build systems, CMAKE_CFG_INTDIR will be "." and
  282. # CMAKE_BUILD_TYPE will be something like Debug.
  283. #
  284. # So, in either case we end up with what we want:
  285. # .../bin/Debug//
  286. # or:
  287. # .../bin//Debug
  288. set( _DEST "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/${CMAKE_BUILD_TYPE}" )
  289. set( _EXEDIR "${_DEST}" )
  290. string( REGEX REPLACE "/+$" "" _EXEDIR "${_EXEDIR}" )
  291. # Adjust them for the Mac
  292. if( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
  293. set( _DEST "${_DEST}/Audacity.app/Contents" )
  294. set( _EXEDIR "${_DEST}/Macos" )
  295. endif()
  296. set( _PREFIX "${CMAKE_INSTALL_PREFIX}" )
  297. set( _LIBDIR "${CMAKE_INSTALL_LIBDIR}/audacity" )
  298. set( _RPATH "\$ORIGIN/../${_LIBDIR}" )
  299. set( _DATADIR "${CMAKE_INSTALL_DATADIR}" )
  300. set( _PKGDATA "${_DATADIR}/audacity/" )
  301. # Precreate the lib and lib64 directories so we can make then the same
  302. if( NOT EXISTS "${CMAKE_BINARY_DIR}/lib" )
  303. file( MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/lib" )
  304. endif()
  305. # Only create on systems that need it, effectively excluding Windows where links
  306. # may not work due to insufficient privileges
  307. if( NOT CMAKE_INSTALL_LIBDIR STREQUAL "lib" AND NOT EXISTS "${CMAKE_BINARY_DIR}/lib64" )
  308. file( CREATE_LINK "${CMAKE_BINARY_DIR}/lib" "${CMAKE_BINARY_DIR}/lib64" SYMBOLIC )
  309. endif()
  310. # Extract the Audacity version information
  311. file(
  312. STRINGS
  313. ${topdir}/src/Audacity.h output
  314. REGEX
  315. "^#define +AUDACITY_(VERSION|RELEASE|REVISION|MODLEVEL|BUILD_LEVEL) +"
  316. )
  317. # And store as variables
  318. foreach( line ${output} )
  319. string( REGEX MATCHALL "[A-Za-z0-9_]+" line "${line}" )
  320. list( GET line 1 name )
  321. list( GET line 2 value )
  322. set( ${name} ${value} )
  323. endforeach()
  324. # Create short and full version strings
  325. set( AUDACITY_DIST_VERSION ${AUDACITY_VERSION}.${AUDACITY_RELEASE}.${AUDACITY_REVISION} )
  326. set( AUDACITY_INFO_VERSION ${AUDACITY_VERSION}.${AUDACITY_RELEASE}.${AUDACITY_REVISION}.${AUDACITY_MODLEVEL} )
  327. # Define the version suffix (duplicates what happens in src/Audacity.h)
  328. string( TIMESTAMP __TDATE__ "%Y%m%d" )
  329. if( AUDACITY_BUILD_LEVEL EQUAL 0 )
  330. set( AUDACITY_SUFFIX "-alpha-${__TDATE__}" )
  331. elseif( AUDACITY_BUILD_LEVEL EQUAL 1 )
  332. set( AUDACITY_SUFFIX "-beta-${__TDATE__}" )
  333. else()
  334. set( AUDACITY_SUFFIX "" )
  335. endif()
  336. # Extract the current commit information
  337. if (GIT_FOUND)
  338. execute_process(
  339. COMMAND
  340. ${GIT_EXECUTABLE} show -s "--format=\"%H\";\"%cd\";"
  341. WORKING_DIRECTORY
  342. ${topdir}
  343. OUTPUT_VARIABLE
  344. output
  345. )
  346. list( GET output 0 long )
  347. list( GET output 1 time )
  348. list( APPEND DEFINES
  349. REV_LONG=${long}
  350. REV_TIME=${time}
  351. )
  352. endif()
  353. # Helper to organize sources into folders for the IDEs
  354. macro( organize_source root prefix sources )
  355. set( cleaned )
  356. foreach( source ${sources} )
  357. # Remove generator expressions
  358. string( REGEX REPLACE ".*>:(.*)>*" "\\1" source "${source}" )
  359. string( REPLACE ">" "" source "${source}" )
  360. # Remove keywords
  361. string( REGEX REPLACE "^[A-Z]+$" "" source "${source}" )
  362. # Add to cleaned
  363. list( APPEND cleaned "${source}" )
  364. endforeach()
  365. # Define the source groups
  366. if( "${prefix}" STREQUAL "" )
  367. source_group( TREE "${root}" FILES ${cleaned} )
  368. else()
  369. source_group( TREE "${root}" PREFIX ${prefix} FILES ${cleaned} )
  370. endif()
  371. endmacro()
  372. # Given a directory, recurse to all defined subdirectories and assign
  373. # the given folder name to all of the targets found.
  374. function( set_dir_folder dir folder)
  375. get_property( subdirs DIRECTORY "${dir}" PROPERTY SUBDIRECTORIES )
  376. foreach( sub ${subdirs} )
  377. set_dir_folder( "${sub}" "${folder}" )
  378. endforeach()
  379. get_property( targets DIRECTORY "${dir}" PROPERTY BUILDSYSTEM_TARGETS )
  380. foreach( target ${targets} )
  381. get_target_property( type "${target}" TYPE )
  382. if( NOT "${type}" STREQUAL "INTERFACE_LIBRARY" )
  383. set_target_properties( ${target} PROPERTIES FOLDER ${folder} )
  384. endif()
  385. endforeach()
  386. endfunction()
  387. # Helper to retrieve the settings returned from pkg_check_modules()
  388. macro( get_package_interface package )
  389. set( INCLUDES
  390. ${${package}_INCLUDE_DIRS}
  391. )
  392. set( LINKDIRS
  393. ${${package}_LIBDIR}
  394. )
  395. # We resolve the full path of each library to ensure the
  396. # correct one is referenced while linking
  397. foreach( lib ${${package}_LIBRARIES} )
  398. find_library( LIB_${lib} ${lib} HINTS ${LINKDIRS} )
  399. list( APPEND LIBRARIES ${LIB_${lib}} )
  400. endforeach()
  401. endmacro()
  402. # Set the cache and context value
  403. macro( set_cache_value var value )
  404. set( ${var} "${value}" )
  405. set_property( CACHE ${var} PROPERTY VALUE "${value}" )
  406. endmacro()
  407. # Set the given property and its config specific brethren to the same value
  408. function( set_target_property_all target property value )
  409. set_target_properties( "${target}" PROPERTIES "${property}" "${value}" )
  410. foreach( type ${CMAKE_CONFIGURATION_TYPES} )
  411. string( TOUPPER "${property}_${type}" prop )
  412. set_target_properties( "${target}" PROPERTIES "${prop}" "${value}" )
  413. endforeach()
  414. endfunction()
  415. # Taken from wxWidgets and modified for Audcaity
  416. #
  417. # cmd_option(<name> <desc> [default] [STRINGS strings])
  418. # The default is ON if third parameter isn't specified
  419. function( cmd_option name desc )
  420. cmake_parse_arguments( OPTION "" "" "STRINGS" ${ARGN} )
  421. if( ARGC EQUAL 2 )
  422. if( OPTION_STRINGS )
  423. list( GET OPTION_STRINGS 1 default )
  424. else()
  425. set( default ON )
  426. endif()
  427. else()
  428. set( default ${OPTION_UNPARSED_ARGUMENTS} )
  429. endif()
  430. if( OPTION_STRINGS )
  431. set( cache_type STRING )
  432. else()
  433. set( cache_type BOOL )
  434. endif()
  435. set( ${name} "${default}" CACHE ${cache_type} "${desc}" )
  436. if( OPTION_STRINGS )
  437. set_property( CACHE ${name} PROPERTY STRINGS ${OPTION_STRINGS} )
  438. # Check valid value
  439. set( value_is_valid FALSE )
  440. set( avail_values )
  441. foreach( opt ${OPTION_STRINGS} )
  442. if( ${name} STREQUAL opt )
  443. set( value_is_valid TRUE )
  444. break()
  445. endif()
  446. string( APPEND avail_values " ${opt}" )
  447. endforeach()
  448. if( NOT value_is_valid )
  449. message( FATAL_ERROR "Invalid value \"${${name}}\" for option ${name}. Valid values are: ${avail_values}" )
  450. endif()
  451. endif()
  452. set( ${name} "${${name}}" PARENT_SCOPE )
  453. endfunction()
  454. # Downloads NuGet packages
  455. #
  456. # Why this is needed...
  457. #
  458. # To get NuGet to work, you have to add the VS_PACKAGE_REFERENCES
  459. # property to a target. This target must NOT be a UTILITY target,
  460. # which is what we use to compile the message catalogs and assemble
  461. # the manual. We could add that property to the Audacity target and
  462. # CMake would add the required nodes to the VS project. And when the
  463. # Audacity target is built, the NuGet packages would get automatically
  464. # downloaded. This also means that the locale and manual targets
  465. # must be dependent on the Audacity target so the packages would get
  466. # downloaded before they execute. This would be handled by the CMake
  467. # provided ALL_BUILD target which is, by default, set as the startup
  468. # project in Visual Studio. Sweet right? Well, not quite...
  469. #
  470. # We want the Audacity target to be the startup project to provide
  471. # eaiser debugging. But, if we do that, the ALL_BUILD target is no
  472. # longer "in control" and any dependents of the Audacity target would
  473. # not get built. So, targets like "nyquist" and "plug-ins" would have
  474. # to be manually built. This is not what we want since Nyquist would
  475. # not be available during Audacity debugging because the Nyquist runtime
  476. # would not be copied into the destination folder alonside the Audacity
  477. # executable.
  478. #
  479. # To remedy this conundrum, we simply download the NuGet packages
  480. # ourselves and make the Audacity target dependent on the targets
  481. # mentioned above. This ensures that the dest folder is populated
  482. # and laid out like Audacity expects.
  483. #
  484. function( nuget_package dir name version )
  485. # Generate the full package directory name
  486. set( pkgdir "${CMAKE_BINARY_DIR}/packages/${name}/${version}" )
  487. # Don't download it again if the package directory already exists
  488. if( NOT EXISTS "${pkgdir}" )
  489. set( pkgurl "https://www.nuget.org/api/v2/package/${name}/${version}" )
  490. # Create the package directory
  491. file( MAKE_DIRECTORY "${pkgdir}" )
  492. # And download the package into the package directory
  493. file( DOWNLOAD "${pkgurl}" "${pkgdir}/package.zip" )
  494. # Extract the contents of the package into the package directory
  495. execute_process(
  496. COMMAND
  497. ${CMAKE_COMMAND} -E tar x "${pkgdir}/package.zip"
  498. WORKING_DIRECTORY
  499. ${pkgdir}
  500. )
  501. endif()
  502. # Return the package directory name to the caller
  503. set( ${dir} "${pkgdir}" PARENT_SCOPE )
  504. endfunction()
  505. # Add our children
  506. add_subdirectory( "cmake-proxies" )
  507. add_subdirectory( "help" )
  508. add_subdirectory( "images" )
  509. add_subdirectory( "locale" )
  510. add_subdirectory( "nyquist" )
  511. add_subdirectory( "plug-ins" )
  512. add_subdirectory( "src" )
  513. add_subdirectory( "cmake-proxies/mod-null" )
  514. add_subdirectory( "cmake-proxies/mod-nyq-bench" )
  515. add_subdirectory( "cmake-proxies/mod-script-pipe" )
  516. add_subdirectory( "scripts" )
  517. # Only need the sc4_1882 Ladspa plug-in on Windows and Mac
  518. if( CMAKE_SYSTEM_NAME MATCHES "Windows|Darwin" )
  519. add_subdirectory( "cmake-proxies/ladspa-plugins" )
  520. endif()
  521. # Uncomment what follows for symbol values.
  522. #[[
  523. get_cmake_property(_variableNames VARIABLES)
  524. foreach (_variableName ${_variableNames})
  525. message(STATUS "${_variableName}=${${_variableName}}")
  526. endforeach()
  527. #]]
  528. #[[
  529. include(PrintProperties)
  530. print_properties(TARGET "wxWidgets")
  531. #]]