efl

Форк
0
/
meson.build 
205 строк · 9.8 Кб
1
doc_target = []
2

3
text_filter_properties= [
4
  ['Blend Example', 'Sans', '24', 'blend'],
5
  ['Blur', 'Sans:style=bold', '32', 'blur'],
6
  ['Bump', 'Sans:style=bold', '64', 'bump'],
7
  ['Curve', 'Sans:style=bold', '64', 'curve'],
8
  ['Grow - Contour', 'Sans:style=bold', '32', 'grow'],
9
  ['Mask', 'Sans:style=bold', '64', 'mask'],
10
  ['Transform - Mirror effect', 'Sans', '50', 'transform'],
11
]
12
widget_previews = [
13
  ['actionslider', 'preview-00.png', 'widget_preview_actionslider', '120', '30'],
14
  ['bg', 'preview-00.png', 'widget_preview_bg', '50', '50'],
15
  ['box', 'preview-00.png', 'widget_preview_box', '200', '160'],
16
  ['bubble', 'preview-00.png', 'widget_preview_bubble1', '160', '50'],
17
  ['bubble', 'preview-01.png', 'widget_preview_bubble2', '160', '50'],
18
  ['bubble', 'preview-02.png', 'widget_preview_bubble3', '160', '50'],
19
  ['button', 'preview-00.png', 'widget_preview_button1', '160', '50'],
20
  ['button', 'preview-01.png', 'widget_preview_button2', '160', '50'],
21
  ['button', 'preview-02.png', 'widget_preview_button3', '160', '50'],
22
  ['calendar', 'preview-00.png', 'widget_preview_calendar', '300', '300'],
23
  ['check', 'preview-00.png', 'widget_preview_check1', '160', '50'],
24
  ['check', 'preview-01.png', 'widget_preview_check2', '160', '50'],
25
  ['check', 'preview-02.png', 'widget_preview_check3', '160', '50'],
26
  ['clock', 'preview-00.png', 'widget_preview_clock', '200', '100'],
27
  ['colorselector', 'preview-00.png', 'widget_preview_colorselector', '320', '300'],
28
  ['conformant', 'preview-00.png', 'widget_preview_conformant', '200', '400'],
29
  ['combobox', 'preview-00.png', 'widget_preview_combobox', '300', '300'],
30
  ['ctxpopup', 'preview-00.png', 'widget_preview_ctxpopup', '200', '130'],
31
  ['datetime', 'preview-00.png', 'widget_preview_datetime1', '360', '60'],
32
  ['datetime', 'preview-01.png', 'widget_preview_datetime2', '200', '60'],
33
  ['datetime', 'preview-02.png', 'widget_preview_datetime3', '200', '60'],
34
  ['dayselector', 'preview-00.png', 'widget_preview_dayselector', '350', '50'],
35
  ['diskselector', 'preview-00.png', 'widget_preview_diskselector', '120', '50'],
36
  ['entry', 'preview-00.png', 'widget_preview_entry1', '160', '50'],
37
  ['entry', 'preview-01.png', 'widget_preview_entry2', '160', '50'],
38
  ['entry', 'preview-02.png', 'widget_preview_entry3', '160', '50'],
39
  ['entry', 'preview-03.png', 'widget_preview_entry4', '160', '50'],
40
  ['fileselector', 'preview-00.png', 'widget_preview_fileselector', '300', '300'],
41
  ['fileselector_button', 'preview-00.png', 'widget_preview_fileselector_button1', '200', '50'],
42
  ['fileselector_button', 'preview-01.png', 'widget_preview_fileselector_button2', '200', '50'],
43
  ['fileselector_button', 'preview-02.png', 'widget_preview_fileselector_button3', '160', '50'],
44
  ['fileselector_entry', 'preview-00.png', 'widget_preview_fileselector_entry', '70', '50'],
45
  ['flip', 'preview-00.png', 'widget_preview_flip', '100', '100'],
46
  ['flipselector', 'preview-00.png', 'widget_preview_flipselector', '100', '60'],
47
  ['frame', 'preview-00.png', 'widget_preview_frame', '100', '50'],
48
  ['gengrid', 'preview-00.png', 'widget_preview_gengrid', '200', '160'],
49
  ['genlist', 'preview-00.png', 'widget_preview_genlist1', '200', '200'],
50
  ['genlist', 'preview-01.png', 'widget_preview_genlist2', '200', '160'],
51
  ['genlist', 'preview-02.png', 'widget_preview_genlist3', '200', '160'],
52
  ['genlist', 'preview-03.png', 'widget_preview_genlist4', '200', '160'],
53
  ['genlist', 'preview-04.png', 'widget_preview_genlist5', '200', '160'],
54
  ['hover', 'preview-00.png', 'widget_preview_hover', '90', '170'],
55
  ['hoversel', 'preview-00.png', 'widget_preview_hoversel', '90', '170'],
56
  ['icon', 'preview-00.png', 'widget_preview_icon', '50', '50'],
57
  ['image', 'preview-00.png', 'widget_preview_image', '50', '50'],
58
  ['index', 'preview-00.png', 'widget_preview_index', '200', '160'],
59
  ['inwin', 'preview-00.png', 'widget_preview_inwin1', '200', '160'],
60
  ['inwin', 'preview-01.png', 'widget_preview_inwin2', '200', '160'],
61
  ['inwin', 'preview-02.png', 'widget_preview_inwin3', '200', '160'],
62
  ['label', 'preview-00.png', 'widget_preview_label', '70', '30'],
63
  ['layout', 'preview-00.png', 'widget_preview_layout', '200', '160'],
64
  ['list', 'preview-00.png', 'widget_preview_list', '200', '200'],
65
  ['map', 'preview-00.png', 'widget_preview_map', '256', '256'],
66
  ['mapbuf', 'preview-00.png', 'widget_preview_mapbuf', '200', '200'],
67
  ['menu', 'preview-00.png', 'widget_preview_menu', '100', '100'],
68
  ['notify', 'preview-00.png', 'widget_preview_notify', '60', '30'],
69
  ['panel', 'preview-00.png', 'widget_preview_panel', '150', '50'],
70
  ['panes', 'preview-00.png', 'widget_preview_panes', '200', '100'],
71
  ['photocam', 'preview-00.png', 'widget_preview_photocam', '243', '162'],
72
  ['popup', 'preview-00.png', 'widget_preview_popup', '480', '400'],
73
  ['prefs', 'preview-00.png', 'widget_preview_prefs', '200', '160'],
74
  ['prefs', 'preview-00.png', 'widget_preview_prefs', '280', '250'],
75
  ['progressbar', 'preview-00.png', 'widget_preview_progressbar', '150', '50'],
76
  ['radio', 'preview-00.png', 'widget_preview_radio', '60', '20'],
77
  ['scroller', 'preview-00.png', 'widget_preview_scroller', '100', '30'],
78
  ['segment_control', 'preview-00.png', 'widget_preview_segment_control', '240', '120'],
79
  ['separator', 'preview-00.png', 'widget_preview_separator', '10', '80'],
80
  ['slider', 'preview-00.png', 'widget_preview_slider', '200', '100'],
81
  ['slideshow', 'preview-00.png', 'widget_preview_slideshow', '50', '50'],
82
  ['spinner', 'preview-00.png', 'widget_preview_spinner', '160', '30'],
83
  ['table', 'preview-00.png', 'widget_preview_table', '100', '100'],
84
  ['thumb', 'preview-00.png', 'widget_preview_thumb', '100', '100'],
85
  ['toolbar', 'preview-00.png', 'widget_preview_toolbar', '300', '100'],
86
  ['web', 'preview-00.png', 'widget_preview_web', '300', '300'],
87
  ['win', 'preview-00.png', 'widget_preview_win', '200', '200'],
88
]
89

