diff --git a/AGENTS.md b/AGENTS.md index 31f8864..1637b52 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -37,7 +37,7 @@ cmake --build build --config Release -j8 # 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 diff --git a/CMakeLists.txt b/CMakeLists.txt index 72db57c..26b8b42 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,15 +33,12 @@ juce_add_binary_data(ChromaFlockBinaryData if(APPLE) set(CHROMAFLOCK_FORMATS VST3 AU Standalone) - set(CHROMAFLOCK_COPY TRUE) set(CHROMAFLOCK_AU_MAIN_TYPE AU_MAIN_TYPE kAudioUnitType_MusicDevice) elseif(WIN32) set(CHROMAFLOCK_FORMATS VST3 Standalone) - set(CHROMAFLOCK_COPY FALSE) set(CHROMAFLOCK_AU_MAIN_TYPE "") else() set(CHROMAFLOCK_FORMATS VST3 Standalone) - set(CHROMAFLOCK_COPY FALSE) set(CHROMAFLOCK_AU_MAIN_TYPE "") endif() @@ -55,7 +52,7 @@ juce_add_plugin(ChromaFlock NEEDS_MIDI_INPUT TRUE IS_MIDI_EFFECT FALSE EDITOR_WANTS_KEYBOARD_FOCUS FALSE - COPY_PLUGIN_AFTER_BUILD ${CHROMAFLOCK_COPY} + COPY_PLUGIN_AFTER_BUILD FALSE VST3_CATEGORIES Synth ${CHROMAFLOCK_AU_MAIN_TYPE} DESCRIPTION "Subtractive Synthesizer" diff --git a/Makefile b/Makefile index 58bc0ba..8e989c0 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ # make debug — configure + build Debug # make clean — remove build directory # 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 help — show help @@ -21,7 +21,6 @@ else endif # Artefact paths -VST3 := $(BUILD_DIR)/ChromaFlock_artefacts/$(BUILD_TYPE)/VST3/ChromaFlock.vst3 ifeq ($(UNAME_S),Darwin) APP := $(BUILD_DIR)/ChromaFlock_artefacts/$(BUILD_TYPE)/Standalone/ChromaFlock.app else @@ -32,16 +31,14 @@ endif all: release -release: $(VST3) - -debug: - @cmake -B $(BUILD_DIR) -DCMAKE_BUILD_TYPE=Debug $(CMAKE_FLAGS) - @cmake --build $(BUILD_DIR) --config Debug -j$(JOBS) - -$(VST3): +release: @cmake -B $(BUILD_DIR) $(CMAKE_FLAGS) @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: @cmake -B $(BUILD_DIR) $(CMAKE_FLAGS) @@ -52,18 +49,23 @@ rebuild: clean all install: all ifeq ($(UNAME_S),Darwin) - @echo "Plugins were copied to system folders by CMAKE_COPY_PLUGIN_AFTER_BUILD." - @echo "VST3: ~/Library/Audio/Plug-Ins/VST3/" - @echo "AU: ~/Library/Audio/Plug-Ins/Components/" + @mkdir -p "$(HOME)/Library/Audio/Plug-Ins/VST3" "$(HOME)/Library/Audio/Plug-Ins/Components" + @rm -rf "$(HOME)/Library/Audio/Plug-Ins/VST3/ChromaFlock.vst3" + @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) - @mkdir -p ~/.vst3 - @cp -r $(BUILD_DIR)/ChromaFlock_artefacts/$(BUILD_TYPE)/VST3/ChromaFlock.vst3 ~/.vst3/ + @mkdir -p $(HOME)/.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/" else @echo "Install paths unknown for this platform." endif -run: $(APP) +run: release ifeq ($(UNAME_S),Darwin) open "$(APP)" else @@ -78,6 +80,6 @@ help: @echo " make clean — Remove build/" @echo " make rebuild — Clean + Build Release" @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 help — This message"