aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2018-08-12 15:26:29 +0200
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2018-10-02 17:22:50 +0200
commit46d464e5bfc10398461a33a2256c1c58d509dd1a (patch)
tree8c1a9272c05f14033a4430bc122632461bd73608 /src/bin
parentecore_cocoa: stop leaking init counts (diff)
downloadefl-46d464e5bfc10398461a33a2256c1c58d509dd1a.tar.gz
here comes meson
a new shiny buildtool that currently completes in the total of ~ 4 min.. 1 min. conf time 2:30 min. build time Where autotools takes: 1:50 min. conf time 3:40 min. build time. meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read. Further informations can be gathered from the README.meson Right now, bindings & windows support are missing. It is highly recommented to use meson 0.48 due to optimizations in meson that reduced the time the meson call would need. Co-authored-by: Mike Blumenkrantz <zmike@samsung.com> Differential Revision: https://phab.enlightenment.org/D7012 Depends on https://phab.enlightenment.org/D7011
Diffstat (limited to 'src/bin')
-rw-r--r--src/bin/ecore_buffer/meson.build5
-rw-r--r--src/bin/ecore_con/meson.build6
-rw-r--r--src/bin/ecore_evas/meson.build11
-rw-r--r--src/bin/edje/epp/meson.build38
-rw-r--r--src/bin/edje/meson.build87
-rw-r--r--src/bin/eet/meson.build10
-rw-r--r--src/bin/eeze/meson.build10
-rw-r--r--src/bin/efl/meson.build10
-rw-r--r--src/bin/efl_wl/meson.build11
-rw-r--r--src/bin/efreet/meson.build41
-rw-r--r--src/bin/eina/eina_btlog/meson.build5
-rw-r--r--src/bin/eina/eina_modinfo/meson.build5
-rw-r--r--src/bin/eina/meson.build2
-rw-r--r--src/bin/eldbus/meson.build13
-rw-r--r--src/bin/elementary/meson.build228
-rw-r--r--src/bin/elua/meson.build5
-rw-r--r--src/bin/embryo/meson.build24
-rw-r--r--src/bin/eolian/meson.build19
-rw-r--r--src/bin/ethumb/meson.build6
-rw-r--r--src/bin/ethumb_client/meson.build24
20 files changed, 560 insertions, 0 deletions
diff --git a/src/bin/ecore_buffer/meson.build b/src/bin/ecore_buffer/meson.build
new file mode 100644
index 0000000000..86ee20a872
--- /dev/null
+++ b/src/bin/ecore_buffer/meson.build
@@ -0,0 +1,5 @@
+executable('bq_mgr',
+ ['bq_mgr_protocol.c', 'bq_mgr.c'],
+ dependencies: [ecore, ecore_buffer, ecore_buffer_deps],
+ install : true
+)
diff --git a/src/bin/ecore_con/meson.build b/src/bin/ecore_con/meson.build
new file mode 100644
index 0000000000..d8d33dcd4d
--- /dev/null
+++ b/src/bin/ecore_con/meson.build
@@ -0,0 +1,6 @@
+executable('efl_net_proxy_helper',
+ 'efl_net_proxy_helper.c',
+ dependencies : [ecore_con],
+ install : true,
+ install_dir : join_paths(dir_lib, 'ecore_con', 'utils', version_name)
+)
diff --git a/src/bin/ecore_evas/meson.build b/src/bin/ecore_evas/meson.build
new file mode 100644
index 0000000000..42d74bd5ab
--- /dev/null
+++ b/src/bin/ecore_evas/meson.build
@@ -0,0 +1,11 @@
+executable('ecore_evas_convert',
+ 'ecore_evas_convert.c',
+ dependencies : [eina, ecore, evas, ecore_evas],
+ install : true
+)
+
+executable('eetpack',
+ 'eetpack.c',
+ dependencies : [eina, eet, evas, ecore_evas],
+ install : true
+)
diff --git a/src/bin/edje/epp/meson.build b/src/bin/edje/epp/meson.build
new file mode 100644
index 0000000000..bbe7e99a6d
--- /dev/null
+++ b/src/bin/edje/epp/meson.build
@@ -0,0 +1,38 @@
+epp_src = [
+ 'cpplib.h',
+ 'cpphash.h',
+ 'cppalloc.c',
+ 'cpperror.c',
+ 'cppexp.c',
+ 'cpphash.c',
+ 'cpplib.c',
+ 'cppmain.c'
+]
+
+epp = executable('epp',
+ epp_src,
+ dependencies: eolian,
+ install: true,
+ install_dir : join_paths(dir_lib, 'edje', 'utils', version_name),
+ c_args : [
+ package_c_args,
+ '-DHAVE_CONFIG_H',
+ '-DHAVE_STRERROR',
+ '-DFATAL_EXIT_CODE=1',
+ '-DSUCCESS_EXIT_CODE=0',
+ '-DGCC_INCLUDE_DIR="/usr/include"',
+ '-DGPLUSPLUS_INCLUDE_DIR="/usr/include"',
+ '-DTOOL_INCLUDE_DIR="/usr/bin"',
+ '-DHOST_BITS_PER_LONG=32',
+ '-DBITS_PER_UNIT=8',
+ '-DHOST_BITS_PER_INT=32',
+ '-DBITS_PER_WORD=16',
+ '-DTARGET_BELL=7',
+ '-DTARGET_BS=8',
+ '-DTARGET_FF=12',
+ '-DTARGET_NEWLINE=10',
+ '-DTARGET_CR=13',
+ '-DTARGET_TAB=9',
+ '-DTARGET_VT=11'
+ ],
+)
diff --git a/src/bin/edje/meson.build b/src/bin/edje/meson.build
new file mode 100644
index 0000000000..c7e5f397c2
--- /dev/null
+++ b/src/bin/edje/meson.build
@@ -0,0 +1,87 @@
+subdir('epp')
+
+edje_bin_deps = [
+ eina, eo, efl, m,
+ luajit, eet, evas,
+ ecore_file, ecore_input,
+ ecore_imf, ecore_imf_evas,
+ embryo, efreet, eio,
+ edje, ecore_evas
+]
+
+edje_cc_src = [
+ 'edje_multisense_convert.h',
+ 'edje_cc.h',
+ 'edje_cc.c',
+ 'edje_cc_out.c',
+ 'edje_cc_parse.c',
+ 'edje_cc_mem.c',
+ 'edje_cc_handlers.c',
+ 'edje_cc_sources.c',
+ 'edje_cc_script.c',
+ 'edje_multisense_convert.c'
+]
+
+edje_cc = executable('edje_cc',
+ edje_cc_src,
+ dependencies: [edje_bin_deps, eet, ecore_evas, ecore_file],
+ install: true,
+ c_args : package_c_args,
+ link_args : bin_linker_args
+)
+
+edje_decc_src = [
+ 'edje_decc.c',
+ 'edje_decc.h',
+ 'edje_cc_mem.c',
+ 'edje_cc_sources.c',
+]
+
+edje_decc = executable('edje_decc',
+ edje_decc_src,
+ dependencies: [edje_bin_deps, eet, ecore_file, ecore_evas],
+ install: true,
+ c_args : package_c_args,
+)
+
+edje_player = executable('edje_player',
+ 'edje_player.c',
+ dependencies: [edje_bin_deps, eet, ecore, eio, ecore_evas],
+ install: true,
+ c_args : package_c_args,
+)
+
+edje_inspector = executable('edje_inspector',
+ 'edje_inspector.c',
+ dependencies: [edje_bin_deps, eet, ecore, eio, ecore_evas],
+ install: true,
+ c_args : package_c_args,
+)
+
+edje_external_inspector = executable('edje_external_inspector',
+ 'edje_external_inspector.c',
+ dependencies: [edje_bin_deps, eet, ecore, eio, ecore_evas],
+ install: true,
+ c_args : package_c_args,
+)
+
+edje_codegen = executable('edje_codegen',
+ 'edje_codegen.c',
+ dependencies: [edje_bin_deps, eet, ecore, eio, ecore_evas],
+ install: true,
+ c_args : package_c_args,
+)
+
+edje_pick = executable('edje_pick',
+ 'edje_pick.c',
+ dependencies: [edje_bin_deps, eet, ecore, eio, ecore_evas],
+ install: true,
+ c_args : package_c_args,
+)
+
+edje_watch = executable('edje_watch',
+ 'edje_watch.c',
+ dependencies: [edje_bin_deps, eet, ecore, eio, ecore_evas],
+ install: true,
+ c_args : package_c_args,
+)
diff --git a/src/bin/eet/meson.build b/src/bin/eet/meson.build
new file mode 100644
index 0000000000..bde68b6ef6
--- /dev/null
+++ b/src/bin/eet/meson.build
@@ -0,0 +1,10 @@
+eet_bin = executable('eet',
+ 'eet_main.c',
+ dependencies: [eet],
+ install : true
+)
+
+install_data(['diffeet','vieet'],
+ install_mode: 'rwxr--r--',
+ install_dir : dir_bin
+)
diff --git a/src/bin/eeze/meson.build b/src/bin/eeze/meson.build
new file mode 100644
index 0000000000..2bb4370bdd
--- /dev/null
+++ b/src/bin/eeze/meson.build
@@ -0,0 +1,10 @@
+eeze_bins = ['disk_ls', 'mount', 'scanner', 'scanner_monitor', 'umount']
+
+foreach eeze_bin : eeze_bins
+ src_file = join_paths('eeze_'+eeze_bin, 'eeze_'+eeze_bin+'.c')
+ tmp = executable('eeze_'+eeze_bin, src_file,
+ dependencies: [ecore, eeze, ecore_con, ecore_file, eet],
+ install: true,
+ )
+ set_variable('eeze_'+eeze_bin, tmp)
+endforeach
diff --git a/src/bin/efl/meson.build b/src/bin/efl/meson.build
new file mode 100644
index 0000000000..d65d22c6f5
--- /dev/null
+++ b/src/bin/efl/meson.build
@@ -0,0 +1,10 @@
+executable('efl_debug',
+ 'efl_debug.c',
+ dependencies: [eina, ecore],
+ install: true,
+)
+executable('efl_debugd',
+ 'efl_debugd.c',
+ dependencies: [eina, ecore, ecore_con],
+ install: true,
+)
diff --git a/src/bin/efl_wl/meson.build b/src/bin/efl_wl/meson.build
new file mode 100644
index 0000000000..5f0d655cb0
--- /dev/null
+++ b/src/bin/efl_wl/meson.build
@@ -0,0 +1,11 @@
+executable('efl_wl_test',
+ 'efl_wl_test.c',
+ include_directories : config_dir,
+ dependencies: [efl_wl, elementary]
+)
+
+executable('efl_wl_test_stack',
+ 'efl_wl_test_stack.c',
+ include_directories : config_dir,
+ dependencies: [efl_wl, elementary]
+)
diff --git a/src/bin/efreet/meson.build b/src/bin/efreet/meson.build
new file mode 100644
index 0000000000..4c7bf5efb5
--- /dev/null
+++ b/src/bin/efreet/meson.build
@@ -0,0 +1,41 @@
+efreetd_src = [
+ 'efreetd.c',
+ 'efreetd.h',
+ 'efreetd_ipc.h',
+ 'efreetd_ipc.c',
+ 'efreetd_cache.h',
+ 'efreetd_cache.c'
+]
+
+config_h.set('STRICT_SPEC', '1')
+
+efreetd = executable('efreetd',
+ efreetd_src,
+ dependencies: [efreet, ecore, ecore_ipc, ecore_file, eio],
+ install: true,
+ c_args : package_c_args,
+)
+
+efreet_desktop_cache_create = executable('efreet_desktop_cache_create',
+ 'efreet_desktop_cache_create.c',
+ dependencies: [efreet, ecore, eet, ecore_file],
+ install: true,
+ install_dir : join_paths(dir_lib, 'efreet', version_name),
+ c_args : package_c_args,
+)
+
+efreet_icon_cache_create = executable('efreet_icon_cache_create',
+ 'efreet_icon_cache_create.c',
+ dependencies: [efreet, ecore, eet, ecore_file],
+ install: true,
+ install_dir : join_paths(dir_lib, 'efreet', version_name),
+ c_args : package_c_args,
+)
+
+efreet_mime_cache_create = executable('efreet_mime_cache_create',
+ 'efreet_mime_cache_create.c',
+ dependencies: [efreet, ecore, eet, ecore_file],
+ install: true,
+ install_dir : join_paths(dir_lib, 'efreet', version_name),
+ c_args : package_c_args,
+)
diff --git a/src/bin/eina/eina_btlog/meson.build b/src/bin/eina/eina_btlog/meson.build
new file mode 100644
index 0000000000..3d56f9cfbf
--- /dev/null
+++ b/src/bin/eina/eina_btlog/meson.build
@@ -0,0 +1,5 @@
+executable('eina_btlog',
+ 'eina_btlog.c',
+ dependencies: eina,
+ install: true,
+)
diff --git a/src/bin/eina/eina_modinfo/meson.build b/src/bin/eina/eina_modinfo/meson.build
new file mode 100644
index 0000000000..a57dc6fc42
--- /dev/null
+++ b/src/bin/eina/eina_modinfo/meson.build
@@ -0,0 +1,5 @@
+executable('eina_modinfo',
+ 'eina_modinfo.c',
+ dependencies: eina,
+ install: true,
+)
diff --git a/src/bin/eina/meson.build b/src/bin/eina/meson.build
new file mode 100644
index 0000000000..7c5f64b950
--- /dev/null
+++ b/src/bin/eina/meson.build
@@ -0,0 +1,2 @@
+subdir('eina_btlog')
+subdir('eina_modinfo')
diff --git a/src/bin/eldbus/meson.build b/src/bin/eldbus/meson.build
new file mode 100644
index 0000000000..b9c7356c46
--- /dev/null
+++ b/src/bin/eldbus/meson.build
@@ -0,0 +1,13 @@
+eldbus_codegen_src = [
+ 'codegen.h',
+ 'utils.c',
+ 'parser.c',
+ 'dbus.c',
+ 'source_client.c',
+ 'client.c'
+]
+executable('eldbus-codegen',
+ eldbus_codegen_src,
+ dependencies: [eldbus, ecore],
+ install: true,
+)
diff --git a/src/bin/elementary/meson.build b/src/bin/elementary/meson.build
new file mode 100644
index 0000000000..58f82c1925
--- /dev/null
+++ b/src/bin/elementary/meson.build
@@ -0,0 +1,228 @@
+elementary_test_src = [
+ 'test.c',
+ 'test_explode.c',
+ 'test_explode.h',
+ 'test_3d.c',
+ 'test_access.c',
+ 'test_actionslider.c',
+ 'test_anim.c',
+ 'test_bg.c',
+ 'test_box.c',
+ 'test_bubble.c',
+ 'test_button.c',
+ 'test_ui_button.c',
+ 'test_calendar.c',
+ 'test_check.c',
+ 'test_clock.c',
+ 'test_cnp.c',
+ 'test_code.c',
+ 'test_colorselector.c',
+ 'test_colorclass.c',
+ 'test_combobox.c',
+ 'test_config.c',
+ 'test_conform.c',
+ 'test_conform_indicator.c',
+ 'test_ctxpopup.c',
+ 'test_cursor.c',
+ 'test_datetime.c',
+ 'test_dayselector.c',
+ 'test_disable.c',
+ 'test_diskselector.c',
+ 'test_dnd.c',
+ 'test_efl_anim_alpha.c',
+ 'test_efl_anim_rotate.c',
+ 'test_efl_anim_scale.c',
+ 'test_efl_anim_translate.c',
+ 'test_efl_anim_group_parallel.c',
+ 'test_efl_anim_group_sequential.c',
+ 'test_efl_anim_event_anim.c',
+ 'test_efl_anim_pause.c',
+ 'test_efl_anim_repeat.c',
+ 'test_efl_anim_start_delay.c',
+ 'test_efl_anim_interpolator.c',
+ 'test_eio.c',
+ 'test_entry.c',
+ 'test_entry_anchor.c',
+ 'test_entry_anchor2.c',
+ 'test_events.c',
+ 'test_evas_mask.c',
+ 'test_evas_map.c',
+ 'test_efl_gfx_map.c',
+ 'test_evas_snapshot.c',
+ 'test_external.c',
+ 'test_fileselector_button.c',
+ 'test_fileselector.c',
+ 'test_fileselector_entry.c',
+ 'test_flip.c',
+ 'test_flip_page.c',
+ 'test_flip_page_eo.c',
+ 'test_flipselector.c',
+ 'test_floating.c',
+ 'test_focus.c',
+ 'test_focus_custom_chain.c',
+ 'test_focus_policy.c',
+ 'test_focus_style.c',
+ 'test_gengrid.c',
+ 'test_genlist.c',
+ 'test_gesture_layer.c',
+ 'test_gesture_layer2.c',
+ 'test_gesture_layer3.c',
+ 'test_gfx_filters.c',
+ 'test_glview_simple.c',
+ 'test_glview.c',
+ 'test_glview_manygears.c',
+ 'test_grid.c',
+ 'test_ui_table_static.c',
+ 'test_ui_stack.c',
+ 'test_hover.c',
+ 'test_hoversel.c',
+ 'test_icon.c',
+ 'test_icon_desktops.c',
+ 'test_icon_animated.c',
+ 'test_image.c',
+ 'test_index.c',
+ 'test_inwin.c',
+ 'test_label.c',
+ 'test_launcher.c',
+ 'test_layout.c',
+ 'test_list.c',
+ 'test_map.c',
+ 'test_main_menu.c',
+ 'test_menu.c',
+ 'test_multi.c',
+ 'test_multibuttonentry.c',
+ 'test_naviframe.c',
+ 'test_naviframe_complex.c',
+ 'test_notify.c',
+ 'test_nstate.c',
+ 'test_panel.c',
+ 'test_panes.c',
+ 'test_ui_panes.c',
+ 'test_part_bg.c',
+ 'test_part_shadow.c',
+ 'test_photo.c',
+ 'test_photocam.c',
+ 'test_popup.c',
+ 'test_prefs.c',
+ 'test_progressbar.c',
+ 'test_ui_progressbar.c',
+ 'test_radio.c',
+ 'test_scaling.c',
+ 'test_scroller.c',
+ 'test_ui_scroller.c',
+ 'test_segment_control.c',
+ 'test_separator.c',
+ 'test_slider.c',
+ 'test_ui_slider.c',
+ 'test_ui_slider_interval.c',
+ 'test_ui_spin.c',
+ 'test_ui_spin_button.c',
+ 'test_ui_datepicker.c',
+ 'test_ui_timepicker.c',
+ 'test_ui_tags.c',
+ 'test_slideshow.c',
+ 'test_spinner.c',
+ 'test_store.c',
+ 'test_sys_notify.c',
+ 'test_systray.c',
+ 'test_table.c',
+ 'test_thumb.c',
+ 'test_toolbar.c',
+ 'test_tooltip.c',
+ 'test_transit.c',
+ 'test_transit_bezier.c',
+ 'test_ui_box.c',
+ 'test_ui_clock.c',
+ 'test_ui_table.c',
+ 'test_ui_popup.c',
+ 'test_ui_textpath.c',
+ 'test_video.c',
+ 'test_weather.c',
+ 'test_web.c',
+ 'test_win_inline.c',
+ 'test_win_keygrab.c',
+ 'test_win_socket.c',
+ 'test_win_plug.c',
+ 'test_win_state.c',
+ 'test_win_wm_rotation.c',
+ 'test_win_dialog.c',
+ 'test_win_modal.c',
+ 'test_efl_ui_text.c',
+ 'test_win_stack.c',
+ 'test_win_indicator.c',
+ 'test_gesture_framework.c',
+ 'test_ui_tab_pager.c',
+ 'test.h'
+]
+
+elementary_test = executable('elementary_test',
+ elementary_test_src,
+ dependencies: [elementary] + elementary_deps + elementary_pub_deps,
+ install: true,
+ c_args : package_c_args + [
+ '-Delementary_test_BIN_DIR="'+dir_bin+'"',
+ '-Delementary_test_LIB_DIR="'+dir_lib+'"',
+ '-Delementary_test_DATA_DIR="'+join_paths(dir_data,'elementary')+'"'
+ ]
+)
+
+elementary_config_src = [
+ 'config.c'
+]
+
+elementary_config = executable('elementary_config',
+ elementary_config_src,
+ dependencies: [elementary] + elementary_deps + elementary_pub_deps,
+ install: true,
+ c_args : package_c_args,
+)
+
+elementary_quicklaunch_src = [
+ 'quicklaunch.c'
+]
+
+elementary_quicklaunch = executable('elementary_quicklaunch',
+ elementary_quicklaunch_src,
+ dependencies: [elementary] + elementary_deps + elementary_pub_deps,
+ install: true,
+ c_args : package_c_args,
+)
+
+elementary_codegen_src = [
+ 'elementary_codegen.c'
+]
+
+elementary_codegen = executable('elementary_codegen',
+ elementary_codegen_src,
+ dependencies: [elementary] + elementary_deps + elementary_pub_deps,
+ install: true,
+ c_args : package_c_args,
+)
+
+elm_prefs_cc_src = [
+ 'elm_prefs_cc.h',
+ 'elm_prefs_cc.c',
+ 'elm_prefs_cc_mem.c',
+ 'elm_prefs_cc_out.c',
+ 'elm_prefs_cc_parse.c',
+ 'elm_prefs_cc_handlers.c'
+
+]
+
+elm_prefs_cc = executable('elm_prefs_cc',
+ elm_prefs_cc_src,
+ dependencies: [elementary] + elementary_deps + elementary_pub_deps,
+ install: true,
+ c_args : package_c_args,
+)
+
+elementary_run_src = [
+ 'run.c'
+]
+
+elementary_run = executable('elementary_run',
+ elementary_run_src,
+ dependencies: [elementary] + elementary_deps + elementary_pub_deps,
+ install: true,
+ c_args : package_c_args,
+)
diff --git a/src/bin/elua/meson.build b/src/bin/elua/meson.build
new file mode 100644
index 0000000000..3a4908d754
--- /dev/null
+++ b/src/bin/elua/meson.build
@@ -0,0 +1,5 @@
+executable('elua',
+ 'main.c',
+ dependencies: [eina, ecore, elua, intl],
+ install: true,
+)
diff --git a/src/bin/embryo/meson.build b/src/bin/embryo/meson.build
new file mode 100644
index 0000000000..1e8e3e3582
--- /dev/null
+++ b/src/bin/embryo/meson.build
@@ -0,0 +1,24 @@
+embryo_cc_src = [
+ 'embryo_cc_amx.h',
+ 'embryo_cc_osdefs.h',
+ 'embryo_cc_sc.h',
+ 'embryo_cc_sc1.c',
+ 'embryo_cc_sc2.c',
+ 'embryo_cc_sc3.c',
+ 'embryo_cc_sc4.c',
+ 'embryo_cc_sc5.c',
+ 'embryo_cc_sc6.c',
+ 'embryo_cc_sc7.c',
+ 'embryo_cc_scexpand.c',
+ 'embryo_cc_sclist.c',
+ 'embryo_cc_scvars.c',
+ 'embryo_cc_prefix.c',
+ 'embryo_cc_prefix.h'
+]
+
+embryo_cc = executable('embryo_cc',
+ embryo_cc_src,
+ dependencies: [embryo, m, buildsystem],
+ install: true,
+ c_args : package_c_args,
+)
diff --git a/src/bin/eolian/meson.build b/src/bin/eolian/meson.build
new file mode 100644
index 0000000000..2104676f3e
--- /dev/null
+++ b/src/bin/eolian/meson.build
@@ -0,0 +1,19 @@
+eolian_gen_src = [
+ 'main.c',
+ 'main.h',
+ 'types.c',
+ 'types.h',
+ 'headers.c',
+ 'headers.h',
+ 'sources.c',
+ 'sources.h',
+ 'docs.c',
+ 'docs.h'
+]
+
+eolian_gen = executable('eolian_gen',
+ eolian_gen_src,
+ dependencies: eolian,
+ install: true,
+ c_args : package_c_args,
+)
diff --git a/src/bin/ethumb/meson.build b/src/bin/ethumb/meson.build
new file mode 100644
index 0000000000..5e89aa3e9d
--- /dev/null
+++ b/src/bin/ethumb/meson.build
@@ -0,0 +1,6 @@
+ethumb_bin = executable('ethumb',
+ 'ethumb.c',
+ dependencies: [ecore, ethumb],
+ install: true,
+ c_args : package_c_args,
+)
diff --git a/src/bin/ethumb_client/meson.build b/src/bin/ethumb_client/meson.build
new file mode 100644
index 0000000000..243e5699af
--- /dev/null
+++ b/src/bin/ethumb_client/meson.build
@@ -0,0 +1,24 @@
+ethumbd = executable('ethumbd',
+ 'ethumbd.c',
+ install: true,
+ dependencies : [ecore, ethumb, ethumb_client, ecore, eldbus],
+ include_directories : config_dir,
+ c_args : package_c_args,
+)
+
+ethumbd_client = executable('ethumbd_client',
+ 'ethumbd_client.c',
+ install: true,
+ dependencies : [ecore, ethumb, ethumb_client, ecore],
+ include_directories : config_dir,
+ c_args : package_c_args,
+)
+
+ethumbd_slave = executable('ethumbd_slave',
+ 'ethumbd_slave.c',
+ install: true,
+ install_dir : join_paths(dir_lib, 'ethumb_client', 'utils', version_name),
+ dependencies : [ecore, ethumb, ethumb_client, ecore],
+ include_directories : config_dir,
+ c_args : package_c_args,
+)