The open source OpenXR runtime
1# Copyright 2019-2023, Collabora, Ltd.
2# SPDX-License-Identifier: BSL-1.0
3
4####
5# Lists
6#
7
8add_library(
9 target_lists STATIC target_builder_interface.h target_builder_legacy.c target_lists.c
10 target_lists.h
11 )
12target_link_libraries(target_lists PRIVATE xrt-interfaces aux_util aux_util_sink drv_includes)
13target_include_directories(target_lists PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
14
15###
16# Builders
17#
18
19if(XRT_BUILD_DRIVER_REMOTE)
20 target_sources(target_lists PRIVATE target_builder_remote.c)
21endif()
22
23if(XRT_BUILD_DRIVER_PSVR OR XRT_BUILD_DRIVER_PSMV)
24 target_sources(target_lists PRIVATE target_builder_rgb_tracking.c)
25endif()
26
27if(XRT_BUILD_DRIVER_RIFT_S)
28 target_sources(target_lists PRIVATE target_builder_rift_s.c)
29endif()
30
31if(XRT_BUILD_DRIVER_SURVIVE OR XRT_BUILD_DRIVER_VIVE)
32 target_sources(target_lists PRIVATE target_builder_lighthouse.c)
33endif()
34
35if(XRT_BUILD_DRIVER_STEAMVR_LIGHTHOUSE)
36 target_sources(target_lists PRIVATE target_builder_steamvr.c)
37endif()
38
39if(XRT_BUILD_DRIVER_SIMULATED)
40 target_sources(target_lists PRIVATE target_builder_simulated.c)
41endif()
42
43if(XRT_BUILD_DRIVER_SIMULAVR)
44 target_sources(target_lists PRIVATE target_builder_simulavr.c)
45endif()
46
47if(XRT_BUILD_DRIVER_NS)
48 target_sources(target_lists PRIVATE target_builder_north_star.c)
49 target_link_libraries(target_lists PRIVATE drv_ns)
50endif()
51
52if(XRT_BUILD_DRIVER_WMR)
53 target_sources(target_lists PRIVATE target_builder_wmr.c)
54 target_link_libraries(target_lists PRIVATE drv_wmr)
55endif()
56
57if(XRT_BUILD_DRIVER_QWERTY)
58 target_sources(target_lists PRIVATE target_builder_qwerty.c)
59 target_link_libraries(target_lists PRIVATE drv_qwerty)
60endif()
61
62if(XRT_BUILD_DRIVER_XREAL_AIR)
63 target_sources(target_lists PRIVATE target_builder_xreal_air.c)
64 target_link_libraries(target_lists PRIVATE drv_xreal_air)
65endif()
66
67###
68# Drivers
69#
70
71if(XRT_BUILD_DRIVER_ARDUINO)
72 target_link_libraries(target_lists PRIVATE drv_arduino)
73endif()
74
75if(XRT_BUILD_DRIVER_BLUBUR_S1)
76 target_link_libraries(target_lists PRIVATE drv_blubur_s1)
77endif()
78
79target_link_libraries(target_lists PRIVATE drv_cemu)
80
81if(XRT_BUILD_DRIVER_DAYDREAM)
82 target_link_libraries(target_lists PRIVATE drv_daydream)
83endif()
84
85if(XRT_BUILD_DRIVER_DEPTHAI)
86 target_link_libraries(target_lists PRIVATE drv_depthai)
87endif()
88
89if(XRT_BUILD_DRIVER_SIMULATED)
90 target_link_libraries(target_lists PRIVATE drv_simulated)
91endif()
92
93if(XRT_BUILD_DRIVER_HDK)
94 target_link_libraries(target_lists PRIVATE drv_hdk)
95endif()
96
97if(XRT_BUILD_DRIVER_HYDRA)
98 target_link_libraries(target_lists PRIVATE drv_hydra)
99endif()
100
101if(XRT_BUILD_DRIVER_NS)
102 target_link_libraries(target_lists PRIVATE drv_ns)
103endif()
104
105if(XRT_BUILD_DRIVER_TWRAP)
106 target_link_libraries(target_lists PRIVATE drv_twrap)
107endif()
108
109if(XRT_BUILD_DRIVER_ULV2)
110 target_link_libraries(target_lists PRIVATE drv_ulv2)
111endif()
112
113if(XRT_BUILD_DRIVER_ULV5)
114 target_link_libraries(target_lists PRIVATE drv_ulv5)
115endif()
116
117if(XRT_BUILD_DRIVER_OHMD)
118 target_link_libraries(target_lists PRIVATE drv_ohmd)
119endif()
120
121if(XRT_BUILD_DRIVER_OPENGLOVES)
122 target_link_libraries(target_lists PRIVATE drv_opengloves)
123endif()
124
125if(XRT_BUILD_DRIVER_HANDTRACKING)
126 target_link_libraries(target_lists PRIVATE drv_ht)
127endif()
128
129if(XRT_BUILD_DRIVER_PSMV)
130 target_link_libraries(target_lists PRIVATE drv_psmv)
131endif()
132
133if(XRT_BUILD_DRIVER_PSSENSE)
134 target_link_libraries(target_lists PRIVATE drv_pssense)
135endif()
136
137if(XRT_BUILD_DRIVER_PSVR)
138 target_link_libraries(target_lists PRIVATE drv_psvr)
139endif()
140
141if(XRT_BUILD_DRIVER_REALSENSE)
142 target_link_libraries(target_lists PRIVATE drv_realsense)
143endif()
144
145if(XRT_BUILD_DRIVER_REMOTE)
146 target_link_libraries(target_lists PRIVATE drv_remote)
147endif()
148
149if(XRT_BUILD_DRIVER_RIFT)
150 target_link_libraries(target_lists PRIVATE drv_rift)
151endif()
152
153if(XRT_BUILD_DRIVER_RIFT_S)
154 target_link_libraries(target_lists PRIVATE drv_rift_s)
155endif()
156
157if(XRT_BUILD_DRIVER_ROKID)
158 target_link_libraries(target_lists PRIVATE drv_rokid)
159endif()
160
161if(XRT_HAVE_V4L2)
162 target_link_libraries(target_lists PRIVATE drv_v4l2)
163endif()
164
165if(XRT_BUILD_DRIVER_VF)
166 target_link_libraries(target_lists PRIVATE drv_vf)
167endif()
168
169if(XRT_BUILD_DRIVER_VIVE)
170 target_link_libraries(target_lists PRIVATE drv_vive)
171endif()
172
173if(XRT_BUILD_DRIVER_SURVIVE)
174 target_link_libraries(target_lists PRIVATE drv_survive)
175endif()
176
177if(XRT_BUILD_DRIVER_STEAMVR_LIGHTHOUSE)
178 target_link_libraries(target_lists PRIVATE drv_steamvr_lh)
179 target_sources(target_lists PRIVATE target_builder_steamvr.c)
180endif()
181
182if(XRT_BUILD_DRIVER_ANDROID)
183 target_link_libraries(target_lists PRIVATE drv_android)
184endif()
185
186if(XRT_BUILD_DRIVER_ILLIXR)
187 target_link_libraries(target_lists PRIVATE drv_illixr)
188endif()
189
190target_link_libraries(target_lists PRIVATE drv_multi)
191
192if(XRT_BUILD_DRIVER_QWERTY)
193 target_link_libraries(target_lists PRIVATE drv_qwerty)
194endif()
195
196if(XRT_BUILD_DRIVER_WMR)
197 target_link_libraries(target_lists PRIVATE drv_wmr)
198endif()
199
200if(XRT_BUILD_DRIVER_XREAL_AIR)
201 target_link_libraries(target_lists PRIVATE drv_xreal_air)
202endif()
203
204if(XRT_BUILD_DRIVER_EUROC)
205 target_link_libraries(target_lists PRIVATE drv_euroc)
206endif()
207
208if(XRT_BUILD_DRIVER_SIMULAVR)
209 target_link_libraries(target_lists PRIVATE drv_svr)
210endif()
211
212if(XRT_BUILD_DRIVER_SOLARXR)
213 target_link_libraries(target_lists PRIVATE drv_solarxr)
214endif()
215
216####
217# Instance
218#
219
220if(XRT_MODULE_COMPOSITOR_MAIN OR XRT_MODULE_COMPOSITOR_NULL)
221 add_library(target_instance STATIC target_instance.c)
222 target_link_libraries(
223 target_instance
224 PRIVATE
225 xrt-interfaces
226 aux_util
227 st_prober
228 target_lists
229 drv_includes
230 )
231 target_include_directories(target_instance PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
232
233 if(XRT_MODULE_COMPOSITOR_MAIN)
234 target_link_libraries(target_instance PRIVATE comp_main)
235 endif()
236
237 if(XRT_MODULE_COMPOSITOR_NULL)
238 target_link_libraries(target_instance PRIVATE comp_null)
239 endif()
240endif()
241
242####
243# Instance without Compositor
244#
245
246add_library(target_instance_no_comp STATIC target_instance_no_comp.c)
247target_link_libraries(
248 target_instance_no_comp
249 PRIVATE
250 xrt-interfaces
251 aux_util
252 st_prober
253 target_lists
254 drv_includes
255 )
256target_include_directories(target_instance_no_comp PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
257
258####
259# Platform
260
261if(ANDROID)
262 target_link_libraries(target_instance PRIVATE aux_android)
263
264 target_link_libraries(target_instance_no_comp PRIVATE aux_android)
265endif()