enlightenment-module-places/meson.build

87 lines
2.1 KiB
Meson

#### Project ####
project('places', 'c',
version: '0.2.0',
license: 'GPL v3',
meson_version: '>= 0.47.0')
gettext_domain = 'e-module-' + meson.project_name()
#### Enlightenemnt ####
dep_e = dependency('enlightenment', version: '>= 0.23.99')
e_modules_dir = dep_e.get_pkgconfig_variable('modules')
e_release = dep_e.get_pkgconfig_variable('release')
e_module_arch = dep_e.get_pkgconfig_variable('module_arch')
#### Install dirs ####
mod_install_dir = join_paths(e_modules_dir, meson.project_name())
lib_install_dir = join_paths(mod_install_dir, e_module_arch)
#### config.h ####
config_h = configuration_data()
config_h.set_quoted('PACKAGE', meson.project_name())
config_h.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
config_h.set_quoted('LOCALEDOMAIN', gettext_domain)
config_dir = include_directories('.')
#### Udisks1 support ####
if get_option('udisks') == true
dependency('udisks', required: true)
config_h.set('PLACES_HAVE_UDISKS', 1)
endif
#### fstab/mtab/mount support ####
if get_option('mount') == true
# TODO here check if /etc/fstab and /proc/mounts exists
config_h.set('PLACES_HAVE_MOUNT', 1)
endif
#### Experimental eeze support ####
if get_option('eeze') == true
dependency('eeze', required: true)
config_h.set('PLACES_HAVE_EEZE', 1)
endif
#### i18n ####
dep_intl = []
if get_option('nls')
config_h.set('HAVE_GETTEXT', '1')
cc = meson.get_compiler('c')
dep_intl = cc.find_library('intl', required : false)
subdir('po')
endif
#### Edje cc ####
edje_cc = find_program('edje_cc')
#### module sources ####
subdir('src')
#### write config file ####
configure_file(output: 'places_config.h', configuration: config_h)
#### Data files ####
install_data('module.desktop', install_dir: mod_install_dir)
cmd = [ edje_cc,
'-id', join_paths(meson.source_root(), 'images'),
'@INPUT@', '@OUTPUT@']
custom_target('e-module-places.edj',
input : 'e-module-places.edc',
output : 'e-module-places.edj',
command : cmd,
install_dir: mod_install_dir,
install : true
)