@@ -3,6 +3,9 @@ project('glimpse', ['c', 'cpp', 'java'],
3
3
default_options : [' c_std=gnu11' , ' cpp_std=c++14' ])
4
4
5
5
use_system_libs = get_option (' use_system_libs' )
6
+ if meson .is_cross_build()
7
+ use_system_libs = false
8
+ endif
6
9
7
10
compiler = meson .get_compiler(' c' )
8
11
python3 = import (' python3' ).find_python()
36
39
platform_android = false
37
40
endif
38
41
42
+ if compiler.get_define(' __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__' ) != ''
43
+ platform_ios = true
44
+ else
45
+ platform_ios = false
46
+ endif
47
+
48
+
39
49
threads_dep = dependency (' threads' )
40
50
maths_dep = compiler.find_library (' m' , required : false )
41
51
@@ -113,7 +123,6 @@ endif
113
123
client_api_defines += [ ' -DUSE_FREENECT' ]
114
124
115
125
glfw_dep = dependency (' glfw3' , required : false )
116
- epoxy_dep = dependency (' epoxy' , fallback : [ ' libepoxy' , ' libepoxy_dep' ])
117
126
snappy_dep = dependency (' snappy' , required : false )
118
127
119
128
imgui_src = [
@@ -147,12 +156,16 @@ client_api_src = [
147
156
client_api_deps = [
148
157
glm_dep,
149
158
libpng_dep,
150
- epoxy_dep,
151
159
dlib_dep,
152
160
pcl_deps,
153
161
freenect_dep,
154
162
]
155
163
164
+ #if platform_ios == false
165
+ epoxy_dep = dependency (' epoxy' , fallback : [ ' libepoxy' , ' libepoxy_dep' ])
166
+ client_api_deps += epoxy_dep
167
+ #endif
168
+
156
169
if uw_dep.found()
157
170
client_api_deps += uw_dep
158
171
client_api_defines += ' -DUSE_LIBUNWIND=1'
@@ -236,18 +249,16 @@ if unity_enabled
236
249
endif
237
250
238
251
need_glimpse_native_jar = false
239
- if compiler.get_define( ' __ANDROID__ ' ) != ''
252
+ if platform_android == true
240
253
glfm_sp = subproject (' glfm' )
241
254
glfm_dep = glfm_sp.get_variable (' glfm_dep' )
242
- glfm_defines = [ ' -DGLFM_INCLUDE_ES3' ]
243
- client_api_defines += ' -DUSE_GLFM'
255
+
256
+ viewer_deps = client_api_deps + glfm_dep
257
+ viewer_defines = client_api_defines + [ ' -DUSE_GLFM' ]
244
258
245
259
if tango_enabled
246
- viewer_deps = client_api_deps + [ tango_deps, glfm_dep ]
247
- viewer_defines = client_api_defines + glfm_defines + [ ' -DUSE_TANGO=1' ]
248
- else
249
- viewer_deps = client_api_deps + [ glfm_dep ]
250
- viewer_defines = client_api_defines + glfm_defines
260
+ viewer_deps += tango_deps
261
+ viewer_defines += [ ' -DUSE_TANGO=1' ]
251
262
endif
252
263
253
264
use_asset_manager = get_option (' use_asset_manager' )
@@ -269,6 +280,30 @@ endif
269
280
270
281
subdir (' src/java' )
271
282
283
+ if platform_ios == true
284
+ glfm_sp = subproject (' glfm' )
285
+ glfm_dep = glfm_sp.get_variable (' glfm_dep' )
286
+
287
+ viewer_deps = client_api_deps + [ glfm_dep ]
288
+ viewer_defines = client_api_defines + [ ' -DUSE_GLFM' ]
289
+
290
+ imgui_src += ' src/imgui/imgui_impl_glfm_gles3.cpp'
291
+
292
+ executable (' glimpse_viewer' ,
293
+ [ ' src/glimpse_viewer.cc' ] + client_api_src + imgui_src,
294
+ include_directories : inc,
295
+ dependencies : viewer_deps,
296
+ c_args : viewer_defines,
297
+ cpp_args : viewer_defines,
298
+ link_args : [
299
+ ' -framework' , ' Foundation' ,
300
+ ' -framework' , ' OpenGLES' ,
301
+ ' -framework' , ' CoreGraphics' ,
302
+ ' -framework' , ' QuartzCore' ,
303
+ ' -framework' , ' UIKit'
304
+ ])
305
+ endif
306
+
272
307
if not meson .is_cross_build()
273
308
274
309
executable (' image-pre-processor' ,
@@ -377,14 +412,14 @@ if snappy_dep.found()
377
412
endif
378
413
379
414
if glfw_dep.found() and epoxy_dep.found()
380
- client_api_defines += ' -DUSE_GLFW'
415
+ viewer_defines = client_api_defines + ' -DUSE_GLFW'
381
416
imgui_src += ' src/imgui/imgui_impl_glfw_gles3.cpp'
382
417
executable (' glimpse_viewer' ,
383
418
[ ' src/glimpse_viewer.cc' ] + client_api_src + imgui_src,
384
419
include_directories : inc,
385
420
dependencies : client_api_deps + [ glfw_dep ],
386
- c_args : client_api_defines ,
387
- cpp_args : client_api_defines )
421
+ c_args : viewer_defines ,
422
+ cpp_args : viewer_defines )
388
423
endif
389
424
390
425
endif # is_cross_build
0 commit comments