pkgconfig = import('pkgconfig')
-subdir('src')
+subdir('src/mmimgr')
+subdir('src/bin')
+subdir('src/modules/ref_fusion')
+subdir('src/modules/modality_keyboard')
subdir('tests')
subdir('tests/iu')
#generate mmi-stub using TIDL Compiler
tidlc -s -l C -i tidl/mmifw.tidl -o mmifw_stub
-cp -af mmifw_stub.* ./src/interface/
+cp -af mmifw_stub.* ./src/mmimgr/interface/
%build
meson setup --prefix=/usr \
%defattr(-,root,root,-)
%license COPYING
%{_bindir}/mmi-manager
+%{_libdir}/libmmi*.so*
+%{_datadir}/iu/*
%{_libdir}/provider/libmmi*.so
%{_libdir}/fusion/libmmi*.so
-%{_datadir}/iu/*
%files devel
%manifest %{name}.manifest
--- /dev/null
+mmi_manager_srcs = [
+ 'main.c'
+ ]
+
+mmi_manager_deps = [
+ mmimgr_declared_dep
+ ]
+
+executable('mmi-manager',
+ mmi_manager_srcs,
+ dependencies : [mmi_manager_deps],
+ install_dir : mmi_manager_prefix_bindir,
+ install : true,
+ pie : true
+ )
-mmi_manager_srcs = [
- 'main.c',
+mmimgr_srcs = [
'mmi-manager.h',
'mmi-manager.c',
'mmi-core.h',
install_data('iu/data/default_rule.json', install_dir : '/usr/share/iu/')
-glib_dep = dependency('glib-2.0')
-gio_dep = dependency('gio-2.0')
-bundle_dep = dependency('bundle')
-dlog_dep = dependency('dlog')
+glib_dep = dependency('glib-2.0', method : 'pkg-config')
+gio_dep = dependency('gio-2.0', method : 'pkg-config')
+bundle_dep = dependency('bundle', method : 'pkg-config')
+dlog_dep = dependency('dlog', method : 'pkg-config')
ecore_dep = dependency('ecore', method : 'pkg-config')
rpc_port_dep = dependency('rpc-port')
json_glib_dep = dependency('json-glib-1.0')
libtzplatform_config_dep = dependency('libtzplatform-config')
-xkbcommon_dep = dependency('xkbcommon')
+xkbcommon_dep = dependency('xkbcommon', method : 'pkg-config')
-mmi_manager_deps = [
+mmimgr_deps = [
ecore_dep,
glib_dep,
gio_dep,
libtzplatform_config_dep,
xkbcommon_dep]
-executable('mmi-manager',
- mmi_manager_srcs,
- dependencies : [mmi_manager_deps],
- install_dir : mmi_manager_prefix_bindir,
- export_dynamic : true,
- install : true
- )
+mmimgr_include_dirs = include_directories('.')
-mmi_manager_include_dirs = include_directories(
- '.'
+mmimgr_library = library('mmimgr',
+ mmimgr_srcs,
+ include_directories : [ mmimgr_include_dirs ],
+ dependencies : [mmimgr_deps],
+ install_dir : mmi_manager_prefix_libdir,
+ install : true
)
-mmi_manager_declared_dep = declare_dependency(
- dependencies : [mmi_manager_deps],
- include_directories : [mmi_manager_include_dirs]
+mmimgr_declared_dep = declare_dependency(
+ link_with : mmimgr_library,
+ dependencies : [mmimgr_deps],
+ include_directories : [mmimgr_include_dirs]
)
pkgconfig.generate(
- filebase : 'mmi-manager',
- name : 'mmi-manager',
- description : 'Multi-modal Interaction Manager',
+ filebase : 'libmmimgr',
+ name : 'libmmimgr',
+ description : 'Multi-modal Interaction Manager Library',
version : meson.project_version(),
+ libraries : mmimgr_library
)
-subdir('modules/modality_keyboard')
-subdir('modules/ref_fusion')
-
'wayland-input.c',
]
-install_headers(
- 'mmi-keyboard-provider.h'
- )
-
-modality_keyboard_include_dirs = include_directories(
- '.',
- )
+modality_keyboard_include_dirs = include_directories('.')
wayland_client_dep = dependency('wayland-client', method : 'pkg-config')
xkbcommon_dep = dependency('xkbcommon', method : 'pkg-config')
tz_extension_dep = dependency('tizen-extension-client', method : 'pkg-config')
+modality_keyboard_deps = [
+ dlog_dep,
+ wayland_client_dep,
+ xkbcommon_dep,
+ tz_extension_dep,
+ ecore_dep,
+ mmimgr_declared_dep
+ ]
+
mmi_provider_prefix_libdir = join_paths(mmi_manager_prefix_libdir, 'provider')
-modality_keyboard_shared = shared_library('mmi_modality_keyboard',
- modality_keyboard_srcs,
- include_directories : [ modality_keyboard_include_dirs, mmi_manager_include_dirs ],
- dependencies : [ dlog_dep, wayland_client_dep, xkbcommon_dep, tz_extension_dep, ecore_dep ],
- install_dir : mmi_provider_prefix_libdir,
- override_options : ['b_lundef=false'],
- install : true)
+modality_keyboard_shared = shared_library(
+ 'mmi_modality_keyboard',
+ modality_keyboard_srcs,
+ include_directories : [modality_keyboard_include_dirs],
+ dependencies : [modality_keyboard_deps],
+ install_dir : mmi_provider_prefix_libdir,
+ install : true,
+ pie : true
+ )
+
'mmi-ref-fusion.c',
]
-install_headers(
- 'mmi-ref-fusion.h'
- )
-
-ref_fusion_include_dirs = include_directories(
- '.',
-)
+ref_fusion_include_dirs = include_directories('.')
-glib_dep = dependency('glib-2.0')
-dlog_dep = dependency('dlog')
+glib_dep = dependency('glib-2.0', method : 'pkg-config')
+dlog_dep = dependency('dlog', method : 'pkg-config')
ecore_dep = dependency('ecore', method : 'pkg-config')
+ref_fusion_deps = [
+ glib_dep,
+ dlog_dep,
+ ecore_dep,
+ mmimgr_declared_dep
+ ]
+
mmi_fusion_prefix_libdir = join_paths(mmi_manager_prefix_libdir, 'fusion')
-ref_fusion_shared = shared_library('mmi_ref_fusion',
- ref_fusion_srcs,
- include_directories : [ ref_fusion_include_dirs, mmi_manager_include_dirs ],
- dependencies : [glib_dep, dlog_dep, ecore_dep ],
- install_dir : mmi_fusion_prefix_libdir,
- override_options : ['b_lundef=false'],
- install : true)
+ref_fusion_shared = shared_library(
+ 'mmi_ref_fusion',
+ ref_fusion_srcs,
+ include_directories : [ref_fusion_include_dirs],
+ dependencies : [ref_fusion_deps],
+ install_dir : mmi_fusion_prefix_libdir,
+ install : true,
+ pie : true
+ )
+
'mmi_iu_noinit_unittests.cpp',
'mmi_iu_unittests.cpp',
'output_intent_unittests.cpp',
- '../../src/mmi-common.c',
- '../../src/iu/input_intent.cpp',
- '../../src/iu/intent_understanding_engine.cpp',
- '../../src/iu/iu_rule.cpp',
- '../../src/iu/mmi_iu.cpp',
- '../../src/iu/output_intent.cpp'
+ '../../src/mmimgr/iu/input_intent.cpp',
+ '../../src/mmimgr/iu/intent_understanding_engine.cpp',
+ '../../src/mmimgr/iu/iu_rule.cpp',
+ '../../src/mmimgr/iu/mmi_iu.cpp',
+ '../../src/mmimgr/iu/output_intent.cpp'
]
gmock_dep = dependency('gmock', method : 'pkg-config')
ecore_dep = dependency('ecore', method : 'pkg-config')
json_glib_dep = dependency('json-glib-1.0', method : 'pkg-config')
-incdir = include_directories('../../src/iu')
+incdir = include_directories('../../src/mmimgr/iu')
executable(
'iu-tests',
iu_tests_srcs,
- dependencies : [mmi_manager_declared_dep, gmock_dep, ecore_dep, json_glib_dep],
+ dependencies : [mmimgr_declared_dep, gmock_dep, ecore_dep, json_glib_dep],
include_directories : incdir,
install_dir : mmi_manager_prefix_bindir,
install : true
executable(
'mmi-manager-tests',
mmi_manager_tests_srcs,
- dependencies : [mmi_manager_declared_dep, gmock_dep, ecore_dep],
+ dependencies : [mmimgr_declared_dep, gmock_dep, ecore_dep],
install_dir : mmi_manager_prefix_bindir,
install : true
)