156 lines
5.2 KiB
CMake
156 lines
5.2 KiB
CMake
cmake_minimum_required(VERSION 3.15)
|
|
project(Cardinal VERSION 0.0.0)
|
|
|
|
add_subdirectory(JUCE)
|
|
|
|
# Config
|
|
|
|
set(CMAKE_C_VISIBILITY_PRESET hidden)
|
|
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
|
|
|
# Define static libs
|
|
|
|
add_library(dgl STATIC IMPORTED)
|
|
set_property(TARGET dgl PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../dpf/build/libdgl-opengl.a")
|
|
|
|
add_library(carla_host_plugin STATIC IMPORTED)
|
|
set_property(TARGET carla_host_plugin PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../carla/build/plugin/Release/carla-host-plugin.cpp.o")
|
|
|
|
add_library(carla_engine_plugin STATIC IMPORTED)
|
|
set_property(TARGET carla_engine_plugin PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../carla/build/modules/Release/carla_engine_plugin.a")
|
|
|
|
add_library(carla_plugin STATIC IMPORTED)
|
|
set_property(TARGET carla_plugin PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../carla/build/modules/Release/carla_plugin.a")
|
|
|
|
add_library(native_plugins STATIC IMPORTED)
|
|
set_property(TARGET native_plugins PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../carla/build/modules/Release/native-plugins.a")
|
|
|
|
add_library(audio_decoder STATIC IMPORTED)
|
|
set_property(TARGET audio_decoder PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../carla/build/modules/Release/audio_decoder.a")
|
|
|
|
add_library(jackbridge STATIC IMPORTED)
|
|
set_property(TARGET jackbridge PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../carla/build/modules/Release/jackbridge.min.a")
|
|
|
|
add_library(lilv STATIC IMPORTED)
|
|
set_property(TARGET lilv PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../carla/build/modules/Release/lilv.a")
|
|
|
|
add_library(rtmempool STATIC IMPORTED)
|
|
set_property(TARGET rtmempool PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../carla/build/modules/Release/rtmempool.a")
|
|
|
|
add_library(sfzero STATIC IMPORTED)
|
|
set_property(TARGET sfzero PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../carla/build/modules/Release/sfzero.a")
|
|
|
|
add_library(water STATIC IMPORTED)
|
|
set_property(TARGET water PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../carla/build/modules/Release/water.a")
|
|
|
|
add_library(zita_resampler STATIC IMPORTED)
|
|
set_property(TARGET zita_resampler PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../carla/build/modules/Release/zita-resampler.a")
|
|
|
|
add_library(sCardinalFX STATIC IMPORTED)
|
|
set_property(TARGET sCardinalFX PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../bin/CardinalFX.a")
|
|
|
|
add_library(sPlugins STATIC IMPORTED)
|
|
set_property(TARGET sPlugins PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../plugins/plugins.a")
|
|
|
|
add_library(sRack STATIC IMPORTED)
|
|
set_property(TARGET sRack PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../src/rack.a")
|
|
|
|
#ifeq ($(WINDOWS),true)
|
|
#RACK_EXTRA_LIBS += $(DEP_LIB_PATH)/libarchive_static.a
|
|
add_library(libarchive STATIC IMPORTED)
|
|
set_property(TARGET libarchive PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../src/Rack/dep/lib/libarchive.a")
|
|
|
|
add_library(libjansson STATIC IMPORTED)
|
|
set_property(TARGET libjansson PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../src/Rack/dep/lib/libjansson.a")
|
|
|
|
add_library(libquickjs STATIC IMPORTED)
|
|
set_property(TARGET libquickjs PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../src/Rack/dep/lib/libquickjs.a")
|
|
|
|
add_library(libsamplerate STATIC IMPORTED)
|
|
set_property(TARGET libsamplerate PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../src/Rack/dep/lib/libsamplerate.a")
|
|
|
|
add_library(libspeexdsp STATIC IMPORTED)
|
|
set_property(TARGET libspeexdsp PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../src/Rack/dep/lib/libspeexdsp.a")
|
|
|
|
add_library(libzstd STATIC IMPORTED)
|
|
set_property(TARGET libzstd PROPERTY IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../src/Rack/dep/lib/libzstd.a")
|
|
|
|
#find_package(Dbus)
|
|
find_package(OpenGL)
|
|
find_package(X11)
|
|
|
|
# FX variant
|
|
|
|
juce_add_plugin(CardinalFX
|
|
IS_SYNTH FALSE
|
|
NEEDS_MIDI_INPUT FALSE
|
|
NEEDS_MIDI_OUTPUT FALSE
|
|
IS_MIDI_EFFECT FALSE
|
|
EDITOR_WANTS_KEYBOARD_FOCUS TRUE
|
|
PLUGIN_MANUFACTURER_CODE Dstr
|
|
PLUGIN_CODE dCnF
|
|
FORMATS Standalone AU
|
|
PRODUCT_NAME "CardinalFX")
|
|
|
|
target_sources(CardinalFX
|
|
PRIVATE
|
|
CardinalWrapper.cpp)
|
|
|
|
target_include_directories(CardinalFX
|
|
PRIVATE
|
|
.
|
|
../dpf/distrho)
|
|
|
|
target_compile_definitions(CardinalFX
|
|
PUBLIC
|
|
JUCE_DISPLAY_SPLASH_SCREEN=0
|
|
JUCE_USE_CURL=0
|
|
JUCE_WEB_BROWSER=0)
|
|
|
|
target_link_directories(CardinalFX
|
|
PUBLIC
|
|
/opt/kxstudio/lib)
|
|
|
|
target_link_libraries(CardinalFX
|
|
PRIVATE
|
|
juce::juce_audio_utils
|
|
-Wl,--whole-archive
|
|
sCardinalFX
|
|
sPlugins
|
|
sRack
|
|
carla_host_plugin
|
|
carla_engine_plugin
|
|
carla_plugin
|
|
native_plugins
|
|
audio_decoder
|
|
jackbridge
|
|
lilv
|
|
rtmempool
|
|
sfzero
|
|
water
|
|
zita_resampler
|
|
dgl
|
|
libarchive
|
|
libjansson
|
|
libquickjs
|
|
libsamplerate
|
|
libspeexdsp
|
|
libzstd
|
|
-Wl,--no-whole-archive
|
|
GLX
|
|
OpenGL
|
|
X11
|
|
Xcursor
|
|
Xext
|
|
Xrandr
|
|
PUBLIC
|
|
-ldbus-1
|
|
-llo
|
|
-lmagic
|
|
-lsndfile -lFLAC -lvorbisenc -lvorbis -logg
|
|
-lrt
|
|
juce::juce_recommended_config_flags
|
|
juce::juce_recommended_lto_flags
|
|
juce::juce_recommended_warning_flags)
|
|
|
|
# Synth variant
|