cmake_minimum_required(VERSION 3.15)

project(CrystalizerEQ VERSION 1.0.1)

# JUCE einbinden (lokaler Pfad zu JUCE, z. B. als Submodul oder manuell kopiert)
add_subdirectory(juce)  # <-- Pfad zu deinem JUCE-Ordner relativ zum Projekt

# Plugin-Projekt konfigurieren
juce_add_plugin(CrystalizerEQ
        COMPANY_NAME "AXIOM"
        IS_SYNTH FALSE
        NEEDS_MIDI_INPUT FALSE
        NEEDS_MIDI_OUTPUT FALSE
        IS_MIDI_EFFECT FALSE
        EDITOR_WANTS_KEYBOARD_FOCUS FALSE
        COPY_PLUGIN_AFTER_BUILD TRUE
        PLUGIN_MANUFACTURER_CODE Juce
        PLUGIN_CODE CrEQ
        FORMATS VST3 Standalone
        PRODUCT_NAME "CrystalizerEQ"
)

# Quellcode einbinden
target_sources(CrystalizerEQ PRIVATE
        PluginProcessor.cpp
        PluginEditor.cpp
        AXIOMDesignSystem.h
        JuceLibraryCode/BinaryData.cpp
)

# C++20 aktivieren
target_compile_features(CrystalizerEQ PRIVATE cxx_std_20)

# Benötigte JUCE-Module verlinken
target_link_libraries(CrystalizerEQ PRIVATE
        juce::juce_audio_utils
        juce::juce_audio_plugin_client
        juce::juce_dsp
)
