From 2c259edd9f6ed1d07e18eae0a2c6d0a8ce9bc6f3 Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Sun, 17 Feb 2019 19:11:53 +0100 Subject: [PATCH] meson: add the elementary examples to the build --- data/elementary/themes/meson.build | 1 + meson.build | 2 +- src/bin/elementary/meson.build | 7 + src/examples/elementary/meson.build | 164 ++++++++++++++++++ .../elementary/performance/meson.build | 31 ++++ .../elementary/sphere_hunter/meson.build | 31 ++++ 6 files changed, 235 insertions(+), 1 deletion(-) create mode 100644 src/examples/elementary/meson.build create mode 100644 src/examples/elementary/performance/meson.build create mode 100644 src/examples/elementary/sphere_hunter/meson.build diff --git a/data/elementary/themes/meson.build b/data/elementary/themes/meson.build index dcb58574dc..0096aa2630 100644 --- a/data/elementary/themes/meson.build +++ b/data/elementary/themes/meson.build @@ -37,3 +37,4 @@ install_subdir('fdo', join_paths('actions', '128-svg'), ] ) +elementary_img_data = join_paths(meson.current_source_dir()) diff --git a/meson.build b/meson.build index 401ba04f00..b10ca418eb 100644 --- a/meson.build +++ b/meson.build @@ -292,7 +292,7 @@ subprojects = [ ['ethumb' ,[] , true, true, true, false, false, false, ['eina', 'efl', 'eo'], []], ['ethumb_client' ,[] , false, true, true, false, false, true, ['eina', 'efl', 'eo', 'ethumb'], []], ['elocation' ,[] , false, true, false, false, false, false, ['ecore', 'eldbus'], []], -['elementary' ,[] , true, true, true, true, true, false, ['eina', 'efl', 'eo', 'eet', 'evas', 'ecore', 'ecore-evas', 'ecore-file', 'ecore-input', 'edje', 'ethumb-client', 'emotion', 'ecore-imf', 'ecore-con', 'eldbus', 'efreet', 'efreet-mime', 'efreet-trash', 'eio', 'elocation'], ['atspi']], +['elementary' ,[] , true, true, true, true, true, true, ['eina', 'efl', 'eo', 'eet', 'evas', 'ecore', 'ecore-evas', 'ecore-file', 'ecore-input', 'edje', 'ethumb-client', 'emotion', 'ecore-imf', 'ecore-con', 'eldbus', 'efreet', 'efreet-mime', 'efreet-trash', 'eio', 'elocation'], ['atspi']], ['efl_wl' ,['wl'] , false, true, true, false, false, false, ['evas', 'ecore'], []], ['elua' ,['elua'] , false, true, true, false, true, false, ['eina', 'luajit'], []], ['ecore_wayland' ,['wl-deprecated'] , false, true, false, false, false, false, ['eina'], []], diff --git a/src/bin/elementary/meson.build b/src/bin/elementary/meson.build index 030c050ec3..c4944a160c 100644 --- a/src/bin/elementary/meson.build +++ b/src/bin/elementary/meson.build @@ -214,6 +214,13 @@ elementary_codegen = executable('elementary_codegen', link_args: link_args ) +if meson.is_cross_build() + elementary_codegen_exe = [find_program('elementary_codegen', native: true)] +else + env = find_program('env', native: true) + elementary_codegen_exe = [env, 'EFL_RUN_IN_TREE=1', elementary_codegen.full_path()] +endif + elm_prefs_cc_src = [ 'elm_prefs_cc.h', 'elm_prefs_cc.c', diff --git a/src/examples/elementary/meson.build b/src/examples/elementary/meson.build new file mode 100644 index 0000000000..f431c43511 --- /dev/null +++ b/src/examples/elementary/meson.build @@ -0,0 +1,164 @@ +examples = [ + 'actionslider_example_01', + 'bg_example_01', + 'bg_example_02', + 'bg_example_03', + 'box_example_02', + 'bubble_example_01', + 'button_example_00', + 'button_example_01', + 'calendar_example_01', + 'calendar_example_02', + 'calendar_example_03', + 'calendar_example_04', + 'calendar_example_05', + 'calendar_example_06', + 'check_example_01', + 'clock_example', + 'colorselector_example_01', + 'conformant_example_01', + 'conformant_example_02', + 'combobox_example_01', + 'ctxpopup_example_01', + 'datetime_example', + 'dayselector_example', + 'diskselector_example_01', + 'diskselector_example_02', + 'entry_example', + 'fileselector_button_example', + 'fileselector_entry_example', + 'fileselector_example', + 'fileviewlist', + 'filemvc', + 'flip_example_01', + 'flipselector_example', + 'frame_example_01', + 'general_funcs_example', + 'gengrid_example', + 'genlist_example_01', + 'genlist_example_02', + 'genlist_example_03', + 'genlist_example_04', + 'genlist_example_05', + 'glview_example_01', + 'hover_example_01', + 'hoversel_example_01', + 'icon_example_01', + 'image_example_01', + 'index_example_01', + 'index_example_02', + 'inwin_example', + 'label_example_01', + 'label_example_02', + 'label_example_03', + 'layout_example_01', + 'layout_example_02', + 'layout_example_03', + 'layout_property_bind', + 'list_example_01', + 'list_example_02', + 'list_example_03', + 'location_example_01', + 'map_example_01', + 'map_example_02', + 'map_example_03', + 'mapbuf_example', + 'menu_example_01', + 'naviframe_example', + 'notify_example_01', + 'panes_example', + 'panel_example_01', + 'photocam_example_01', + 'prefs_example_01', + 'prefs_example_02', + 'prefs_example_03', + 'popup_example_01', + 'popup_example_02', + 'popup_example_03', + 'progressbar_example', + 'radio_example_01', + 'radio_example_02', + 'segment_control_example', + 'separator_example_01', + 'slider_example', + 'slideshow_example', + 'spinner_example', + 'scroller_example_01', + 'table_example_01', + 'table_example_02', + 'theme_example_01', + 'theme_example_02', + 'thumb_example_01', + 'toolbar_example_01', + 'toolbar_example_02', + 'toolbar_example_03', + 'transit_example_01', + 'transit_example_02', + 'transit_example_03', + 'transit_example_04', + 'web_example_01', + 'web_example_02', + 'win_example', + 'track_example_01', + 'evas3d_object_on_button_example', + 'evas3d_scene_on_button_example', + 'evas3d_map_example', + 'efl_thread_1', + 'efl_thread_2', + 'efl_thread_3', + 'efl_thread_4', + 'efl_thread_5', + 'efl_thread_6', + 'efl_ui_list_example_1', + 'efl_ui_list_view_example_1', + 'efl_ui_list_view_example_2', + 'efl_ui_list_view_example_3', + 'efl_canvas_layout_text', + 'efl_ui_theme_example_01', + 'efl_ui_theme_example_02' +] + +foreach example : examples + executable(example, example + '.c', dependencies: [elementary, ecore, eio]) +endforeach + +edc_files = [ + 'codegen_example.edc', + 'efl_ui_theme_example.edc' +] + +themes = [] + +foreach edc_file : edc_files + themes += custom_target('edje_cc_' + edc_file, + depends : edje_cc, + input : edc_file, + output : '@BASENAME@.edj', + command : edje_cc_exe + ['-beta', + '-id', meson.current_source_dir(), + '-fd', meson.current_source_dir(), + '-sd', meson.current_source_dir(), + '-vd', meson.current_source_dir(), + '-dd', meson.current_source_dir(), + '-md', meson.current_source_dir(), + '-td', meson.current_source_dir(), + '@INPUT@', '@OUTPUT@'], + ) +endforeach + + +codegen = custom_target('elementary_codegen_examples', + depends : themes, + input : themes[0], + output : ['codegen_example_generated.c', 'codegen_example_generated.h'], + command : elementary_codegen_exe + ['-p=codegen_example', '@INPUT@', 'elm/example/mylayout/default', '@OUTPUT0@', '@OUTPUT1@'], +) + +executable('codegen_example', + ['codegen_example.c'] + [codegen], + dependencies: [elementary], + include_directories : include_directories('..') +) + +subdir('sphere_hunter') +subdir('performance') diff --git a/src/examples/elementary/performance/meson.build b/src/examples/elementary/performance/meson.build new file mode 100644 index 0000000000..35fb38c9eb --- /dev/null +++ b/src/examples/elementary/performance/meson.build @@ -0,0 +1,31 @@ +examples = [ + 'performance.c', + 'camera_light.c', + 'graphical.c', +] + +edc_files = [ + 'layout.edc' +] + +themes = [] + +foreach edc_file : edc_files + themes += custom_target('edje_cc_' + edc_file, + depends : edje_cc, + input : edc_file, + output : '@BASENAME@.edj', + command : edje_cc_exe + ['-beta', + '-id', meson.current_source_dir(), + '-fd', meson.current_source_dir(), + '-sd', meson.current_source_dir(), + '-vd', meson.current_source_dir(), + '-dd', meson.current_source_dir(), + '-md', meson.current_source_dir(), + '-td', meson.current_source_dir(), + '@INPUT@', '@OUTPUT@'], + ) +endforeach + +executable(example, [examples] + themes, dependencies: [elementary, ecore]) + diff --git a/src/examples/elementary/sphere_hunter/meson.build b/src/examples/elementary/sphere_hunter/meson.build new file mode 100644 index 0000000000..31b0cbb9a7 --- /dev/null +++ b/src/examples/elementary/sphere_hunter/meson.build @@ -0,0 +1,31 @@ +examples = [ + 'evas_3d_sphere_hunter' +] + +edc_files = [ + 'sphere_hunter.edc' +] + +themes = [] + +foreach edc_file : edc_files + themes += custom_target('edje_cc_' + edc_file, + depends : edje_cc, + input : edc_file, + output : '@BASENAME@.edj', + command : edje_cc_exe + ['-beta', + '-id', elementary_img_data, + '-id', meson.current_source_dir(), + '-fd', meson.current_source_dir(), + '-sd', meson.current_source_dir(), + '-vd', meson.current_source_dir(), + '-dd', meson.current_source_dir(), + '-md', meson.current_source_dir(), + '-td', meson.current_source_dir(), + '@INPUT@', '@OUTPUT@'], + ) +endforeach + +foreach example : examples + executable(example, [example + '.c'] + themes, dependencies: [elementary, ecore]) +endforeach