The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
2.6KB

  1. # ==============================================================================
  2. #
  3. # This file is part of the JUCE library.
  4. # Copyright (c) 2022 - Raw Material Software Limited
  5. #
  6. # JUCE is an open source library subject to commercial or open-source
  7. # licensing.
  8. #
  9. # By using JUCE, you agree to the terms of both the JUCE 7 End-User License
  10. # Agreement and JUCE Privacy Policy.
  11. #
  12. # End User License Agreement: www.juce.com/juce-7-licence
  13. # Privacy Policy: www.juce.com/juce-privacy-policy
  14. #
  15. # Or: You may also use this code under the terms of the GPL v3 (see
  16. # www.gnu.org/licenses).
  17. #
  18. # JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
  19. # EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
  20. # DISCLAIMED.
  21. #
  22. # ==============================================================================
  23. juce_add_gui_app(AudioPluginHost
  24. BUNDLE_ID com.juce.pluginhost
  25. ICON_BIG "${CMAKE_CURRENT_SOURCE_DIR}/Source/JUCEAppIcon.png"
  26. MICROPHONE_PERMISSION_ENABLED TRUE
  27. PLUGINHOST_AU TRUE)
  28. juce_generate_juce_header(AudioPluginHost)
  29. target_sources(AudioPluginHost PRIVATE
  30. Source/HostStartup.cpp
  31. Source/Plugins/ARAPlugin.cpp
  32. Source/Plugins/IOConfigurationWindow.cpp
  33. Source/Plugins/InternalPlugins.cpp
  34. Source/Plugins/PluginGraph.cpp
  35. Source/UI/GraphEditorPanel.cpp
  36. Source/UI/MainHostWindow.cpp)
  37. juce_add_binary_data(AudioPluginHostData SOURCES
  38. ../../examples/Assets/cassette_recorder.wav
  39. ../../examples/Assets/cello.wav
  40. ../../examples/Assets/guitar_amp.wav
  41. ../../examples/Assets/proaudio.path
  42. ../../examples/Assets/reverb_ir.wav
  43. ../../examples/Assets/singing.ogg)
  44. target_compile_definitions(AudioPluginHost PRIVATE
  45. JUCE_ALSA=1
  46. JUCE_DIRECTSOUND=1
  47. JUCE_DISABLE_CAUTIOUS_PARAMETER_ID_CHECKING=1
  48. JUCE_PLUGINHOST_LADSPA=1
  49. JUCE_PLUGINHOST_LV2=1
  50. JUCE_PLUGINHOST_VST3=1
  51. JUCE_PLUGINHOST_VST=0
  52. JUCE_PLUGINHOST_ARA=0
  53. JUCE_USE_CAMERA=0
  54. JUCE_USE_CDBURNER=0
  55. JUCE_USE_CDREADER=0
  56. JUCE_USE_CURL=0
  57. JUCE_USE_FLAC=0
  58. JUCE_USE_OGGVORBIS=1
  59. JUCE_VST3_HOST_CROSS_PLATFORM_UID=1
  60. JUCE_WASAPI=1
  61. JUCE_WEB_BROWSER=0
  62. PIP_JUCE_EXAMPLES_DIRECTORY_STRING="${JUCE_SOURCE_DIR}/examples")
  63. target_link_libraries(AudioPluginHost PRIVATE
  64. AudioPluginHostData
  65. juce::juce_audio_utils
  66. juce::juce_cryptography
  67. juce::juce_dsp
  68. juce::juce_opengl
  69. juce::juce_recommended_config_flags
  70. juce::juce_recommended_lto_flags
  71. juce::juce_recommended_warning_flags)
  72. juce_add_bundle_resources_directory(AudioPluginHost ../../examples/Assets)