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.

90 lines
2.5KB

  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}/@JUCE_EXPORT_FILE_NAME@")
  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. include("@PACKAGE_UTILS_INSTALL_DIR@/JUCEUtils.cmake")
  29. set(_juce_modules
  30. juce_analytics
  31. juce_audio_basics
  32. juce_audio_devices
  33. juce_audio_formats
  34. juce_audio_plugin_client
  35. juce_audio_processors
  36. juce_audio_utils
  37. juce_blocks_basics
  38. juce_box2d
  39. juce_core
  40. juce_cryptography
  41. juce_data_structures
  42. juce_dsp
  43. juce_events
  44. juce_graphics
  45. juce_gui_basics
  46. juce_gui_extra
  47. juce_opengl
  48. juce_osc
  49. juce_product_unlocking
  50. juce_video)
  51. set(_targets_defined)
  52. set(_targets_expected)
  53. foreach(_juce_module IN LISTS _juce_modules)
  54. list(APPEND _targets_expected ${_juce_module} juce::${_juce_modules})
  55. if(TARGET ${_juce_module})
  56. list(APPEND _targets_defined ${_juce_module})
  57. endif()
  58. if(TARGET juce::${_juce_module})
  59. list(APPEND _targets_defined juce::${_juce_module})
  60. endif()
  61. endforeach()
  62. if("${_targets_defined}" STREQUAL "${_targets_expected}")
  63. unset(_targets_defined)
  64. unset(_targets_expected)
  65. return()
  66. endif()
  67. if(NOT "${_targets_defined}" STREQUAL "")
  68. message(FATAL_ERROR "Some targets in this export set were already defined.")
  69. endif()
  70. unset(_targets_defined)
  71. unset(_targets_expected)
  72. foreach(_juce_module IN LISTS _juce_modules)
  73. juce_add_module("@PACKAGE_JUCE_MODULE_PATH@/${_juce_module}" ALIAS_NAMESPACE juce)
  74. endforeach()
  75. unset(_juce_modules)