sfizz-ui/CMakeLists.txt

53 lines
1.9 KiB
CMake

if (WIN32)
cmake_minimum_required (VERSION 3.15)
cmake_policy(SET CMP0091 NEW)
else()
# FIXME: The old JPC fork of mod-plugin-builder image used in CI requires 3.5.
# The current upstream one needs a different configuration.
# Minimum required to use SFIZZ_USE_SYSTEM_ABSEIL is 3.11,
# see library/cmake/SfizzDeps.cmake at line 70.
cmake_minimum_required(VERSION 3.11)
endif()
project (sfizz VERSION 1.2.2 LANGUAGES CXX C)
set (PROJECT_DESCRIPTION
"SFZ based sampler, providing AU, LV2, PureData and VST plugins."
)
# External configuration CMake scripts
set (CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};"
"${CMAKE_CURRENT_SOURCE_DIR}/library/cmake;"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake"
)
include(BuildType)
include(OptionEx)
option_ex(SFIZZ_AU "Enable AU plug-in build" APPLE)
option_ex(SFIZZ_LV2 "Enable LV2 plug-in build" ON)
option_ex(SFIZZ_LV2_UI "Enable LV2 plug-in user interface" ON)
option_ex(SFIZZ_PUREDATA "Enable Puredata plug-in build" OFF)
option_ex(SFIZZ_USE_SYSTEM_LV2 "Use LV2 headers preinstalled on system" OFF)
option_ex(SFIZZ_USE_SYSTEM_VST3SDK "Use VST3SDK source files preinstalled on system" OFF)
option_ex(SFIZZ_VST2 "Enable VST2 plug-in build (unsupported)" OFF)
option_ex(SFIZZ_VST "Enable VST plug-in build" ON)
set(MIDI_CC_MAX 512 CACHE STRING "Maximum amount of Control Change Messages")
include(SfizzConfig) # Re-used for this project
include(BundleDylibs)
add_subdirectory(library)
add_subdirectory(plugins)
# Windows installer
if(WIN32)
include(VSTConfig)
configure_file(${PROJECT_SOURCE_DIR}/scripts/innosetup.iss.in
${PROJECT_BINARY_DIR}/innosetup.iss @ONLY)
endif()
# Put it at the end so that the vst/lv2 directories are registered
if (NOT MSVC)
include(PluginsUninstall)
endif()
show_build_info_if_needed()