cmake_minimum_required(VERSION 3.22) project(Saftpumpe VERSION 1.0.0 LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(JUCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/JUCE") add_subdirectory("${JUCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/juce_build" EXCLUDE_FROM_ALL) juce_add_plugin(Saftpumpe COMPANY_NAME "Saftpumpe" PLUGIN_MANUFACTURER_CODE SfPm PLUGIN_CODE SaFp FORMATS VST3 Standalone AU PRODUCT_NAME "Saftpumpe" 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_AU_TYPE_PREFIX "aufx" VST3_CATEGORIES "Fx" "Dynamics" ) target_sources(Saftpumpe PRIVATE Source/PluginProcessor.cpp Source/PluginEditor.cpp ) target_compile_definitions(Saftpumpe PUBLIC JUCE_WEB_BROWSER=0 JUCE_USE_CURL=0 JUCE_VST3_CAN_REPLACE_VST2=0 JUCE_DISPLAY_SPLASH_SCREEN=0 JUCE_MODAL_LOOPS_PERMITTED=0 ) target_link_libraries(Saftpumpe PRIVATE juce::juce_audio_basics juce::juce_audio_devices juce::juce_audio_formats juce::juce_dsp juce::juce_audio_plugin_client juce::juce_audio_processors juce::juce_audio_utils juce::juce_core juce::juce_data_structures juce::juce_events juce::juce_graphics juce::juce_gui_basics juce::juce_gui_extra PUBLIC juce::juce_recommended_config_flags ) set_target_properties(Saftpumpe PROPERTIES XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++" XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++17" XCODE_ATTRIBUTE_ARCHS "arm64" XCODE_ATTRIBUTE_VALID_ARCHS "arm64" XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH "YES" )