Separate build from install: make no longer copies plugins

This commit is contained in:
Armin 2026-10-06 20:59:53 +02:00
commit 9bd70f67e4
3 changed files with 19 additions and 20 deletions

View file

@ -37,7 +37,7 @@ cmake --build build --config Release -j8
# build/ChromaFlock_artefacts/Release/Standalone/ChromaFlock.app # build/ChromaFlock_artefacts/Release/Standalone/ChromaFlock.app
``` ```
Plugins auto-copy to system folders via `COPY_PLUGIN_AFTER_BUILD TRUE`. Build does NOT install; `make install` (Makefile) copies VST3/AU to system folders. `COPY_PLUGIN_AFTER_BUILD FALSE`.
## CMake Configuration ## CMake Configuration

View file

@ -33,15 +33,12 @@ juce_add_binary_data(ChromaFlockBinaryData
if(APPLE) if(APPLE)
set(CHROMAFLOCK_FORMATS VST3 AU Standalone) set(CHROMAFLOCK_FORMATS VST3 AU Standalone)
set(CHROMAFLOCK_COPY TRUE)
set(CHROMAFLOCK_AU_MAIN_TYPE AU_MAIN_TYPE kAudioUnitType_MusicDevice) set(CHROMAFLOCK_AU_MAIN_TYPE AU_MAIN_TYPE kAudioUnitType_MusicDevice)
elseif(WIN32) elseif(WIN32)
set(CHROMAFLOCK_FORMATS VST3 Standalone) set(CHROMAFLOCK_FORMATS VST3 Standalone)
set(CHROMAFLOCK_COPY FALSE)
set(CHROMAFLOCK_AU_MAIN_TYPE "") set(CHROMAFLOCK_AU_MAIN_TYPE "")
else() else()
set(CHROMAFLOCK_FORMATS VST3 Standalone) set(CHROMAFLOCK_FORMATS VST3 Standalone)
set(CHROMAFLOCK_COPY FALSE)
set(CHROMAFLOCK_AU_MAIN_TYPE "") set(CHROMAFLOCK_AU_MAIN_TYPE "")
endif() endif()
@ -55,7 +52,7 @@ juce_add_plugin(ChromaFlock
NEEDS_MIDI_INPUT TRUE NEEDS_MIDI_INPUT TRUE
IS_MIDI_EFFECT FALSE IS_MIDI_EFFECT FALSE
EDITOR_WANTS_KEYBOARD_FOCUS FALSE EDITOR_WANTS_KEYBOARD_FOCUS FALSE
COPY_PLUGIN_AFTER_BUILD ${CHROMAFLOCK_COPY} COPY_PLUGIN_AFTER_BUILD FALSE
VST3_CATEGORIES Synth VST3_CATEGORIES Synth
${CHROMAFLOCK_AU_MAIN_TYPE} ${CHROMAFLOCK_AU_MAIN_TYPE}
DESCRIPTION "Subtractive Synthesizer" DESCRIPTION "Subtractive Synthesizer"

View file

@ -4,7 +4,7 @@
# make debug — configure + build Debug # make debug — configure + build Debug
# make clean — remove build directory # make clean — remove build directory
# make rebuild — clean + build Release # make rebuild — clean + build Release
# make install — build + copy plugins to system dirs # make install — build + copy plugins to system dirs (make itself never installs)
# make run — build Standalone and launch # make run — build Standalone and launch
# make help — show help # make help — show help
@ -21,7 +21,6 @@ else
endif endif
# Artefact paths # Artefact paths
VST3 := $(BUILD_DIR)/ChromaFlock_artefacts/$(BUILD_TYPE)/VST3/ChromaFlock.vst3
ifeq ($(UNAME_S),Darwin) ifeq ($(UNAME_S),Darwin)
APP := $(BUILD_DIR)/ChromaFlock_artefacts/$(BUILD_TYPE)/Standalone/ChromaFlock.app APP := $(BUILD_DIR)/ChromaFlock_artefacts/$(BUILD_TYPE)/Standalone/ChromaFlock.app
else else
@ -32,16 +31,14 @@ endif
all: release all: release
release: $(VST3) release:
debug:
@cmake -B $(BUILD_DIR) -DCMAKE_BUILD_TYPE=Debug $(CMAKE_FLAGS)
@cmake --build $(BUILD_DIR) --config Debug -j$(JOBS)
$(VST3):
@cmake -B $(BUILD_DIR) $(CMAKE_FLAGS) @cmake -B $(BUILD_DIR) $(CMAKE_FLAGS)
@cmake --build $(BUILD_DIR) --config $(BUILD_TYPE) -j$(JOBS) @cmake --build $(BUILD_DIR) --config $(BUILD_TYPE) -j$(JOBS)
debug:
@cmake -B $(BUILD_DIR) -DCMAKE_BUILD_TYPE=Debug
@cmake --build $(BUILD_DIR) --config Debug -j$(JOBS)
configure: configure:
@cmake -B $(BUILD_DIR) $(CMAKE_FLAGS) @cmake -B $(BUILD_DIR) $(CMAKE_FLAGS)
@ -52,18 +49,23 @@ rebuild: clean all
install: all install: all
ifeq ($(UNAME_S),Darwin) ifeq ($(UNAME_S),Darwin)
@echo "Plugins were copied to system folders by CMAKE_COPY_PLUGIN_AFTER_BUILD." @mkdir -p "$(HOME)/Library/Audio/Plug-Ins/VST3" "$(HOME)/Library/Audio/Plug-Ins/Components"
@echo "VST3: ~/Library/Audio/Plug-Ins/VST3/" @rm -rf "$(HOME)/Library/Audio/Plug-Ins/VST3/ChromaFlock.vst3"
@echo "AU: ~/Library/Audio/Plug-Ins/Components/" @cp -R "$(BUILD_DIR)/ChromaFlock_artefacts/$(BUILD_TYPE)/VST3/ChromaFlock.vst3" "$(HOME)/Library/Audio/Plug-Ins/VST3/"
@rm -rf "$(HOME)/Library/Audio/Plug-Ins/Components/ChromaFlock.component"
@cp -R "$(BUILD_DIR)/ChromaFlock_artefacts/$(BUILD_TYPE)/AU/ChromaFlock.component" "$(HOME)/Library/Audio/Plug-Ins/Components/"
@echo "Installed VST3 to ~/Library/Audio/Plug-Ins/VST3/"
@echo "Installed AU to ~/Library/Audio/Plug-Ins/Components/"
else ifeq ($(UNAME_S),Linux) else ifeq ($(UNAME_S),Linux)
@mkdir -p ~/.vst3 @mkdir -p $(HOME)/.vst3
@cp -r $(BUILD_DIR)/ChromaFlock_artefacts/$(BUILD_TYPE)/VST3/ChromaFlock.vst3 ~/.vst3/ @rm -rf $(HOME)/.vst3/ChromaFlock.vst3
@cp -r $(BUILD_DIR)/ChromaFlock_artefacts/$(BUILD_TYPE)/VST3/ChromaFlock.vst3 $(HOME)/.vst3/
@echo "Installed ChromaFlock.vst3 to ~/.vst3/" @echo "Installed ChromaFlock.vst3 to ~/.vst3/"
else else
@echo "Install paths unknown for this platform." @echo "Install paths unknown for this platform."
endif endif
run: $(APP) run: release
ifeq ($(UNAME_S),Darwin) ifeq ($(UNAME_S),Darwin)
open "$(APP)" open "$(APP)"
else else
@ -78,6 +80,6 @@ help:
@echo " make clean — Remove build/" @echo " make clean — Remove build/"
@echo " make rebuild — Clean + Build Release" @echo " make rebuild — Clean + Build Release"
@echo " make configure — Run CMake configure only" @echo " make configure — Run CMake configure only"
@echo " make install — Install VST3 to system dir" @echo " make install — Install VST3 + AU to system dirs"
@echo " make run — Build and launch Standalone app" @echo " make run — Build and launch Standalone app"
@echo " make help — This message" @echo " make help — This message"