efl

Форк
0
/
meson.build 
173 строки · 4.7 Кб
1
edje_deps = [
2
  eina, eo, efl, m,
3
  eet, evas, ecore_evas,
4
  ecore_file, ecore_input,
5
  ecore_imf, ecore_imf_evas,
6
  embryo, efreet, eio, intl,
7
  buildsystem
8
]
9

10
edje_pub_deps = [evas, eo, efl]
11
edje_ext_deps = [m, lua, buildsystem_simple]
12

13
if (get_option('physics'))
14
  edje_deps += ephysics
15
  edje_pub_deps += ephysics
16
endif
17

18
config_h.set('EDJE_CALC_CACHE', '1')
19

20
if get_option('audio') and get_option('edje-sound-and-video')
21
  config_h.set('ENABLE_MULTISENSE', '1')
22
  edje_deps += ecore_audio
23
endif
24

25
pub_legacy_eo_files = [
26
  'efl_layout_calc.eo',
27
  'efl_layout_signal.eo',
28
  'efl_layout_group.eo',
29
  'efl_canvas_layout.eo',
30
  'efl_canvas_layout_part.eo',
31
  'efl_canvas_layout_part_box.eo',
32
  'efl_canvas_layout_part_external.eo',
33
  'efl_canvas_layout_part_invalid.eo',
34
  'efl_canvas_layout_part_swallow.eo',
35
  'efl_canvas_layout_part_table.eo',
36
  'efl_canvas_layout_part_text.eo',
37
  'efl_canvas_layout_part_type_provider.eo',
38
]
39

40
pub_eo_files = pub_legacy_eo_files
41
pub_eo_file_target = []
42

43
foreach eo_file : pub_legacy_eo_files
44
  pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
45
    input : eo_file,
46
    output : [eo_file + '.h'],
47
    depfile : eo_file + '.d',
48
    install : true,
49
    install_dir : dir_package_include,
50
    command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
51
                           '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
52
                           '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
53
                           '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
54
                           '-gchd', '@INPUT@'])
55
endforeach
56

57
pub_eo_types_files = [
58
  'efl_canvas_layout_types.eot'
59
]
60

61
foreach eo_file : pub_eo_types_files
62
  pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
63
    input : eo_file,
64
    output : [eo_file + '.h'],
65
    depfile : eo_file + '.d',
66
    install : true,
67
    install_dir : dir_package_include,
68
    command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
69
                           '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
70
                           '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
71
                           '-ghd', '@INPUT@'])
72
endforeach
73

74
priv_eo_files = [
75
  'edje_global.eo',
76
]
77

78
priv_eo_file_target = []
79
foreach eo_file : priv_eo_files
80
  priv_eo_file_target += custom_target('eolian_gen_' + eo_file,
81
    input : eo_file,
82
    output : [eo_file + '.h'],
83
    depfile : eo_file + '.d',
84
    command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
85
                           '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
86
                           '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
87
                           '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
88
                           '-gchd', '@INPUT@'])
89
endforeach
90

91

92
eolian_include_directories += ['-I', meson.current_source_dir()]
93

94
edje_header_src = [
95
  'Edje.h',
96
  'Efl_Layout.h',
97
  'Edje_Common.h',
98
  'Edje_Eo.h',
99
  'Edje_Legacy.h',
100
  'Edje_Edit.h',
101
  'edje_edit_eo.h',
102
  'edje_edit_eo.legacy.h',
103
  'efl_layout_group_eo.legacy.h',
104
  'efl_canvas_layout_eo.legacy.h',
105
]
106

107
edje_src = files([
108
  'edje_private.h',
109
  'edje_convert.h',
110
  'edje_box_layout.c',
111
  'edje_cache.c',
112
  'edje_calc.c',
113
  'edje_callbacks.c',
114
  'edje_data.c',
115
  'edje_edit.c',
116
  'edje_embryo.c',
117
  'edje_entry.c',
118
  'edje_external.c',
119
  'edje_load.c',
120
  'edje_lua.c',
121
  'edje_lua2.c',
122
  'edje_lua_script_only.c',
123
  'edje_main.c',
124
  'edje_match.c',
125
  'edje_message_queue.c',
126
  'edje_misc.c',
127
  'edje_module.c',
128
  'edje_multisense.c',
129
  'edje_program.c',
130
  'edje_smart.c',
131
  'edje_text.c',
132
  'edje_textblock.c',
133
  'edje_textblock_styles.c',
134
  'edje_util.c',
135
  'edje_legacy.c',
136
  'edje_var.c',
137
  'edje_signal.c',
138
  'edje_part.c',
139
  'edje_part_helper.h',
140
  'edje_part_external.c',
141
  'edje_part_swallow.c',
142
  'edje_part_table.c',
143
  'edje_part_box.c',
144
  'edje_part_text.c',
145
  'edje_part_invalid.c'
146
])
147

148
edje_lib = library('edje',
149
    edje_src, pub_eo_file_target, priv_eo_file_target,
150
    dependencies: edje_pub_deps + edje_deps + edje_ext_deps,
151
    include_directories : config_dir + [include_directories('.')],
152
    install: true,
153
    c_args : [package_c_args],
154
    version : meson.project_version()
155
)
156

157
edje = declare_dependency(
158
  include_directories: [include_directories('.')],
159
  link_with: edje_lib,
160
  sources : pub_eo_file_target + priv_eo_file_target,
161
  dependencies: edje_pub_deps,
162
)
163

164

165
if get_option('install-eo-files')
166
  install_data(pub_eo_files + pub_eo_types_files,
167
    install_dir: join_paths(eolian_include_dir, package_version_name)
168
  )
169
endif
170

171
install_headers(edje_header_src,
172
  install_dir : dir_package_include,
173
)
174

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.