1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
eo_deps = []
eo_pub_deps = [eina]
pub_eo_files = [
'efl_object.eo',
'efl_class.eo',
'efl_object_override.eo'
]
eo_src = [
'eo.c',
'eo_ptr_indirection.c',
'eo_ptr_indirection.h',
'eo_base_class.c',
'eo_class_class.c',
'eo_add_fallback.c',
'eo_add_fallback.h',
'eo_private.h',
'eo_internal.h'
]
pub_eo_types_files = [
'eina_types.eot'
]
pub_eo_file_target = []
priv_eo_file_target = []
foreach eo_file : pub_eo_types_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
eo_header = ['Eo.h']
foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
eolian_include_directories += ['-I', meson.current_source_dir()]
eo_lib = library('eo',
eo_src, pub_eo_file_target,
c_args : package_c_args,
dependencies: [eina, valgrind, dl, execinfo],
install: true,
version : meson.project_version()
)
eo_lib_dbg = library('eo_dbg',
eo_src, pub_eo_file_target,
c_args : package_c_args + [ '-DEO_DEBUG' ],
dependencies: [eina, valgrind, dl, execinfo],
install: true,
version : meson.project_version()
)
eo = declare_dependency(
include_directories: [include_directories('.')],
link_with: eo_lib,
sources : pub_eo_file_target + priv_eo_file_target,
dependencies: eo_deps + eo_pub_deps,
)
eo_dbg = declare_dependency(
include_directories: [include_directories('.')],
link_with: eo_lib_dbg,
sources : pub_eo_file_target + priv_eo_file_target,
dependencies: eo_deps + eo_pub_deps,
)
if get_option('install-eo-files')
install_data(pub_eo_files + pub_eo_types_files,
install_dir: join_paths(eolian_include_dir, package_version_name)
)
endif
install_headers(eo_header,
install_dir : dir_package_include,
)
|