# Included by TeaVoxPlus after its single shared JUCE add_subdirectory.
if(APPLE)
    set(LITE_FORMATS VST3 AU Standalone)
else()
    set(LITE_FORMATS VST3 Standalone)
endif()
juce_add_plugin(TeaVOXLite VERSION 1.0.0
    COMPANY_NAME "Methane Co: Project Imitatio Dei"
    BUNDLE_ID "audio.teavox.lite" PLUGIN_MANUFACTURER_CODE TeaA PLUGIN_CODE Tvl1
    FORMATS ${LITE_FORMATS} PRODUCT_NAME "TeaVOX Lite"
    DESCRIPTION "Free offline vocal chain: TeaTune, TeaComp, TeaDelay and TeaVerb"
    IS_SYNTH FALSE NEEDS_MIDI_INPUT FALSE NEEDS_MIDI_OUTPUT FALSE
    EDITOR_WANTS_KEYBOARD_FOCUS TRUE
    MICROPHONE_PERMISSION_ENABLED TRUE MICROPHONE_PERMISSION_TEXT "TeaVOX Lite uses your microphone for live vocal effects."
    VST3_AUTO_MANIFEST ${TEAVOX_AUTO_MANIFEST} COPY_PLUGIN_AFTER_BUILD FALSE
    VST3_CATEGORIES Fx Dynamics PitchShift Reverb Delay AU_MAIN_TYPE kAudioUnitType_Effect)
target_sources(TeaVOXLite PRIVATE Source/PluginProcessor.cpp Source/PluginEditor.cpp Source/LiteDSP.cpp)
target_include_directories(TeaVOXLite PUBLIC Source)
target_compile_definitions(TeaVOXLite PUBLIC JUCE_WEB_BROWSER=0 JUCE_USE_CURL=0 JUCE_VST3_CAN_REPLACE_VST2=0)
target_link_libraries(TeaVOXLite PRIVATE juce::juce_audio_utils PUBLIC juce::juce_recommended_config_flags juce::juce_recommended_warning_flags)
set_target_properties(TeaVOXLite PROPERTIES CXX_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN YES)
if(TEAVOX_BUILD_TESTS)
    add_executable(TeaVOXLiteDSPTests Tests/DSPTests.cpp Source/LiteDSP.cpp)
    target_include_directories(TeaVOXLiteDSPTests PRIVATE Source)
    juce_add_console_app(TeaVOXLiteTests PRODUCT_NAME "TeaVOXLiteTests")
    target_sources(TeaVOXLiteTests PRIVATE Tests/NativeTests.cpp)
    # Tests compile their own JUCE modules to enable hosting; plugin stays host-free.
    target_link_libraries(TeaVOXLiteTests PRIVATE TeaVOXLite juce::juce_audio_utils)
    target_include_directories(TeaVOXLiteTests PRIVATE "${JUCE_ROOT}/modules")
    target_compile_definitions(TeaVOXLiteTests PRIVATE JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1 JUCE_PLUGINHOST_VST3=1)
    if(APPLE)
        target_link_options(TeaVOXLiteTests PRIVATE "-Wl,-exported_symbol,_main")
    endif()
    add_test(NAME lite_dsp COMMAND TeaVOXLiteDSPTests)
    add_test(NAME lite_native COMMAND TeaVOXLiteTests "${CMAKE_CURRENT_BINARY_DIR}/evidence")
endif()
