SmartGuitarAmp

Guitar plugin made with JUCE that uses neural networks to emulate a tube amplifier
Log | Files | Refs | Submodules | README

CMakeLists.txt (1735B)


      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 
     14 include(cmake/WarningFlags.cmake)
     15 add_library(juce_plugin_modules STATIC)
     16 #add_subdirectory(chowdsp_utils)
     17 add_subdirectory(eigen)
     18 
     19 target_link_libraries(juce_plugin_modules
     20     PRIVATE
     21         BinaryData
     22         juce::juce_audio_utils
     23         juce::juce_audio_plugin_client
     24         juce::juce_dsp
     25         eigen
     26 	  #samplerate
     27 	  #chowdsp_dsp
     28     PUBLIC
     29         juce::juce_recommended_config_flags
     30         juce::juce_recommended_lto_flags
     31         warning_flags
     32 )
     33 
     34 target_compile_definitions(juce_plugin_modules
     35     PUBLIC
     36         JUCE_DISPLAY_SPLASH_SCREEN=0
     37         JUCE_REPORT_APP_USAGE=0
     38         JUCE_WEB_BROWSER=0
     39         JUCE_USE_CURL=0
     40         JUCE_VST3_CAN_REPLACE_VST2=0
     41         JucePlugin_Manufacturer="GuitarML"
     42         JucePlugin_VersionString="${CMAKE_PROJECT_VERSION}"
     43         JucePlugin_Name="${CMAKE_PROJECT_NAME}"
     44 	#CHOWDSP_USE_LIBSAMPLERATE=1
     45     INTERFACE
     46         $<TARGET_PROPERTY:juce_plugin_modules,COMPILE_DEFINITIONS>
     47 )
     48 
     49 target_include_directories(juce_plugin_modules
     50     PUBLIC
     51         eigen/Eigen
     52         #libsamplerate/include
     53     INTERFACE
     54         $<TARGET_PROPERTY:juce_plugin_modules,INCLUDE_DIRECTORIES>
     55 )
     56 
     57 set_target_properties(juce_plugin_modules PROPERTIES
     58     POSITION_INDEPENDENT_CODE TRUE
     59     VISIBILITY_INLINES_HIDDEN TRUE
     60     C_VISBILITY_PRESET hidden
     61     CXX_VISIBILITY_PRESET hidden
     62 )