# This file was generated by FRUT's Jucer2CMake from "slCrossfeed.jucer"

cmake_minimum_required(VERSION 3.15)

project("slCrossfeed")

juce_add_plugin(slCrossfeed
  VERSION "1.0.0"
  BUNDLE_ID "com.socalabs.slCrossfeed"
  COMPANY_NAME "SocaLabs"
  COMPANY_WEBSITE "www.socalabs.com"
  COMPANY_EMAIL "info@socalabs.com"

  FORMATS
  "VST3"
  "AU"
  "Standalone"
  "VST"
  "LV2"
  PLUGIN_NAME "slCrossfeed"
  DESCRIPTION "slCrossfeed"
  PLUGIN_MANUFACTURER_CODE "Soca"
  PLUGIN_CODE "Cros"
  AAX_IDENTIFIER "com.socalabs.slCrossfeed"
  AU_EXPORT_PREFIX "slCrossfeedAU"
  LV2URI "https://socalabs.com/crossfeed/"
)

juce_generate_juce_header(slCrossfeed)

target_compile_definitions(slCrossfeed
  PUBLIC
    JUCE_QUICKTIME=disabled
    JUCE_USE_CURL=0
    JUCE_WEB_BROWSER=0
    JUCE_MODAL_LOOPS_PERMITTED=1
    JUCE_JACK=1
    JUCE_REPORT_APP_USAGE=0
    JUCE_DISPLAY_SPLASH_SCREEN=0
)

target_sources(slCrossfeed
  PRIVATE
    "../../3rdparty/crossfeed/cautil.c"
    "../../3rdparty/crossfeed/crossfeed.c"
    "../../3rdparty/crossfeed/message_queue.c"
    "../../common/slComponents.cpp"
    "../../common/slDsp.cpp"
    "../../common/slLookAndFeel.cpp"
    "../../common/slParameter.cpp"
    "../../common/slPluginEditor.cpp"
    "../../common/slProcessor.cpp"
    "../../common/slProgram.cpp"
    "../../common/slUtil.cpp"
    "Source/PluginEditor.cpp"
    "Source/PluginProcessor.cpp"
)

set_target_properties(slCrossfeed PROPERTIES
    VISIBILITY_INLINES_HIDDEN TRUE
    C_VISBILITY_PRESET hidden
    CXX_VISIBILITY_PRESET hidden
)

target_link_libraries(slCrossfeed
  PRIVATE
    juce::juce_audio_basics
    juce::juce_audio_devices
    juce::juce_audio_formats
    juce::juce_audio_plugin_client
    juce::juce_audio_processors
    juce::juce_core
    juce::juce_cryptography
    juce::juce_data_structures
    juce::juce_events
    juce::juce_graphics
    juce::juce_gui_basics
    juce::juce_gui_extra
    juce::juce_opengl
  PUBLIC
    juce::juce_recommended_config_flags
    juce::juce_recommended_lto_flags
    juce::juce_recommended_warning_flags
)

if (APPLE)
	set_target_properties("juce_vst3_helper" PROPERTIES XCODE_ATTRIBUTE_CLANG_LINK_OBJC_RUNTIME NO)
  foreach(t ${FORMATS} "Assets" "All" "")
		set_target_properties(${tgt} PROPERTIES
			XCODE_ATTRIBUTE_CLANG_LINK_OBJC_RUNTIME NO
			XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH[variant=Debug] "YES")
  endforeach()
endif()     