bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2c259edd9f6ed1d07e18eae0a2c6d0a8ce9bc6f3

commit 2c259edd9f6ed1d07e18eae0a2c6d0a8ce9bc6f3
Author: Marcel Hollerbach <[email protected]>
Date:   Sun Feb 17 19:11:53 2019 +0100

    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 ++++++++++++++++++++++
 src/examples/elementary/performance/meson.build   |  31 ++++
 src/examples/elementary/sphere_hunter/meson.build |  31 ++++
 6 files changed, 235 insertions(+), 1 deletion(-)

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 : '@[email protected]',
+    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 : '@[email protected]',
+    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 : '@[email protected]',
+    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

-- 


Reply via email to