Upload CMakeLists.txt
Browse files- CMakeLists.txt +16 -10
CMakeLists.txt
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
cmake_minimum_required(VERSION 3.22)
|
| 2 |
-
project(PluginBridge VERSION 0.
|
| 3 |
|
| 4 |
set(CMAKE_CXX_STANDARD 17)
|
| 5 |
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
@@ -7,8 +7,9 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
| 7 |
add_subdirectory(JUCE)
|
| 8 |
|
| 9 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 10 |
-
# Target 1: PluginBridge VST3/AU (
|
| 11 |
-
#
|
|
|
|
| 12 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 13 |
|
| 14 |
juce_add_plugin(PluginBridge
|
|
@@ -22,7 +23,7 @@ juce_add_plugin(PluginBridge
|
|
| 22 |
NEEDS_MIDI_INPUT TRUE
|
| 23 |
NEEDS_MIDI_OUTPUT TRUE
|
| 24 |
IS_MIDI_EFFECT FALSE
|
| 25 |
-
EDITOR_WANTS_KEYBOARD_FOCUS
|
| 26 |
COPY_PLUGIN_AFTER_BUILD TRUE
|
| 27 |
VST3_COPY_DIR "$ENV{HOME}/Library/Audio/Plug-Ins/VST3"
|
| 28 |
AU_COPY_DIR "$ENV{HOME}/Library/Audio/Plug-Ins/Components"
|
|
@@ -31,7 +32,8 @@ juce_add_plugin(PluginBridge
|
|
| 31 |
target_sources(PluginBridge
|
| 32 |
PRIVATE
|
| 33 |
Source/Plugin/PluginBridgeProcessor.cpp
|
| 34 |
-
Source/Plugin/PluginBridgeEditor.
|
|
|
|
| 35 |
Source/Plugin/McpServer.cpp
|
| 36 |
)
|
| 37 |
|
|
@@ -59,6 +61,7 @@ target_link_libraries(PluginBridge
|
|
| 59 |
juce::juce_audio_processors
|
| 60 |
juce::juce_dsp
|
| 61 |
juce::juce_gui_basics
|
|
|
|
| 62 |
PUBLIC
|
| 63 |
juce::juce_recommended_config_flags
|
| 64 |
juce::juce_recommended_lto_flags
|
|
@@ -66,8 +69,9 @@ target_link_libraries(PluginBridge
|
|
| 66 |
)
|
| 67 |
|
| 68 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 69 |
-
# Target 2: PluginBridgeHelper (
|
| 70 |
-
#
|
|
|
|
| 71 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 72 |
|
| 73 |
juce_add_gui_app(PluginBridgeHelper
|
|
@@ -79,7 +83,8 @@ juce_add_gui_app(PluginBridgeHelper
|
|
| 79 |
target_sources(PluginBridgeHelper
|
| 80 |
PRIVATE
|
| 81 |
Source/Helper/main.cpp
|
| 82 |
-
Source/Helper/HelperPluginHost.
|
|
|
|
| 83 |
)
|
| 84 |
|
| 85 |
target_include_directories(PluginBridgeHelper
|
|
@@ -103,8 +108,10 @@ target_link_libraries(PluginBridgeHelper
|
|
| 103 |
PRIVATE
|
| 104 |
juce::juce_audio_utils
|
| 105 |
juce::juce_audio_processors
|
|
|
|
| 106 |
juce::juce_gui_basics
|
| 107 |
juce::juce_events
|
|
|
|
| 108 |
PUBLIC
|
| 109 |
juce::juce_recommended_config_flags
|
| 110 |
juce::juce_recommended_lto_flags
|
|
@@ -112,8 +119,7 @@ target_link_libraries(PluginBridgeHelper
|
|
| 112 |
)
|
| 113 |
|
| 114 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 115 |
-
# Post-build: Copy full PluginBridgeHelper.app into
|
| 116 |
-
# The .app structure is required for JUCE to initialize properly.
|
| 117 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 118 |
|
| 119 |
add_dependencies(PluginBridge PluginBridgeHelper)
|
|
|
|
| 1 |
cmake_minimum_required(VERSION 3.22)
|
| 2 |
+
project(PluginBridge VERSION 0.4.0 LANGUAGES C CXX OBJCXX)
|
| 3 |
|
| 4 |
set(CMAKE_CXX_STANDARD 17)
|
| 5 |
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
| 7 |
add_subdirectory(JUCE)
|
| 8 |
|
| 9 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 10 |
+
# Target 1: PluginBridge VST3/AU (loaded in DAW)
|
| 11 |
+
# Thin shell: shared memory audio bridge + MCP server
|
| 12 |
+
# GUI via CARemoteLayerClient (receives remote layer from Helper)
|
| 13 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 14 |
|
| 15 |
juce_add_plugin(PluginBridge
|
|
|
|
| 23 |
NEEDS_MIDI_INPUT TRUE
|
| 24 |
NEEDS_MIDI_OUTPUT TRUE
|
| 25 |
IS_MIDI_EFFECT FALSE
|
| 26 |
+
EDITOR_WANTS_KEYBOARD_FOCUS TRUE
|
| 27 |
COPY_PLUGIN_AFTER_BUILD TRUE
|
| 28 |
VST3_COPY_DIR "$ENV{HOME}/Library/Audio/Plug-Ins/VST3"
|
| 29 |
AU_COPY_DIR "$ENV{HOME}/Library/Audio/Plug-Ins/Components"
|
|
|
|
| 32 |
target_sources(PluginBridge
|
| 33 |
PRIVATE
|
| 34 |
Source/Plugin/PluginBridgeProcessor.cpp
|
| 35 |
+
Source/Plugin/PluginBridgeEditor.mm
|
| 36 |
+
Source/Plugin/HelperConnection.cpp
|
| 37 |
Source/Plugin/McpServer.cpp
|
| 38 |
)
|
| 39 |
|
|
|
|
| 61 |
juce::juce_audio_processors
|
| 62 |
juce::juce_dsp
|
| 63 |
juce::juce_gui_basics
|
| 64 |
+
"-framework QuartzCore"
|
| 65 |
PUBLIC
|
| 66 |
juce::juce_recommended_config_flags
|
| 67 |
juce::juce_recommended_lto_flags
|
|
|
|
| 69 |
)
|
| 70 |
|
| 71 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 72 |
+
# Target 2: PluginBridgeHelper (separate process)
|
| 73 |
+
# Hosts the actual plugin: audio processing + GUI rendering
|
| 74 |
+
# GUI served via CARemoteLayerServer
|
| 75 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 76 |
|
| 77 |
juce_add_gui_app(PluginBridgeHelper
|
|
|
|
| 83 |
target_sources(PluginBridgeHelper
|
| 84 |
PRIVATE
|
| 85 |
Source/Helper/main.cpp
|
| 86 |
+
Source/Helper/HelperPluginHost.mm
|
| 87 |
+
Source/Helper/HelperIPC.cpp
|
| 88 |
)
|
| 89 |
|
| 90 |
target_include_directories(PluginBridgeHelper
|
|
|
|
| 108 |
PRIVATE
|
| 109 |
juce::juce_audio_utils
|
| 110 |
juce::juce_audio_processors
|
| 111 |
+
juce::juce_dsp
|
| 112 |
juce::juce_gui_basics
|
| 113 |
juce::juce_events
|
| 114 |
+
"-framework QuartzCore"
|
| 115 |
PUBLIC
|
| 116 |
juce::juce_recommended_config_flags
|
| 117 |
juce::juce_recommended_lto_flags
|
|
|
|
| 119 |
)
|
| 120 |
|
| 121 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 122 |
+
# Post-build: Copy full PluginBridgeHelper.app into .vst3 bundle
|
|
|
|
| 123 |
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 124 |
|
| 125 |
add_dependencies(PluginBridge PluginBridgeHelper)
|