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.

178 lines
8.4KB

  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(Projucer
  24. BUNDLE_ID com.juce.theprojucer
  25. ICON_BIG ${CMAKE_CURRENT_SOURCE_DIR}/Source/BinaryData/Icons/juce_icon.png
  26. DOCUMENT_EXTENSIONS jucer
  27. NEEDS_CURL TRUE
  28. NEEDS_WEB_BROWSER TRUE)
  29. juce_generate_juce_header(Projucer)
  30. target_sources(Projucer PRIVATE
  31. Source/Application/jucer_AutoUpdater.cpp
  32. Source/Application/jucer_CommandLine.cpp
  33. Source/Application/jucer_Main.cpp
  34. Source/Application/jucer_MainWindow.cpp
  35. Source/Application/StartPage/jucer_StartPageComponent.cpp
  36. Source/Application/StartPage/jucer_NewProjectWizard.cpp
  37. Source/CodeEditor/jucer_DocumentEditorComponent.cpp
  38. Source/CodeEditor/jucer_OpenDocumentManager.cpp
  39. Source/CodeEditor/jucer_SourceCodeEditor.cpp
  40. Source/ComponentEditor/Components/jucer_ComponentTypeHandler.cpp
  41. Source/ComponentEditor/Documents/jucer_ButtonDocument.cpp
  42. Source/ComponentEditor/Documents/jucer_ComponentDocument.cpp
  43. Source/ComponentEditor/PaintElements/jucer_ColouredElement.cpp
  44. Source/ComponentEditor/PaintElements/jucer_PaintElement.cpp
  45. Source/ComponentEditor/PaintElements/jucer_PaintElementGroup.cpp
  46. Source/ComponentEditor/PaintElements/jucer_PaintElementImage.cpp
  47. Source/ComponentEditor/PaintElements/jucer_PaintElementPath.cpp
  48. Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.cpp
  49. Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.cpp
  50. Source/ComponentEditor/UI/jucer_EditingPanelBase.cpp
  51. Source/ComponentEditor/UI/jucer_JucerDocumentEditor.cpp
  52. Source/ComponentEditor/UI/jucer_PaintRoutineEditor.cpp
  53. Source/ComponentEditor/UI/jucer_PaintRoutinePanel.cpp
  54. Source/ComponentEditor/UI/jucer_ResourceEditorPanel.cpp
  55. Source/ComponentEditor/UI/jucer_TestComponent.cpp
  56. Source/ComponentEditor/jucer_BinaryResources.cpp
  57. Source/ComponentEditor/jucer_ComponentLayout.cpp
  58. Source/ComponentEditor/jucer_GeneratedCode.cpp
  59. Source/ComponentEditor/jucer_JucerDocument.cpp
  60. Source/ComponentEditor/jucer_ObjectTypes.cpp
  61. Source/ComponentEditor/jucer_PaintRoutine.cpp
  62. Source/Project/Modules/jucer_Modules.cpp
  63. Source/Project/UI/jucer_HeaderComponent.cpp
  64. Source/Project/jucer_Project.cpp
  65. Source/ProjectSaving/jucer_ProjectExporter.cpp
  66. Source/ProjectSaving/jucer_ProjectSaver.cpp
  67. Source/ProjectSaving/jucer_ResourceFile.cpp
  68. Source/Settings/jucer_AppearanceSettings.cpp
  69. Source/Settings/jucer_StoredSettings.cpp
  70. Source/Utility/Helpers/jucer_CodeHelpers.cpp
  71. Source/Utility/Helpers/jucer_FileHelpers.cpp
  72. Source/Utility/Helpers/jucer_MiscUtilities.cpp
  73. Source/Utility/Helpers/jucer_NewFileWizard.cpp
  74. Source/Utility/Helpers/jucer_VersionInfo.cpp
  75. Source/Utility/PIPs/jucer_PIPGenerator.cpp
  76. Source/Utility/UI/jucer_Icons.cpp
  77. Source/Utility/UI/jucer_JucerTreeViewBase.cpp
  78. Source/Utility/UI/jucer_ProjucerLookAndFeel.cpp
  79. Source/Utility/UI/jucer_SlidingPanelComponent.cpp)
  80. target_compile_definitions(Projucer PRIVATE
  81. JUCE_ALLOW_STATIC_NULL_VARIABLES=0
  82. JUCE_LOAD_CURL_SYMBOLS_LAZILY=1
  83. JUCE_LOG_ASSERTIONS=1
  84. JUCE_STRICT_REFCOUNTEDPOINTER=1
  85. JUCE_USE_CURL=1
  86. JUCE_WEB_BROWSER=0
  87. # This is a temporary workaround to allow builds to complete on Xcode 15.
  88. # Add -Wl,-ld_classic to the OTHER_LDFLAGS build setting if you need to
  89. # deploy to older versions of macOS.
  90. JUCE_SILENCE_XCODE_15_LINKER_WARNING=1)
  91. juce_add_binary_data(ProjucerData SOURCES
  92. Source/BinaryData/Icons/background_logo.svg
  93. Source/BinaryData/Icons/export_android.svg
  94. Source/BinaryData/Icons/export_codeBlocks.svg
  95. Source/BinaryData/Icons/export_linux.svg
  96. Source/BinaryData/Icons/export_visualStudio.svg
  97. Source/BinaryData/Icons/export_xcode.svg
  98. Source/BinaryData/Icons/gpl_logo.svg
  99. Source/BinaryData/Icons/juce_icon.png
  100. Source/BinaryData/Icons/wizard_AnimatedApp.svg
  101. Source/BinaryData/Icons/wizard_AudioApp.svg
  102. Source/BinaryData/Icons/wizard_AudioPlugin.svg
  103. Source/BinaryData/Icons/wizard_ConsoleApp.svg
  104. Source/BinaryData/Icons/wizard_DLL.svg
  105. Source/BinaryData/Icons/wizard_GUI.svg
  106. Source/BinaryData/Icons/wizard_Highlight.svg
  107. Source/BinaryData/Icons/wizard_OpenGL.svg
  108. Source/BinaryData/Icons/wizard_Openfile.svg
  109. Source/BinaryData/Icons/wizard_StaticLibrary.svg
  110. Source/BinaryData/Templates/jucer_AnimatedComponentSimpleTemplate.h
  111. Source/BinaryData/Templates/jucer_AnimatedComponentTemplate.cpp
  112. Source/BinaryData/Templates/jucer_AnimatedComponentTemplate.h
  113. Source/BinaryData/Templates/jucer_AudioComponentSimpleTemplate.h
  114. Source/BinaryData/Templates/jucer_AudioComponentTemplate.cpp
  115. Source/BinaryData/Templates/jucer_AudioComponentTemplate.h
  116. Source/BinaryData/Templates/jucer_AudioPluginARADocumentControllerTemplate.cpp
  117. Source/BinaryData/Templates/jucer_AudioPluginARADocumentControllerTemplate.h
  118. Source/BinaryData/Templates/jucer_AudioPluginARAPlaybackRendererTemplate.cpp
  119. Source/BinaryData/Templates/jucer_AudioPluginARAPlaybackRendererTemplate.h
  120. Source/BinaryData/Templates/jucer_AudioPluginEditorTemplate.cpp
  121. Source/BinaryData/Templates/jucer_AudioPluginEditorTemplate.h
  122. Source/BinaryData/Templates/jucer_AudioPluginARAEditorTemplate.cpp
  123. Source/BinaryData/Templates/jucer_AudioPluginARAEditorTemplate.h
  124. Source/BinaryData/Templates/jucer_AudioPluginFilterTemplate.cpp
  125. Source/BinaryData/Templates/jucer_AudioPluginFilterTemplate.h
  126. Source/BinaryData/Templates/jucer_AudioPluginARAFilterTemplate.h
  127. Source/BinaryData/Templates/jucer_ComponentTemplate.cpp
  128. Source/BinaryData/Templates/jucer_ComponentTemplate.h
  129. Source/BinaryData/Templates/jucer_ContentCompSimpleTemplate.h
  130. Source/BinaryData/Templates/jucer_ContentCompTemplate.cpp
  131. Source/BinaryData/Templates/jucer_ContentCompTemplate.h
  132. Source/BinaryData/Templates/jucer_InlineComponentTemplate.h
  133. Source/BinaryData/Templates/jucer_MainConsoleAppTemplate.cpp
  134. Source/BinaryData/Templates/jucer_MainTemplate_NoWindow.cpp
  135. Source/BinaryData/Templates/jucer_MainTemplate_Window.cpp
  136. Source/BinaryData/Templates/jucer_NewComponentTemplate.cpp
  137. Source/BinaryData/Templates/jucer_NewComponentTemplate.h
  138. Source/BinaryData/Templates/jucer_NewCppFileTemplate.cpp
  139. Source/BinaryData/Templates/jucer_NewCppFileTemplate.h
  140. Source/BinaryData/Templates/jucer_NewInlineComponentTemplate.h
  141. Source/BinaryData/Templates/jucer_OpenGLComponentSimpleTemplate.h
  142. Source/BinaryData/Templates/jucer_OpenGLComponentTemplate.cpp
  143. Source/BinaryData/Templates/jucer_OpenGLComponentTemplate.h
  144. Source/BinaryData/Templates/jucer_PIPAudioProcessorTemplate.h
  145. Source/BinaryData/Templates/jucer_PIPTemplate.h
  146. Source/BinaryData/colourscheme_dark.xml
  147. Source/BinaryData/colourscheme_light.xml
  148. Source/BinaryData/gradle/LICENSE
  149. Source/BinaryData/gradle/gradle-wrapper.jar
  150. Source/BinaryData/gradle/gradlew
  151. Source/BinaryData/gradle/gradlew.bat
  152. Source/BinaryData/juce_SimpleBinaryBuilder.cpp
  153. ../Build/CMake/JuceLV2Defines.h.in
  154. ../Build/CMake/LaunchScreen.storyboard
  155. ../Build/CMake/PIPAudioProcessor.cpp.in
  156. ../Build/CMake/PIPAudioProcessorWithARA.cpp.in
  157. ../Build/CMake/PIPComponent.cpp.in
  158. ../Build/CMake/PIPConsole.cpp.in
  159. ../Build/CMake/RecentFilesMenuTemplate.nib
  160. ../Build/CMake/UnityPluginGUIScript.cs.in
  161. ../Build/CMake/juce_runtime_arch_detection.cpp
  162. ../Build/CMake/juce_LinuxSubprocessHelper.cpp)
  163. target_link_libraries(Projucer PRIVATE
  164. ProjucerData
  165. juce::juce_build_tools
  166. juce::juce_cryptography
  167. juce::juce_gui_extra
  168. juce::juce_recommended_config_flags
  169. juce::juce_recommended_lto_flags
  170. juce::juce_recommended_warning_flags)