efl

Форк
0
/
meson.build 
125 строк · 3.5 Кб
1
eldbus_deps = [ecore]
2
eldbus_pub_deps = [eina, eo, efl]
3
eldbus_ext_deps = []
4

5
pub_eo_files = [
6
  'eldbus_model_connection.eo',
7
  'eldbus_model_object.eo',
8
  'eldbus_model_proxy.eo',
9
  'eldbus_model_method.eo',
10
  'eldbus_model_arguments.eo',
11
  'eldbus_model_signal.eo',
12
  'eldbus_model.eo'
13
]
14

15
foreach eo_file : pub_eo_files
16
  pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
17
    input : eo_file,
18
    output : [eo_file + '.h'],
19
    depfile : eo_file + '.d',
20
    install : true,
21
    install_dir : dir_package_include,
22
    command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
23
                           '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
24
                           '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
25
                           '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
26
                           '-gchd', '@INPUT@'])
27
endforeach
28

29

30
pub_eo_types_files = [
31
  'eldbus_types.eot'
32
]
33

34
foreach eo_file : pub_eo_types_files
35
  pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
36
    input : eo_file,
37
    output : [eo_file + '.h'],
38
    depfile : eo_file + '.d',
39
    install : true,
40
    install_dir : dir_package_include,
41
    command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
42
                           '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
43
                           '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
44
                           '-ghd', '@INPUT@'])
45
endforeach
46

47
eolian_include_directories += ['-I', meson.current_source_dir()]
48

49
eldbus_header_src = [
50
  'Eldbus.h',
51
  'eldbus_connection.h',
52
  'eldbus_freedesktop.h',
53
  'eldbus_message.h',
54
  'eldbus_object.h',
55
  'eldbus_pending.h',
56
  'eldbus_proxy.h',
57
  'eldbus_service.h',
58
  'eldbus_signal_handler.h',
59
  'eldbus_message_helper.h',
60
  'eldbus_introspection.h',
61
  'Eldbus_Model.h',
62
  'eldbus_message_eina_value.h'
63
]
64

65
eldbus_src = files([
66
  'eldbus_private.h',
67
  'eldbus_private_types.h',
68
  'eldbus_model_private.h',
69
  'eldbus_model_proxy_private.h',
70
  'eldbus_model_object_private.h',
71
  'eldbus_model_arguments_private.h',
72
  'eldbus_model_connection_private.h',
73
  'eldbus_model_signal_private.h',
74
  'eldbus_model_method_private.h',
75
  'eldbus_proxy.c',
76
  'eldbus_core.c',
77
  'eldbus_message.c',
78
  'eldbus_object.c',
79
  'eldbus_pending.c',
80
  'eldbus_freedesktop.c',
81
  'eldbus_service.c',
82
  'eldbus_signal_handler.c',
83
  'eldbus_message_helper.c',
84
  'eldbus_message_to_eina_value.c',
85
  'eldbus_message_from_eina_value.c',
86
  'eldbus_model.c',
87
  'eldbus_model_connection.c',
88
  'eldbus_model_object.c',
89
  'eldbus_model_proxy.c',
90
  'eldbus_model_method.c',
91
  'eldbus_model_arguments.c',
92
  'eldbus_model_signal.c',
93
  'eldbus_introspection.c'
94
])
95

96
eldbus_ext_deps += dependency('dbus-1')
97

98
eldbus_lib = library('eldbus',
99
    eldbus_src, pub_eo_file_target,
100
    c_args : package_c_args,
101
    dependencies: eldbus_pub_deps + eldbus_deps + eldbus_ext_deps,
102
    include_directories : config_dir,
103
    install: true,
104
    version : meson.project_version()
105
)
106

107
eldbus = declare_dependency(
108
  include_directories: [include_directories('.')],
109
  link_with: eldbus_lib,
110
  sources : pub_eo_file_target + priv_eo_file_target,
111
  dependencies: eldbus_pub_deps,
112
)
113

114
#
115
# Only enable that again when the namespace problems are fixed. ref T8648
116
#
117
#if get_option('install-eo-files')
118
#  install_data(pub_eo_files + pub_eo_types_files,
119
#    install_dir: join_paths(eolian_include_dir, package_version_name)
120
#  )
121
#endif
122

123
install_headers(eldbus_header_src,
124
  install_dir : dir_package_include,
125
)
126

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

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

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

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