cmake_minimum_required(VERSION 3.22) project(ChromaFlock VERSION 1.0.0 LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_subdirectory(JUCE) juce_add_binary_data(ChromaFlockBinaryData NAMESPACE BinaryData SOURCES chromaflockbg5.png cfnew.png ) juce_add_plugin(ChromaFlock COMPANY_NAME "ChromaFlock" PLUGIN_MANUFACTURER_CODE CFlk PLUGIN_CODE CFlk FORMATS VST3 AU Standalone PRODUCT_NAME "ChromaFlock" IS_SYNTH TRUE NEEDS_MIDI_INPUT TRUE IS_MIDI_EFFECT FALSE EDITOR_WANTS_KEYBOARD_FOCUS FALSE COPY_PLUGIN_AFTER_BUILD TRUE VST3_CATEGORIES Synth AU_MAIN_TYPE kAudioUnitType_MusicDevice DESCRIPTION "Subtractive Synthesizer" ) target_sources(ChromaFlock PRIVATE Source/PluginProcessor.cpp Source/PluginEditor.cpp ) target_compile_definitions(ChromaFlock PUBLIC JUCE_VST3_CAN_REPLACE_VST2=0 JUCE_WEB_BROWSER=0 JUCE_USE_CURL=0 JUCE_DISPLAY_SPLASH_SCREEN=0 JUCE_PLUGIN_WANTS_MIDI=1 JUCE_MODAL_LOOPS_PERMITTED=0 ) target_link_libraries(ChromaFlock PRIVATE ChromaFlockBinaryData juce::juce_audio_basics juce::juce_audio_devices juce::juce_audio_formats juce::juce_audio_plugin_client juce::juce_audio_processors juce::juce_audio_utils juce::juce_core juce::juce_data_structures juce::juce_dsp juce::juce_events juce::juce_graphics juce::juce_gui_basics juce::juce_gui_extra )