meson: add the elementary examples to the build
authorMarcel Hollerbach <mail@marcel-hollerbach.de>
Sun, 17 Feb 2019 18:11:53 +0000 (19:11 +0100)
committerWonki Kim <wonki_.kim@samsung.com>
Fri, 8 Mar 2019 11:49:34 +0000 (20:49 +0900)
data/elementary/themes/meson.build
meson.build
src/bin/elementary/meson.build
src/examples/elementary/meson.build [new file with mode: 0644]
src/examples/elementary/performance/meson.build [new file with mode: 0644]
src/examples/elementary/sphere_hunter/meson.build [new file with mode: 0644]

index dcb5857..0096aa2 100644 (file)
@@ -37,3 +37,4 @@ install_subdir('fdo',
     join_paths('actions', '128-svg'),
   ]
 )
+elementary_img_data = join_paths(meson.current_source_dir())
index c011b2c..1bb4536 100644 (file)
@@ -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'], []],
index 030c050..c4944a1 100644 (file)
@@ -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 (file)
index 0000000..f431c43
--- /dev/null
@@ -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 (file)
index 0000000..35fb38c
--- /dev/null
@@ -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 (file)
index 0000000..31b0cbb
--- /dev/null
@@ -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