90
preview_text_filter = executable('preview_text_filter',
91
  join_paths('previews', 'preview_text_filter.c'),
92
  include_directories : config_dir,
93
  dependencies: [ecore_evas],
94
  build_by_default: false,
95
)
96

97
widget_preview_eps = custom_target('widget_preview_prefs_epc',
98
  input: join_paths('widgets', 'widget_preview_prefs.epc'),
99
  output: 'widget_preview_prefs.epb',
100
  command: elm_prefs_cc_exe + ['@INPUT@', '@OUTPUT@'],
101
  build_by_default: false,
102
  depends: [elm_prefs_cc]
103
)
104

105
shot_sh = find_program('shot.sh')
106
tar = find_program('tar')
107
foreach text_filter_property : text_filter_properties
108
  text = text_filter_property[0]
109
  font = text_filter_property[1]
110
  size = text_filter_property[2]
111
  name = text_filter_property[3]
112
  filter_code = run_command('cat', join_paths(meson.source_root(), 'src', 'examples', 'evas', 'filters', 'filter_'+name+'.lua'))
113

114
  doc_target += custom_target('preview_text_filters_'+name,
115
                  command: [
116
                    env, 'EFL_RUN_IN_TREE=1',
117
                    'EFL_EVAS_FILTER_LUA_PREFIX=' + join_paths(meson.source_root(), 'src', 'lib', 'evas'),
118
                    preview_text_filter.full_path(), text, filter_code.stdout(), '@OUTPUT@', font, size
119
                  ],
120
                  depends: preview_text_filter,
121
                  output:  'filter_'+name+'.png',
122
                  build_by_default: false
123
                )
