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.

172 lines
8.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. 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. # This is to work around a bug with how cmake computes language standard flags with
  31. # target_compile_features
  32. set_target_properties(Projucer PROPERTIES CXX_STANDARD 11)
  33. target_sources(Projucer PRIVATE
  34. Source/Application/jucer_AutoUpdater.cpp
  35. Source/Application/jucer_CommandLine.cpp
  36. Source/Application/jucer_Main.cpp
  37. Source/Application/jucer_MainWindow.cpp
  38. Source/Application/StartPage/jucer_StartPageComponent.cpp
  39. Source/Application/StartPage/jucer_NewProjectWizard.cpp
  40. Source/CodeEditor/jucer_DocumentEditorComponent.cpp
  41. Source/CodeEditor/jucer_OpenDocumentManager.cpp
  42. Source/CodeEditor/jucer_SourceCodeEditor.cpp
  43. Source/ComponentEditor/Components/jucer_ComponentTypeHandler.cpp
  44. Source/ComponentEditor/Documents/jucer_ButtonDocument.cpp
  45. Source/ComponentEditor/Documents/jucer_ComponentDocument.cpp
  46. Source/ComponentEditor/PaintElements/jucer_ColouredElement.cpp
  47. Source/ComponentEditor/PaintElements/jucer_PaintElement.cpp
  48. Source/ComponentEditor/PaintElements/jucer_PaintElementGroup.cpp
  49. Source/ComponentEditor/PaintElements/jucer_PaintElementImage.cpp
  50. Source/ComponentEditor/PaintElements/jucer_PaintElementPath.cpp
  51. Source/ComponentEditor/UI/jucer_ComponentLayoutEditor.cpp
  52. Source/ComponentEditor/UI/jucer_ComponentOverlayComponent.cpp
  53. Source/ComponentEditor/UI/jucer_EditingPanelBase.cpp
  54. Source/ComponentEditor/UI/jucer_JucerDocumentEditor.cpp
  55. Source/ComponentEditor/UI/jucer_PaintRoutineEditor.cpp
  56. Source/ComponentEditor/UI/jucer_PaintRoutinePanel.cpp
  57. Source/ComponentEditor/UI/jucer_ResourceEditorPanel.cpp
  58. Source/ComponentEditor/UI/jucer_TestComponent.cpp
  59. Source/ComponentEditor/jucer_BinaryResources.cpp
  60. Source/ComponentEditor/jucer_ComponentLayout.cpp
  61. Source/ComponentEditor/jucer_GeneratedCode.cpp
  62. Source/ComponentEditor/jucer_JucerDocument.cpp
  63. Source/ComponentEditor/jucer_ObjectTypes.cpp
  64. Source/ComponentEditor/jucer_PaintRoutine.cpp
  65. Source/LiveBuildEngine/jucer_CompileEngineClient.cpp
  66. Source/LiveBuildEngine/jucer_CompileEngineServer.cpp
  67. Source/LiveBuildEngine/jucer_DownloadCompileEngineThread.cpp
  68. Source/Project/Modules/jucer_Modules.cpp
  69. Source/Project/UI/jucer_HeaderComponent.cpp
  70. Source/Project/jucer_Project.cpp
  71. Source/ProjectSaving/jucer_ProjectExporter.cpp
  72. Source/ProjectSaving/jucer_ProjectSaver.cpp
  73. Source/ProjectSaving/jucer_ResourceFile.cpp
  74. Source/Settings/jucer_AppearanceSettings.cpp
  75. Source/Settings/jucer_StoredSettings.cpp
  76. Source/Utility/Helpers/jucer_CodeHelpers.cpp
  77. Source/Utility/Helpers/jucer_FileHelpers.cpp
  78. Source/Utility/Helpers/jucer_MiscUtilities.cpp
  79. Source/Utility/Helpers/jucer_NewFileWizard.cpp
  80. Source/Utility/Helpers/jucer_VersionInfo.cpp
  81. Source/Utility/PIPs/jucer_PIPGenerator.cpp
  82. Source/Utility/UI/jucer_Icons.cpp
  83. Source/Utility/UI/jucer_JucerTreeViewBase.cpp
  84. Source/Utility/UI/jucer_ProjucerLookAndFeel.cpp
  85. Source/Utility/UI/jucer_SlidingPanelComponent.cpp)
  86. target_compile_definitions(Projucer PRIVATE
  87. JUCE_ALLOW_STATIC_NULL_VARIABLES=0
  88. JUCE_LOAD_CURL_SYMBOLS_LAZILY=1
  89. JUCE_LOG_ASSERTIONS=1
  90. JUCE_STRICT_REFCOUNTEDPOINTER=1
  91. JUCE_USE_CURL=1
  92. JUCE_WEB_BROWSER=0)
  93. juce_add_binary_data(ProjucerData SOURCES
  94. Source/BinaryData/Icons/background_logo.svg
  95. Source/BinaryData/Icons/export_android.svg
  96. Source/BinaryData/Icons/export_clion.svg
  97. Source/BinaryData/Icons/export_codeBlocks.svg
  98. Source/BinaryData/Icons/export_linux.svg
  99. Source/BinaryData/Icons/export_visualStudio.svg
  100. Source/BinaryData/Icons/export_xcode.svg
  101. Source/BinaryData/Icons/gpl_logo.svg
  102. Source/BinaryData/Icons/juce-logo-with-text.svg
  103. Source/BinaryData/Icons/juce_icon.png
  104. Source/BinaryData/Icons/wizard_AnimatedApp.svg
  105. Source/BinaryData/Icons/wizard_AudioApp.svg
  106. Source/BinaryData/Icons/wizard_AudioPlugin.svg
  107. Source/BinaryData/Icons/wizard_ConsoleApp.svg
  108. Source/BinaryData/Icons/wizard_DLL.svg
  109. Source/BinaryData/Icons/wizard_GUI.svg
  110. Source/BinaryData/Icons/wizard_Highlight.svg
  111. Source/BinaryData/Icons/wizard_OpenGL.svg
  112. Source/BinaryData/Icons/wizard_Openfile.svg
  113. Source/BinaryData/Icons/wizard_StaticLibrary.svg
  114. Source/BinaryData/Templates/jucer_AnimatedComponentSimpleTemplate.h
  115. Source/BinaryData/Templates/jucer_AnimatedComponentTemplate.cpp
  116. Source/BinaryData/Templates/jucer_AnimatedComponentTemplate.h
  117. Source/BinaryData/Templates/jucer_AudioComponentSimpleTemplate.h
  118. Source/BinaryData/Templates/jucer_AudioComponentTemplate.cpp
  119. Source/BinaryData/Templates/jucer_AudioComponentTemplate.h
  120. Source/BinaryData/Templates/jucer_AudioPluginEditorTemplate.cpp
  121. Source/BinaryData/Templates/jucer_AudioPluginEditorTemplate.h
  122. Source/BinaryData/Templates/jucer_AudioPluginFilterTemplate.cpp
  123. Source/BinaryData/Templates/jucer_AudioPluginFilterTemplate.h
  124. Source/BinaryData/Templates/jucer_ComponentTemplate.cpp
  125. Source/BinaryData/Templates/jucer_ComponentTemplate.h
  126. Source/BinaryData/Templates/jucer_ContentCompSimpleTemplate.h
  127. Source/BinaryData/Templates/jucer_ContentCompTemplate.cpp
  128. Source/BinaryData/Templates/jucer_ContentCompTemplate.h
  129. Source/BinaryData/Templates/jucer_InlineComponentTemplate.h
  130. Source/BinaryData/Templates/jucer_MainConsoleAppTemplate.cpp
  131. Source/BinaryData/Templates/jucer_MainTemplate_NoWindow.cpp
  132. Source/BinaryData/Templates/jucer_MainTemplate_Window.cpp
  133. Source/BinaryData/Templates/jucer_NewComponentTemplate.cpp
  134. Source/BinaryData/Templates/jucer_NewComponentTemplate.h
  135. Source/BinaryData/Templates/jucer_NewCppFileTemplate.cpp
  136. Source/BinaryData/Templates/jucer_NewCppFileTemplate.h
  137. Source/BinaryData/Templates/jucer_NewInlineComponentTemplate.h
  138. Source/BinaryData/Templates/jucer_OpenGLComponentSimpleTemplate.h
  139. Source/BinaryData/Templates/jucer_OpenGLComponentTemplate.cpp
  140. Source/BinaryData/Templates/jucer_OpenGLComponentTemplate.h
  141. Source/BinaryData/Templates/jucer_PIPAudioProcessorTemplate.h
  142. Source/BinaryData/Templates/jucer_PIPTemplate.h
  143. Source/BinaryData/colourscheme_dark.xml
  144. Source/BinaryData/colourscheme_light.xml
  145. Source/BinaryData/gradle/LICENSE
  146. Source/BinaryData/gradle/gradle-wrapper.jar
  147. Source/BinaryData/gradle/gradlew
  148. Source/BinaryData/gradle/gradlew.bat
  149. ../Build/CMake/LaunchScreen.storyboard
  150. ../Build/CMake/PIPAudioProcessor.cpp.in
  151. ../Build/CMake/PIPComponent.cpp.in
  152. ../Build/CMake/PIPConsole.cpp.in
  153. ../Build/CMake/RecentFilesMenuTemplate.nib
  154. ../Build/CMake/UnityPluginGUIScript.cs.in
  155. ../Build/CMake/juce_runtime_arch_detection.cpp)
  156. target_link_libraries(Projucer PRIVATE
  157. ProjucerData
  158. juce::juce_build_tools
  159. juce::juce_cryptography
  160. juce::juce_gui_extra
  161. juce::juce_recommended_config_flags
  162. juce::juce_recommended_lto_flags
  163. juce::juce_recommended_warning_flags)