eo_deps = [] eo_pub_deps = [eina] eo_ext_deps = [valgrind, dl, execinfo] pub_eo_files = [ 'efl_object.eo', 'efl_class.eo', 'efl_object_override.eo' ] eo_src = files([ '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'), '-e', 'EO_API', '-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'), '-e', 'EO_API', '-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, '-DEO_BUILD'], dependencies: [eo_deps, eo_pub_deps, eo_ext_deps], 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', '-DEO_BUILD'], dependencies: [eo_deps, eo_pub_deps, eo_ext_deps], 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, )