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.

58 lines
2.0KB

  1. # ==============================================================================
  2. #
  3. # This file is part of the JUCE library.
  4. # Copyright (c) 2020 - 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 6 End-User License
  10. # Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).
  11. #
  12. # End User License Agreement: www.juce.com/juce-6-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. set(CMAKE_FOLDER examples)
  24. add_subdirectory(CMake)
  25. add_subdirectory(DemoRunner)
  26. function(_juce_add_pips)
  27. file(GLOB headers
  28. CONFIGURE_DEPENDS LIST_DIRECTORIES false
  29. "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
  30. if((CMAKE_SYSTEM_NAME STREQUAL "Linux") OR (CMAKE_SYSTEM_NAME MATCHES ".*BSD"))
  31. list(REMOVE_ITEM headers
  32. "${CMAKE_CURRENT_SOURCE_DIR}/CameraDemo.h"
  33. "${CMAKE_CURRENT_SOURCE_DIR}/PushNotificationsDemo.h"
  34. "${CMAKE_CURRENT_SOURCE_DIR}/VideoDemo.h")
  35. elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
  36. list(REMOVE_ITEM headers
  37. "${CMAKE_CURRENT_SOURCE_DIR}/PushNotificationsDemo.h")
  38. endif()
  39. foreach(header IN ITEMS ${headers})
  40. juce_add_pip(${header} added_target)
  41. target_link_libraries(${added_target} PUBLIC
  42. juce::juce_recommended_config_flags
  43. juce::juce_recommended_lto_flags
  44. juce::juce_recommended_warning_flags)
  45. endforeach()
  46. endfunction()
  47. add_subdirectory(Audio)
  48. add_subdirectory(DSP)
  49. add_subdirectory(GUI)
  50. add_subdirectory(Plugins)
  51. add_subdirectory(Utilities)