2021-11-04 00:47:57 -07:00
|
|
|
project('enventor', 'c',
|
|
|
|
version : '1.0.99',
|
|
|
|
meson_version : '>= 0.53',
|
|
|
|
default_options : [
|
|
|
|
'warning_level=2',
|
|
|
|
'buildtype=debugoptimized',
|
|
|
|
'c_std=c99'
|
|
|
|
]
|
|
|
|
)
|
|
|
|
|
|
|
|
v_array = meson.project_version().split('.')
|
|
|
|
v_maj = v_array[0]
|
|
|
|
v_min = v_array[1]
|
|
|
|
v_mic = v_array[2]
|
|
|
|
|
|
|
|
# install paths
|
|
|
|
|
|
|
|
dir_prefix = get_option('prefix')
|
|
|
|
dir_include = join_paths(dir_prefix, get_option('includedir'))
|
|
|
|
dir_pkginclude = join_paths(dir_include, meson.project_name())
|
|
|
|
dir_bin = join_paths(dir_prefix, get_option('bindir'))
|
|
|
|
dir_lib = join_paths(dir_prefix, get_option('libdir'))
|
|
|
|
dir_data = join_paths(dir_prefix, get_option('datadir'))
|
|
|
|
dir_pkgdata = join_paths(dir_data, meson.project_name())
|
|
|
|
dir_locale = join_paths(dir_prefix, get_option('localedir'))
|
|
|
|
|
|
|
|
# binaries
|
|
|
|
|
|
|
|
cc = meson.get_compiler('c')
|
|
|
|
|
|
|
|
enventor_cflags = []
|
|
|
|
enventor_cflags_try = [
|
|
|
|
'-Wshadow',
|
|
|
|
'-Wstrict-prototypes',
|
|
|
|
'-Werror=missing-prototypes',
|
|
|
|
'-Werror=pointer-arith',
|
|
|
|
'-Wno-missing-field-initializers']
|
|
|
|
|
|
|
|
foreach cf: enventor_cflags_try
|
|
|
|
if cc.has_argument(cf) == true
|
|
|
|
enventor_cflags += cf
|
|
|
|
endif
|
|
|
|
endforeach
|
|
|
|
add_global_arguments(enventor_cflags, language: 'c')
|
|
|
|
|
|
|
|
have_visibility_hidden = cc.has_argument('-fvisibility=hidden')
|
|
|
|
if have_visibility_hidden
|
|
|
|
add_global_arguments('-fvisibility=hidden', language: 'c')
|
|
|
|
endif
|
|
|
|
|
|
|
|
pkgconfig = import('pkgconfig')
|
|
|
|
windows = import('windows')
|
|
|
|
|
|
|
|
eet = find_program('eet', native: true)
|
|
|
|
eet_exe = [ eet ]
|
|
|
|
|
|
|
|
edje_cc = find_program('edje_cc', native: true)
|
|
|
|
edje_cc_exe = [ edje_cc ]
|
|
|
|
|
|
|
|
# libraries
|
|
|
|
|
|
|
|
config_dir = [include_directories('.')]
|
|
|
|
|
|
|
|
efl_req = '>= 1.18.0'
|
|
|
|
enventor_deps = [
|
|
|
|
dependency('eina', version : efl_req),
|
|
|
|
dependency('eo', version : efl_req),
|
|
|
|
dependency('efl', version : efl_req),
|
|
|
|
dependency('eet', version : efl_req),
|
|
|
|
dependency('ecore', version : efl_req),
|
|
|
|
dependency('ecore-file', version : efl_req),
|
|
|
|
dependency('evas', version : efl_req),
|
|
|
|
dependency('eio', version : efl_req),
|
|
|
|
dependency('efreet', version : efl_req),
|
|
|
|
dependency('edje', version : efl_req),
|
|
|
|
dependency('elementary', version : efl_req)
|
|
|
|
]
|
|
|
|
|
|
|
|
requirement_enventor_pc = ' eina ' + efl_req + ' eo ' + efl_req + ' efl ' + efl_req + ' eet ' + efl_req + ' ecore ' + efl_req + ' ecore-file ' + efl_req + ' evas ' + efl_req + ' eio ' + efl_req + ' efreet ' + efl_req + ' edje ' + efl_req + ' elementary ' + efl_req
|
|
|
|
|
|
|
|
enventor_cargs = [
|
|
|
|
'-D_POSIX_C_SOURCE=200809L',
|
|
|
|
'-D_XOPEN_SOURCE=500' ]
|
|
|
|
|
|
|
|
have_nls = false
|
|
|
|
if get_option('nls') == true
|
|
|
|
intl_dep = cc.find_library('intl', required: false)
|
|
|
|
if intl_dep.found() == true and cc.has_header('libintl.h') == true
|
|
|
|
enventor_deps += cc.find_library('intl', required: true)
|
|
|
|
enventor_cargs += '-DENABLE_NLS'
|
|
|
|
have_nls = true
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
# configuration
|
|
|
|
|
|
|
|
config_h = configuration_data()
|
|
|
|
config_h.set_quoted('PACKAGE_NAME', meson.project_name())
|
|
|
|
config_h.set_quoted('PACKAGE_VERSION', meson.project_version())
|
|
|
|
config_h.set_quoted('PACKAGE_BIN_DIR', dir_bin)
|
|
|
|
config_h.set_quoted('PACKAGE_LIB_DIR', dir_lib)
|
|
|
|
config_h.set_quoted('PACKAGE_DATA_DIR', dir_pkgdata)
|
|
|
|
config_h.set_quoted('LOCALE_DIR', dir_locale)
|
|
|
|
config_h.set('EFL_BETA_API_SUPPORT', '1')
|
|
|
|
config_h.set('EFL_UI_FOCUS_OBJECT_PROTECTED', '1')
|
|
|
|
config_h.set('ENVENTOR_BETA_API_SUPPORT', '1')
|
|
|
|
|
|
|
|
subdir('src/lib')
|
|
|
|
subdir('src/bin')
|
|
|
|
subdir('data/autocomp')
|
|
|
|
subdir('data/color')
|
|
|
|
subdir('data/desktop')
|
|
|
|
subdir('data/help')
|
|
|
|
subdir('data/icon')
|
|
|
|
subdir('data/images')
|
|
|
|
subdir('data/reference')
|
|
|
|
subdir('data/sounds')
|
|
|
|
subdir('data/templates')
|
|
|
|
subdir('data/themes/default')
|
|
|
|
subdir('pc')
|
2021-12-05 03:02:51 -08:00
|
|
|
subdir('po')
|
2021-11-04 00:47:57 -07:00
|
|
|
|
|
|
|
install_data(
|
|
|
|
sources : 'README',
|
|
|
|
install_dir : join_paths(dir_pkgdata, 'docs')
|
|
|
|
)
|
|
|
|
|
|
|
|
# Use config_h after all subdirs have set values
|
|
|
|
|
|
|
|
configure_file(output : 'config.h', configuration : config_h)
|
|
|
|
|
|
|
|
# output
|
|
|
|
|
|
|
|
summary({'OS': host_machine.system(),
|
|
|
|
'NLS': have_nls ? 'yes' : 'no'
|
|
|
|
}, section: 'Configuration Options Summary:')
|
|
|
|
|
|
|
|
summary({'prefix': dir_prefix,
|
|
|
|
'bindir': dir_bin,
|
|
|
|
'libdir': dir_lib,
|
|
|
|
'incdir': dir_include,
|
|
|
|
'pkgincdir': dir_pkginclude,
|
|
|
|
'datadir': dir_data,
|
|
|
|
'pkgdatadir': dir_pkgdata,
|
|
|
|
'localedir': dir_locale,
|
|
|
|
}, section: 'Directories:')
|
|
|
|
|
|
|
|
summary({'compilation': 'ninja',
|
|
|
|
'installation': 'ninja install',
|
|
|
|
}, section: 'Compilation')
|