124
endforeach
125

126
foreach widget_preview : widget_previews
127
  binary = widget_preview[2]
128

129
  if get_variable(binary, preview_text_filter) == preview_text_filter
130
    tmp = executable(binary,
131
      join_paths('widgets', binary+'.c'),
132
      dependencies: elementary,
133
      build_by_default: false,
134
      c_args : [
135
        '-DPACKAGE_DATA_DIR="'+join_paths(meson.source_root(), 'data', 'elementary')+'"',
136
        '-DTESTS_BUILD_DIR="'+meson.current_build_dir()+'"',
137
        '-DTESTS_SRC_DIR="'+meson.current_source_dir()+'"',
138
        '-DDOCW_DIR="'+meson.current_build_dir()+'"']
139
    )
140
    set_variable(binary, tmp)
141
  endif
142
endforeach
143

144
#convert = find_program('convert')
145

146
foreach widget_preview : widget_previews
147
  directory = widget_preview[0]
148
  ss = widget_preview[1]
149
  binary = widget_preview[2]
150
  x = widget_preview[3]
151
  y = widget_preview[4]
152

153
  widget_executable = get_variable(binary)
154

155
  screen_shot_dir =  join_paths(meson.build_root(), 'html', 'img', 'widget', directory)
156

157
  create_preview = custom_target('widget_preview_'+('_'.join([directory, ss, x, y])),
158
    command: [shot_sh, screen_shot_dir, ss, widget_executable.full_path(), x, y],
159
    output: '-'.join([directory, ss, x, y]),
160
    depends: [widget_executable, widget_preview_eps],
161
    build_by_default: false,
162
  )
163
  convert_preview = []
164
  #
165
  # This does not work see https://github.com/the-paperless-project/paperless/issues/439 for more details
166
  # for now this means that no images will be in the latex documentation
167
  #
168
  #convert_preview = custom_target('convert_preview_'+('_'.join([directory, ss, x, y])),
169
  #  command: [convert, join_paths(screen_shot_dir, ss), join_paths(screen_shot_dir, ss.split('.')[0]+'.eps')],
170
  #  output: '-'.join([directory, ss, x, y])+'.eps',
171
  #  depends: [create_preview],
172
  #  build_by_default: false,
173
  #)
174
  doc_target += [create_preview, convert_preview]
175
endforeach
176

177
doc_target += custom_target('doxygen',
178
  command: [doxygen, join_paths(meson.current_build_dir(), 'Doxyfile')],
179
  output: ['empty'],
180
  build_by_default: false
181
)
182

183
compress_target = custom_target('package_doc_tar',
184
  command: [tar, '-C', meson.build_root(), '--xz',  '-cf', 'efl-'+meson.project_version()+'-doc.tar.xz', 'html', 'man'],
185
  output: 'efl-'+meson.project_version()+'-doc.tar.xz',
186
  depends: [doc_target],
187
  build_by_default: false
188
)
189

190
run_target('doc',
191
  command: ['echo', 'Documentation built successfully'],
192
  depends: compress_target,
193
)
194

195
doxyfile_conf = configuration_data()
196
doxyfile_conf.merge_from(config_h)
197
doxyfile_conf.set('srcdir', meson.current_source_dir())
198
doxyfile_conf.set('top_builddir', meson.build_root())
199
doxyfile_conf.set('top_srcdir', meson.source_root())
200

201
configure_file(
202
  input: 'Doxyfile.in',
203
  output: 'Doxyfile',
204
  configuration: doxyfile_conf,
205
)
206

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

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

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

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