CMakeLists.txt (1903B)
1 add_subdirectory(JUCE) 2 3 include(cmake/SubprojectVersion.cmake) 4 subproject_version(JUCE juce_version) 5 message(STATUS "VERSION for JUCE: ${juce_version}") 6 7 # Link to libsamplerate 8 set(BUILD_TESTING OFF CACHE BOOL "Don't build libsamplerate tests!") 9 add_subdirectory(libsamplerate) 10 subproject_version(libsamplerate libsamplerate_version) 11 message(STATUS "VERSION for libsamplerate: ${libsamplerate_version}") 12 13 # link to RTNeural 14 set(RTNEURAL_XSIMD ON CACHE BOOL "Use RTNeural with this backend" FORCE) 15 add_subdirectory(RTNeural) 16 17 include(cmake/WarningFlags.cmake) 18 add_library(juce_plugin_modules STATIC) 19 add_subdirectory(json) 20 add_subdirectory(chowdsp_utils) 21 22 target_link_libraries(juce_plugin_modules 23 PRIVATE 24 BinaryData 25 juce::juce_audio_utils 26 juce::juce_audio_plugin_client 27 juce::juce_dsp 28 nlohmann_json::nlohmann_json 29 RTNeural 30 samplerate 31 chowdsp_dsp 32 PUBLIC 33 juce::juce_recommended_config_flags 34 juce::juce_recommended_lto_flags 35 warning_flags 36 ) 37 38 target_compile_definitions(juce_plugin_modules 39 PUBLIC 40 JUCE_DISPLAY_SPLASH_SCREEN=0 41 JUCE_REPORT_APP_USAGE=0 42 JUCE_WEB_BROWSER=0 43 JUCE_USE_CURL=0 44 JUCE_VST3_CAN_REPLACE_VST2=0 45 JucePlugin_Manufacturer="GuitarML" 46 JucePlugin_VersionString="${CMAKE_PROJECT_VERSION}" 47 JucePlugin_Name="${CMAKE_PROJECT_NAME}" 48 CHOWDSP_USE_LIBSAMPLERATE=1 49 INTERFACE 50 $<TARGET_PROPERTY:juce_plugin_modules,COMPILE_DEFINITIONS> 51 ) 52 53 target_include_directories(juce_plugin_modules 54 PUBLIC 55 RTNeural 56 RTNeural/modules/xsimd/include 57 libsamplerate/include 58 INTERFACE 59 $<TARGET_PROPERTY:juce_plugin_modules,INCLUDE_DIRECTORIES> 60 ) 61 62 set_target_properties(juce_plugin_modules PROPERTIES 63 POSITION_INDEPENDENT_CODE TRUE 64 VISIBILITY_INLINES_HIDDEN TRUE 65 C_VISBILITY_PRESET hidden 66 CXX_VISIBILITY_PRESET hidden 67 )