summaryrefslogtreecommitdiff
path: root/src/lib/emotion
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/lib/emotion
parent70ecf1056bb4be5a68b63044f938ccc2fe0a58c0 (diff)
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 D7011
Diffstat (limited to 'src/lib/emotion')
-rw-r--r--src/lib/emotion/meson.build70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/lib/emotion/meson.build b/src/lib/emotion/meson.build
new file mode 100644
index 0000000000..56fda43cb9
--- /dev/null
+++ b/src/lib/emotion/meson.build
@@ -0,0 +1,70 @@
1pub_legacy_eo_files = [
2 'efl_canvas_video.eo'
3]
4
5pub_eo_file_target = []
6priv_eo_file_target = []
7
8foreach eo_file : pub_legacy_eo_files
9 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
10 input : eo_file,
11 output : [eo_file + '.h', eo_file + '.legacy.h',],
12 install : true,
13 install_dir : dir_package_include,
14 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
15 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
16 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
17 '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
18 '-gchl', '@INPUT@'])
19
20endforeach
21
22eolian_include_directories += ['-I', meson.current_source_dir()]
23
24emotion_header_src = [
25 'Emotion.h',
26 'Emotion_Legacy.h',
27 'Emotion_Eo.h'
28]
29
30emotion_src = [
31 'emotion_modules.h',
32 'emotion_private.h',
33 'emotion_smart.c',
34 'emotion_webcam.c',
35 'emotion_modules.c',
36 'emotion_main.c'
37]
38
39emotion_deps = [ecore, eet, evas, eio, emile]
40emotion_pub_deps = [eina, eo, efl]
41
42if get_option('eeze') == true
43 emotion_deps += [eeze]
44endif
45
46emotion_lib = library('emotion',
47 emotion_src, pub_eo_file_target, priv_eo_file_target,
48 dependencies: emotion_deps + emotion_pub_deps,
49 include_directories : config_dir + [include_directories('.')],
50 install: true,
51 c_args : package_c_args,
52 version : meson.project_version()
53)
54
55emotion_package_c_args = package_c_args
56
57emotion = declare_dependency(
58 include_directories: [include_directories('.')],
59 link_with: emotion_lib,
60 sources : pub_eo_file_target + priv_eo_file_target,
61 dependencies: emotion_pub_deps,
62)
63
64install_data(pub_legacy_eo_files,
65 install_dir: join_paths(eolian_include_dir, package_version_name)
66)
67
68install_headers(emotion_header_src,
69 install_dir : dir_package_include,
70)