Sprint 1: Add CMakeLists.txt for JUCE 8 VST3/AU plugin (macOS, GPL)
Browse files- CMakeLists.txt +63 -0
CMakeLists.txt
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
cmake_minimum_required(VERSION 3.22)
|
| 2 |
+
project(PluginBridge VERSION 0.1.0 LANGUAGES CXX)
|
| 3 |
+
|
| 4 |
+
set(CMAKE_CXX_STANDARD 17)
|
| 5 |
+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
| 6 |
+
|
| 7 |
+
# JUCE as subdirectory (git submodule)
|
| 8 |
+
add_subdirectory(JUCE)
|
| 9 |
+
|
| 10 |
+
juce_add_plugin(PluginBridge
|
| 11 |
+
COMPANY_NAME "PluginBridge"
|
| 12 |
+
BUNDLE_ID "com.pluginbridge.pluginbridge"
|
| 13 |
+
PLUGIN_MANUFACTURER_CODE Plbr
|
| 14 |
+
PLUGIN_CODE Plbr
|
| 15 |
+
FORMATS VST3 AU
|
| 16 |
+
PRODUCT_NAME "PluginBridge"
|
| 17 |
+
IS_SYNTH FALSE
|
| 18 |
+
NEEDS_MIDI_INPUT TRUE
|
| 19 |
+
NEEDS_MIDI_OUTPUT TRUE
|
| 20 |
+
IS_MIDI_EFFECT FALSE
|
| 21 |
+
EDITOR_WANTS_KEYBOARD_FOCUS FALSE
|
| 22 |
+
COPY_PLUGIN_AFTER_BUILD TRUE
|
| 23 |
+
VST3_COPY_DIR "$ENV{HOME}/Library/Audio/Plug-Ins/VST3"
|
| 24 |
+
AU_COPY_DIR "$ENV{HOME}/Library/Audio/Plug-Ins/Components"
|
| 25 |
+
)
|
| 26 |
+
|
| 27 |
+
target_sources(PluginBridge
|
| 28 |
+
PRIVATE
|
| 29 |
+
Source/PluginBridgeProcessor.cpp
|
| 30 |
+
Source/PluginBridgeEditor.cpp
|
| 31 |
+
Source/McpServer.cpp
|
| 32 |
+
Source/HostedPluginManager.cpp
|
| 33 |
+
Source/AudioAnalyser.cpp
|
| 34 |
+
)
|
| 35 |
+
|
| 36 |
+
target_include_directories(PluginBridge
|
| 37 |
+
PRIVATE
|
| 38 |
+
${CMAKE_CURRENT_SOURCE_DIR}/libs
|
| 39 |
+
${CMAKE_CURRENT_SOURCE_DIR}/Source
|
| 40 |
+
)
|
| 41 |
+
|
| 42 |
+
target_compile_definitions(PluginBridge
|
| 43 |
+
PUBLIC
|
| 44 |
+
JUCE_PLUGINHOST_VST3=1
|
| 45 |
+
JUCE_PLUGINHOST_AU=1
|
| 46 |
+
JUCE_WEB_BROWSER=0
|
| 47 |
+
JUCE_USE_CURL=0
|
| 48 |
+
JUCE_VST3_CAN_REPLACE_VST2=0
|
| 49 |
+
JUCE_DISPLAY_SPLASH_SCREEN=0
|
| 50 |
+
JUCE_REPORT_APP_USAGE=0
|
| 51 |
+
)
|
| 52 |
+
|
| 53 |
+
target_link_libraries(PluginBridge
|
| 54 |
+
PRIVATE
|
| 55 |
+
juce::juce_audio_utils
|
| 56 |
+
juce::juce_audio_processors
|
| 57 |
+
juce::juce_dsp
|
| 58 |
+
juce::juce_gui_basics
|
| 59 |
+
PUBLIC
|
| 60 |
+
juce::juce_recommended_config_flags
|
| 61 |
+
juce::juce_recommended_lto_flags
|
| 62 |
+
juce::juce_recommended_warning_flags
|
| 63 |
+
)
|