72 lines
1.9 KiB
CMake

if(CLAP_WRAP_PROJUCER_PLUGIN)
set(PATH_TO_JUCE "${JUCE_SOURCE_DIR}")
set(PATH_TO_CLAP_EXTENSIONS ${CMAKE_CURRENT_SOURCE_DIR}/../..)
if(APPLE)
set(JUCER_GENERATOR "Xcode")
elseif(WIN32)
set(JUCER_GENERATOR "VisualStudio2019")
else() # Linux
set(JUCER_GENERATOR "LinuxMakefile")
endif()
include(${PATH_TO_CLAP_EXTENSIONS}/cmake/JucerClap.cmake)
create_jucer_clap_target(
TARGET "GainPlugin"
PLUGIN_NAME "GainPlugin"
BINARY_NAME "MyGreatGainPlugin"
PLUGIN_CODE "Gplg"
MANUFACTURER_NAME "${COMPANY_NAME}"
MANUFACTURER_CODE "${COMPANY_CODE}"
VERSION_STRING "${CMAKE_PROJECT_VERSION}"
CLAP_ID "org.free-audio.GainPlugin"
CLAP_FEATURES audio-effect utility
CLAP_PROCESS_EVENTS_RESOLUTION_SAMPLES 64
)
return()
endif()
juce_add_plugin(GainPlugin
COMPANY_NAME "${COMPANY_NAME}"
PLUGIN_MANUFACTURER_CODE "${COMPANY_CODE}"
PLUGIN_CODE Gplg
FORMATS ${JUCE_FORMATS}
PRODUCT_NAME "GainPlugin"
)
clap_juce_extensions_plugin(
TARGET GainPlugin
CLAP_ID "org.free-audio.GainPlugin"
CLAP_FEATURES audio-effect utility
CLAP_PROCESS_EVENTS_RESOLUTION_SAMPLES 64
)
target_sources(GainPlugin PRIVATE
GainPlugin.cpp
PluginEditor.cpp
)
target_compile_definitions(GainPlugin PUBLIC
JUCE_DISPLAY_SPLASH_SCREEN=1
JUCE_REPORT_APP_USAGE=0
JUCE_WEB_BROWSER=0
JUCE_USE_CURL=0
JUCE_JACK=1
JUCE_ALSA=1
JUCE_MODAL_LOOPS_PERMITTED=1 # required for Linux FileChooser with JUCE 6.0.7
JUCE_VST3_CAN_REPLACE_VST2=0
)
target_link_libraries(GainPlugin
PRIVATE
juce::juce_audio_utils
juce::juce_audio_plugin_client
juce::juce_dsp
clap_juce_extensions
PUBLIC
juce::juce_recommended_config_flags
juce::juce_recommended_lto_flags
juce::juce_recommended_warning_flags
)