this repo has no description
1project(frameworks)
2
3if (COMPONENT_system)
4 set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "system")
5
6 # for memberd
7 add_subdirectory(DirectoryServices)
8endif()
9
10# this is mainly for frameworks that are required for Security,
11# since Security is built for both CLI and GUI
12if (COMPONENT_cli OR COMPONENT_dev_gui_common)
13 set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "cli_gui_common")
14
15 add_subdirectory(CoreServices)
16
17 # these are also stubs, but they're needed for Security
18 add_subdirectory(Accounts)
19 add_subdirectory(CloudKit)
20 add_subdirectory(CryptoTokenKit)
21 add_subdirectory(LocalAuthentication)
22 add_subdirectory(NetFS)
23 add_subdirectory(Network)
24 add_subdirectory(OpenDirectory)
25 add_subdirectory(SecurityFoundation)
26 add_subdirectory(SystemConfiguration)
27
28 # this is for Java (obviously)
29 add_subdirectory(JavaVM)
30 add_subdirectory(JavaRuntimeSupport)
31endif()
32
33if (COMPONENT_iokitd OR COMPONENT_dev_gui_common)
34 set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "iosurface")
35
36 # this is for iokitd (and Xcode)
37 add_subdirectory(IOSurface)
38endif()
39
40# this is mainly for anything that Xcode requires to run on the CLI
41if (COMPONENT_dev_gui_common)
42 set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "cli_dev_gui_common")
43
44 add_subdirectory(ApplicationServices)
45 add_subdirectory(ColorSync)
46 add_subdirectory(Carbon)
47
48 # stubs, but required for QuartzCore (in Cocotron)
49 add_subdirectory(CoreImage)
50 add_subdirectory(CoreVideo)
51endif()
52
53# same here, except this is for stubs that Xcode needs
54if (COMPONENT_dev_gui_stubs_common)
55 set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "cli_dev_gui_stubs_common")
56
57 add_subdirectory(Accelerate)
58 add_subdirectory(AVFoundation)
59 add_subdirectory(Contacts)
60 add_subdirectory(CoreMedia)
61 add_subdirectory(DiskArbitration)
62 add_subdirectory(GLKit)
63 add_subdirectory(ScriptingBridge)
64 add_subdirectory(SecurityInterface)
65 add_subdirectory(ServiceManagement)
66 add_subdirectory(Quartz)
67 add_subdirectory(QuickLook)
68 add_subdirectory(SceneKit)
69 add_subdirectory(SpriteKit)
70 add_subdirectory(UniformTypeIdentifiers)
71 add_subdirectory(UserNotifications)
72 add_subdirectory(VideoToolbox)
73endif()
74
75# this is for core GUI frameworks with actual implementations
76if (COMPONENT_gui)
77 set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "gui")
78
79 add_subdirectory(OpenGL)
80 add_subdirectory(ImageIO)
81endif()
82
83# this is for all the other stubbed frameworks
84if (COMPONENT_gui_stubs)
85 set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "gui_stubs")
86
87 add_subdirectory(AddressBook)
88 add_subdirectory(AGL)
89 add_subdirectory(AuthenticationServices)
90 add_subdirectory(AudioVideoBridging)
91 add_subdirectory(Automator)
92 add_subdirectory(AVKit)
93 add_subdirectory(CalendarStore)
94 add_subdirectory(Collaboration)
95 add_subdirectory(ContactsUI)
96 add_subdirectory(CoreAudioKit)
97 add_subdirectory(CoreBluetooth)
98 add_subdirectory(CoreLocation)
99 add_subdirectory(CoreMIDI)
100 add_subdirectory(CoreMediaIO)
101 add_subdirectory(CoreTelephony)
102 add_subdirectory(CoreWLAN)
103 add_subdirectory(DiscRecordingUI)
104 add_subdirectory(DiscRecording)
105 add_subdirectory(DrawSprocket)
106 add_subdirectory(EventKit)
107 add_subdirectory(ExceptionHandling)
108 add_subdirectory(ForceFeedback)
109 add_subdirectory(GameController)
110 add_subdirectory(ImageCaptureCore)
111 add_subdirectory(InputMethodKit)
112 add_subdirectory(InstantMessage)
113 add_subdirectory(IOBluetooth)
114 add_subdirectory(IOBluetoothUI)
115 add_subdirectory(MapKit)
116 add_subdirectory(MediaAccessibility)
117 add_subdirectory(MediaToolbox)
118 add_subdirectory(ModelIO)
119 add_subdirectory(MultipeerConnectivity)
120 add_subdirectory(OpenAL)
121 add_subdirectory(OpenCL)
122 add_subdirectory(Photos)
123 add_subdirectory(PDFKit)
124 add_subdirectory(OSAKit)
125 add_subdirectory(QTKit)
126 add_subdirectory(ScreenSaver)
127 add_subdirectory(ShazamKit)
128 add_subdirectory(Speech)
129 add_subdirectory(StoreKit)
130 add_subdirectory(SyncServices)
131 add_subdirectory(VideoDecodeAcceleration)
132 add_subdirectory(Vision)
133endif()
134
135# Xcode also needs WebKit, even on the CLI! it may be a weak dependency (i didn't check that),
136# but what we do is we build our stub if the `webkit` component isn't enabled.
137#
138# TODO: actually build WebKit. since we *only* have the stub right now, we compile it when either
139# component is enabled.
140
141#if (COMPONENT_dev_gui_common AND NOT COMPONENT_webkit)
142if (COMPONENT_dev_gui_common OR COMPONENT_webkit)
143 set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "cli_dev_gui_common")
144
145 # stub
146 add_subdirectory(WebKit)
147endif()
148
149# we build these stubs if we're building `cli_dev` and *not* building Cocotron OR if we explicitly want them (`cli_dev_gui_stubs`).
150# we explicitly want to build them when building the `all` component because this component is intended to be used for building
151# Darling packages; we need to build a package that has these stubs available to be able to install Darling for CLI development
152# without GUI dependencies like X11.
153if ((COMPONENT_cli_dev AND NOT COMPONENT_gui) OR COMPONENT_cli_dev_gui_stubs)
154 set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "cli_dev")
155
156 # if we're building the GUI components (i.e. Cocotron), don't install these stubs
157 if (COMPONENT_gui)
158 set(NO_INSTALL_ARG NO_INSTALL)
159 set(STUB_SUFFIX "_stub")
160 else()
161 set(NO_INSTALL_ARG "")
162 set(STUB_SUFFIX "")
163 endif()
164
165 add_subdirectory(dev-stubs/AppKit)
166 add_subdirectory(dev-stubs/AudioToolbox)
167 add_subdirectory(dev-stubs/Cocoa)
168 add_subdirectory(dev-stubs/CoreData)
169 add_subdirectory(dev-stubs/CoreGraphics)
170 add_subdirectory(dev-stubs/CoreText)
171 add_subdirectory(dev-stubs/ImageIO)
172 add_subdirectory(dev-stubs/OpenGL)
173 add_subdirectory(dev-stubs/QuartzCore)
174endif()