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.

93 lines
2.6KB

  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. # The code included in this file is provided under the terms of the ISC license
  10. # http://www.isc.org/downloads/software-support-policy/isc-license. Permission
  11. # To use, copy, modify, and/or distribute this software for any purpose with or
  12. # without fee is hereby granted provided that the above copyright notice and
  13. # this permission notice appear in all copies.
  14. #
  15. # JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
  16. # EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
  17. # DISCLAIMED.
  18. #
  19. # ==============================================================================
  20. @PACKAGE_INIT@
  21. include("${CMAKE_CURRENT_LIST_DIR}/LV2_HELPER.cmake")
  22. if(NOT TARGET juce::juceaide)
  23. add_executable(juce::juceaide IMPORTED)
  24. set_target_properties(juce::juceaide PROPERTIES
  25. IMPORTED_LOCATION "@PACKAGE_JUCEAIDE_PATH@")
  26. endif()
  27. check_required_components("@PROJECT_NAME@")
  28. set(JUCE_MODULES_DIR "@PACKAGE_JUCE_MODULE_PATH@" CACHE INTERNAL
  29. "The path to JUCE modules")
  30. include("@PACKAGE_UTILS_INSTALL_DIR@/JUCEModuleSupport.cmake")
  31. include("@PACKAGE_UTILS_INSTALL_DIR@/JUCEUtils.cmake")
  32. set(_juce_modules
  33. juce_analytics
  34. juce_audio_basics
  35. juce_audio_devices
  36. juce_audio_formats
  37. juce_audio_plugin_client
  38. juce_audio_processors
  39. juce_audio_utils
  40. juce_box2d
  41. juce_core
  42. juce_cryptography
  43. juce_data_structures
  44. juce_dsp
  45. juce_events
  46. juce_graphics
  47. juce_gui_basics
  48. juce_gui_extra
  49. juce_opengl
  50. juce_osc
  51. juce_product_unlocking
  52. juce_video)
  53. set(_targets_defined)
  54. set(_targets_expected)
  55. foreach(_juce_module IN LISTS _juce_modules)
  56. list(APPEND _targets_expected ${_juce_module} juce::${_juce_modules})
  57. if(TARGET ${_juce_module})
  58. list(APPEND _targets_defined ${_juce_module})
  59. endif()
  60. if(TARGET juce::${_juce_module})
  61. list(APPEND _targets_defined juce::${_juce_module})
  62. endif()
  63. endforeach()
  64. if("${_targets_defined}" STREQUAL "${_targets_expected}")
  65. unset(_targets_defined)
  66. unset(_targets_expected)
  67. return()
  68. endif()
  69. if(NOT "${_targets_defined}" STREQUAL "")
  70. message(FATAL_ERROR "Some targets in this export set were already defined.")
  71. endif()
  72. unset(_targets_defined)
  73. unset(_targets_expected)
  74. foreach(_juce_module IN LISTS _juce_modules)
  75. juce_add_module("@PACKAGE_JUCE_MODULE_PATH@/${_juce_module}" ALIAS_NAMESPACE juce)
  76. endforeach()
  77. unset(_juce_modules)