File: CMakeLists.txt

package info (click to toggle)
juce 8.0.10%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 78,768 kB
  • sloc: cpp: 526,464; ansic: 159,952; java: 3,038; javascript: 847; xml: 269; python: 224; sh: 167; makefile: 84
file content (163 lines) | stat: -rw-r--r-- 8,049 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# ==============================================================================
#
#  This file is part of the JUCE framework.
#  Copyright (c) Raw Material Software Limited
#
#  JUCE is an open source framework subject to commercial or open source
#  licensing.
#
#  By downloading, installing, or using the JUCE framework, or combining the
#  JUCE framework with any other source code, object code, content or any other
#  copyrightable work, you agree to the terms of the JUCE End User Licence
#  Agreement, and all incorporated terms including the JUCE Privacy Policy and
#  the JUCE Website Terms of Service, as applicable, which will bind you. If you
#  do not agree to the terms of these agreements, we will not license the JUCE
#  framework to you, and you must discontinue the installation or download
#  process and cease use of the JUCE framework.
#
#  JUCE End User Licence Agreement: https://juce.com/legal/juce-8-licence/
#  JUCE Privacy Policy: https://juce.com/juce-privacy-policy
#  JUCE Website Terms of Service: https://juce.com/juce-website-terms-of-service/
#
#  Or:
#
#  You may also use this code under the terms of the AGPLv3:
#  https://www.gnu.org/licenses/agpl-3.0.en.html
#
#  THE JUCE FRAMEWORK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL
#  WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WARRANTY OF
#  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED.
#
# ==============================================================================

juce_add_gui_app(Projucer
    BUNDLE_ID                           com.juce.theprojucer
    ICON_BIG                            ${CMAKE_CURRENT_SOURCE_DIR}/Source/BinaryData/Icons/juce_icon.png
    DOCUMENT_EXTENSIONS                 jucer
    NEEDS_CURL                          TRUE
    NEEDS_WEB_BROWSER                   TRUE)

juce_generate_juce_header(Projucer)

target_sources(Projucer PRIVATE
    Source/Application/jucer_AutoUpdater.cpp
    Source/Application/jucer_CommandLine.cpp
    Source/Application/jucer_Main.cpp
    Source/Application/jucer_MainWindow.cpp
    Source/Application/StartPage/jucer_StartPageComponent.cpp
    Source/Application/StartPage/jucer_NewProjectWizard.cpp
    Source/CodeEditor/jucer_DocumentEditorComponent.cpp
    Source/CodeEditor/jucer_OpenDocumentManager.cpp
    Source/CodeEditor/jucer_SourceCodeEditor.cpp
    Source/Project/Modules/jucer_Modules.cpp
    Source/Project/UI/jucer_HeaderComponent.cpp
    Source/Project/jucer_Project.cpp
    Source/ProjectSaving/jucer_ProjectExporter.cpp
    Source/ProjectSaving/jucer_ProjectSaver.cpp
    Source/ProjectSaving/jucer_ResourceFile.cpp
    Source/Settings/jucer_AppearanceSettings.cpp
    Source/Settings/jucer_StoredSettings.cpp
    Source/Utility/Helpers/jucer_CodeHelpers.cpp
    Source/Utility/Helpers/jucer_FileHelpers.cpp
    Source/Utility/Helpers/jucer_MiscUtilities.cpp
    Source/Utility/Helpers/jucer_NewFileWizard.cpp
    Source/Utility/Helpers/jucer_VersionInfo.cpp
    Source/Utility/PIPs/jucer_PIPGenerator.cpp
    Source/Utility/UI/jucer_Icons.cpp
    Source/Utility/UI/jucer_JucerTreeViewBase.cpp
    Source/Utility/UI/jucer_ProjucerLookAndFeel.cpp
    Source/Utility/UI/jucer_SlidingPanelComponent.cpp)

target_compile_definitions(Projucer PRIVATE
    JUCE_ALLOW_STATIC_NULL_VARIABLES=0
    JUCE_LOAD_CURL_SYMBOLS_LAZILY=1
    JUCE_LOG_ASSERTIONS=1
    JUCE_STRICT_REFCOUNTEDPOINTER=1
    JUCE_USE_CURL=1
    JUCE_WEB_BROWSER=0
    # This is a temporary workaround to allow builds to complete on Xcode 15.
    # Add -Wl,-ld_classic to the OTHER_LDFLAGS build setting if you need to
    # deploy to older versions of macOS.
    JUCE_SILENCE_XCODE_15_LINKER_WARNING=1)

