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.

88 lines
3.3KB

  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(DemoRunner
  24. BUNDLE_ID com.juce.demorunner
  25. ICON_BIG ${CMAKE_CURRENT_SOURCE_DIR}/Source/JUCEAppIcon.png
  26. NEEDS_CURL TRUE
  27. NEEDS_WEB_BROWSER TRUE
  28. MICROPHONE_PERMISSION_ENABLED TRUE
  29. CAMERA_PERMISSION_ENABLED TRUE
  30. BLUETOOTH_PERMISSION_ENABLED TRUE
  31. FILE_SHARING_ENABLED TRUE
  32. DOCUMENT_BROWSER_ENABLED TRUE
  33. REQUIRES_FULL_SCREEN FALSE
  34. IPAD_SCREEN_ORIENTATIONS UIInterfaceOrientationPortrait
  35. UIInterfaceOrientationPortraitUpsideDown
  36. UIInterfaceOrientationLandscapeLeft
  37. UIInterfaceOrientationLandscapeRight
  38. IPHONE_SCREEN_ORIENTATIONS UIInterfaceOrientationPortrait
  39. UIInterfaceOrientationPortraitUpsideDown
  40. UIInterfaceOrientationLandscapeLeft
  41. UIInterfaceOrientationLandscapeRight)
  42. juce_generate_juce_header(DemoRunner)
  43. target_sources(DemoRunner PRIVATE
  44. Source/Demos/DemoPIPs1.cpp
  45. Source/Demos/DemoPIPs2.cpp
  46. Source/Demos/JUCEDemos.cpp
  47. Source/Main.cpp
  48. Source/UI/DemoContentComponent.cpp
  49. Source/UI/MainComponent.cpp)
  50. target_compile_definitions(DemoRunner PRIVATE
  51. PIP_JUCE_EXAMPLES_DIRECTORY_STRING="${JUCE_SOURCE_DIR}/examples"
  52. JUCE_ALLOW_STATIC_NULL_VARIABLES=0
  53. JUCE_CONTENT_SHARING=1
  54. JUCE_DEMO_RUNNER=1
  55. JUCE_PLUGINHOST_LV2=1
  56. JUCE_PLUGINHOST_VST3=1
  57. JUCE_STRICT_REFCOUNTEDPOINTER=1
  58. JUCE_UNIT_TESTS=1
  59. JUCE_USE_CAMERA=1
  60. JUCE_USE_CURL=1
  61. JUCE_USE_MP3AUDIOFORMAT=1
  62. JUCE_WEB_BROWSER=1
  63. # This is a temporary workaround to allow builds to complete on Xcode 15.
  64. # Add -Wl,-ld_classic to the OTHER_LDFLAGS build setting if you need to
  65. # deploy to older versions of macOS/iOS.
  66. JUCE_SILENCE_XCODE_15_LINKER_WARNING=1)
  67. target_link_libraries(DemoRunner PRIVATE
  68. juce::juce_analytics
  69. juce::juce_audio_utils
  70. juce::juce_box2d
  71. juce::juce_dsp
  72. juce::juce_opengl
  73. juce::juce_osc
  74. juce::juce_product_unlocking
  75. juce::juce_video
  76. juce::juce_recommended_config_flags
  77. juce::juce_recommended_lto_flags
  78. juce::juce_recommended_warning_flags)
  79. foreach(folder IN ITEMS ../Assets ../Audio ../DSP ../GUI ../Utilities)
  80. juce_add_bundle_resources_directory(DemoRunner ${folder})
  81. endforeach()