libds-tizen: make libds-tizen rpm package
[platform/core/uifw/libds-tizen.git] / src / meson.build
1 common_inc = [ include_directories('.'), libds_tizen_inc ]
2
3 math = meson.get_compiler('c').find_library('m')
4 wayland_server = dependency('wayland-server', required: true)
5 rt = meson.get_compiler('c').find_library('rt')
6
7 if wayland_server.version().version_compare('>= 1.19')
8   cdata.set('HAVE_WL_SEAT_ERROR_MISSING_CAPABILITY', '1')
9 endif
10
11 deps_base = [
12   math,
13   rt,
14 ]
15
16 dep_libds = dependency('libds', required: true)
17
18 deps_libds_tizen = [
19   deps_base,
20   wayland_server,
21   dep_libds,
22 ]
23
24 tizen_security_files = [
25   '../security.c',
26 ]
27
28 deps_tizen_security = [
29   dependency('cynara-client', required: true),
30   dependency('cynara-session', required: true),
31   dependency('libsmack', required: true)
32 ]
33
34 subdir('shared')
35 subdir('allocator')
36 subdir('tbm_server')
37 subdir('backend')
38 subdir('keyrouter')
39 subdir('input_devicemgr')
40 subdir('dpms')
41 subdir('indicator')
42 subdir('clipboard')
43 subdir('launch')
44 subdir('display_policy')
45 subdir('memory_flusher')
46 subdir('renderer')
47 subdir('screen_rotation')
48 subdir('global_resource')
49 subdir('embedded_compositor')
50 subdir('input_method')
51 subdir('text_input')
52 subdir('hwc')
53 subdir('policy')
54 subdir('screenshooter')
55 subdir('scaler')
56 subdir('video')
57 subdir('eom')
58 subdir('remote_surface')
59 subdir('gbm_server')
60
61 ##### libds-tizen ######
62 libds_tizen_files = [
63   'embedded_compositor/embedded_compositor.c',
64   'text_input/text_input.c',
65   'indicator/indicator.c',
66   'dpms/dpms.c',
67   'remote_surface/remote_surface.c',
68   'gbm_server/gbm_server.c',
69   'renderer/renderer.c',
70   'screen_rotation/screen_rotation.c',
71   'eom/eom.c',
72   'hwc/hwc.c',
73   'input_method/input_method.c',
74   'launch/appinfo.c',
75   'launch/effect.c',
76   'scaler/scaler.c',
77   'video/viewport.c',
78   'video/video.c',
79   'tbm_server/tbm_server.c',
80   'screenshooter/screenshooter.c',
81   'screenshooter/screenmirror.c',
82   'input_devicemgr/input_devicemgr.c',
83   'clipboard/clipboard.c',
84   'memory_flusher/memory_flusher.c',
85   'global_resource/global_resource.c',
86   'policy/policy.c',
87   'keyrouter/keyrouter_grab.c',
88   'keyrouter/keyrouter.c',
89   'security.c',
90   'display_policy/display_policy.c',
91 ]
92
93 libds_tizen_deps = [
94   dep_libshared,
95   deps_libds_tizen,
96   dep_libshared,
97   deps_tizen_security,
98   dependency('libtdm', required: true),
99   dependency('gbm', required: true),
100   dependency('libtbm', required: true),
101   dependency('tizen-dpms-server', required: true),
102   dependency('wayland-tbm-server', required: true),
103   dependency('eom-server', required: true),
104   dependency('tizen-hwc-server', required: true),
105   dependency('xdg-shell-unstable-v6-server', required: true),
106   dependency('text-server', required: true),
107   dependency('input-method-server', required: true),
108   dependency('tizen-launch-server', required: true),
109   dependency('tizen-surface-server', required: true),
110   dependency('tizen-remote-surface-server', required: true),
111   dependency('scaler-server', required: true),
112   dependency('tizen-extension-server', required: true),
113   dependency('xkbcommon', required: true),
114 ]
115
116 keylayout_dir = get_option('keylayout_dir')
117
118 lib_libds_tizen = shared_library('ds-tizen', libds_tizen_files,
119   dependencies: libds_tizen_deps,
120   include_directories: [ common_inc,
121                          include_directories('.'),
122                          include_directories('..'),
123                          include_directories('./gbm_server'),
124                          include_directories('./input_devicemgr'),
125                          include_directories('./keyrouter'),
126                          include_directories('./screenshooter'),
127                          include_directories('./tbm_server'),
128                          include_directories('./video'),
129                        ],
130   version: meson.project_version(),
131   c_args: [ '-DKEYLAYOUT_DIR="@0@"'.format(keylayout_dir) ],
132   install: true
133 )
134
135 deps_libds_tizen = declare_dependency(
136   link_with: lib_libds_tizen,
137   dependencies: libds_tizen_deps,
138   include_directories: [ common_inc, include_directories('.') ],
139 )
140
141 pkgconfig = import('pkgconfig')
142 pkgconfig.generate(lib_libds_tizen,
143   version: meson.project_version(),
144   filebase: 'libds-tizen',
145   name: 'libds-tizen',
146   description: 'tizen extension of libds-tizen for tizen platform',
147 )