juce_add_binary_data(ProjucerData SOURCES
    Source/BinaryData/Icons/background_logo.svg
    Source/BinaryData/Icons/export_android.svg
    Source/BinaryData/Icons/export_linux.svg
    Source/BinaryData/Icons/export_visualStudio.svg
    Source/BinaryData/Icons/export_xcode.svg
    Source/BinaryData/Icons/juce_icon.png
    Source/BinaryData/Icons/wizard_AnimatedApp.svg
    Source/BinaryData/Icons/wizard_AudioApp.svg
    Source/BinaryData/Icons/wizard_AudioPlugin.svg
    Source/BinaryData/Icons/wizard_ConsoleApp.svg
    Source/BinaryData/Icons/wizard_DLL.svg
    Source/BinaryData/Icons/wizard_GUI.svg
    Source/BinaryData/Icons/wizard_Highlight.svg
    Source/BinaryData/Icons/wizard_OpenGL.svg
    Source/BinaryData/Icons/wizard_Openfile.svg
    Source/BinaryData/Icons/wizard_StaticLibrary.svg
    Source/BinaryData/Templates/jucer_AnimatedComponentSimpleTemplate.h
    Source/BinaryData/Templates/jucer_AnimatedComponentTemplate.cpp
    Source/BinaryData/Templates/jucer_AnimatedComponentTemplate.h
    Source/BinaryData/Templates/jucer_AudioComponentSimpleTemplate.h
    Source/BinaryData/Templates/jucer_AudioComponentTemplate.cpp
    Source/BinaryData/Templates/jucer_AudioComponentTemplate.h
    Source/BinaryData/Templates/jucer_AudioPluginARADocumentControllerTemplate.cpp
    Source/BinaryData/Templates/jucer_AudioPluginARADocumentControllerTemplate.h
    Source/BinaryData/Templates/jucer_AudioPluginARAPlaybackRendererTemplate.cpp
    Source/BinaryData/Templates/jucer_AudioPluginARAPlaybackRendererTemplate.h
    Source/BinaryData/Templates/jucer_AudioPluginEditorTemplate.cpp
    Source/BinaryData/Templates/jucer_AudioPluginEditorTemplate.h
    Source/BinaryData/Templates/jucer_AudioPluginARAEditorTemplate.cpp
    Source/BinaryData/Templates/jucer_AudioPluginARAEditorTemplate.h
    Source/BinaryData/Templates/jucer_AudioPluginFilterTemplate.cpp
    Source/BinaryData/Templates/jucer_AudioPluginFilterTemplate.h
    Source/BinaryData/Templates/jucer_AudioPluginARAFilterTemplate.h
    Source/BinaryData/Templates/jucer_ComponentTemplate.cpp
    Source/BinaryData/Templates/jucer_ComponentTemplate.h
    Source/BinaryData/Templates/jucer_ContentCompSimpleTemplate.h
    Source/BinaryData/Templates/jucer_ContentCompTemplate.cpp
    Source/BinaryData/Templates/jucer_ContentCompTemplate.h
    Source/BinaryData/Templates/jucer_InlineComponentTemplate.h
    Source/BinaryData/Templates/jucer_MainConsoleAppTemplate.cpp
    Source/BinaryData/Templates/jucer_MainTemplate_NoWindow.cpp
    Source/BinaryData/Templates/jucer_MainTemplate_Window.cpp
    Source/BinaryData/Templates/jucer_NewComponentTemplate.cpp
    Source/BinaryData/Templates/jucer_NewComponentTemplate.h
    Source/BinaryData/Templates/jucer_NewCppFileTemplate.cpp
    Source/BinaryData/Templates/jucer_NewCppFileTemplate.h
    Source/BinaryData/Templates/jucer_NewInlineComponentTemplate.h
    Source/BinaryData/Templates/jucer_OpenGLComponentSimpleTemplate.h
    Source/BinaryData/Templates/jucer_OpenGLComponentTemplate.cpp
    Source/BinaryData/Templates/jucer_OpenGLComponentTemplate.h
    Source/BinaryData/Templates/jucer_PIPAudioProcessorTemplate.h
    Source/BinaryData/Templates/jucer_PIPTemplate.h
    Source/BinaryData/colourscheme_dark.xml
    Source/BinaryData/colourscheme_light.xml
    Source/BinaryData/gradle/LICENSE
    Source/BinaryData/gradle/gradle-wrapper.jar
    Source/BinaryData/gradle/gradlew
    Source/BinaryData/gradle/gradlew.bat
    Source/BinaryData/juce_SimpleBinaryBuilder.cpp

    ../Build/CMake/JuceLV2Defines.h.in
    ../Build/CMake/LaunchScreen.storyboard
    ../Build/CMake/PIPAudioProcessor.cpp.in
    ../Build/CMake/PIPAudioProcessorWithARA.cpp.in
    ../Build/CMake/PIPComponent.cpp.in
    ../Build/CMake/PIPConsole.cpp.in
    ../Build/CMake/RecentFilesMenuTemplate.nib
    ../Build/CMake/UnityPluginGUIScript.cs.in
    ../Build/CMake/juce_runtime_arch_detection.cpp
    ../Build/CMake/juce_LinuxSubprocessHelper.cpp)

target_link_libraries(Projucer PRIVATE
    z
    ProjucerData
    juce::juce_build_tools
    juce::juce_cryptography
    juce::juce_gui_extra
    juce::juce_recommended_config_flags
    juce::juce_recommended_lto_flags
    juce::juce_recommended_warning_flags)