time for meson!

This commit is contained in:
Marcel Hollerbach 2017-10-03 18:52:45 +02:00
parent 10d706a08c
commit ac304ea2a9
17 changed files with 222 additions and 0 deletions

14
data/desktop/meson.build Normal file
View File

@ -0,0 +1,14 @@
desktop_config = configuration_data()
desktop_config.set('VERSION', meson.project_version())
desktop_config.set('PACKAGE_NAME', meson.project_name())
configure_file(
input : 'edi.desktop.in',
output : 'edi.desktop',
install_dir : join_paths(get_option('prefix'), 'share/applications/'),
configuration : desktop_config
)
install_data(['edi.png'],
install_dir: join_paths(get_option('prefix'), 'share/icons/hicolor/256x256/apps')
)

View File

@ -0,0 +1,15 @@
tar = find_program('tar')
skeleton_names = ['eflproject', 'eflproject_python']
foreach skeleton_name : skeleton_names
custom_target('skeleton ' + skeleton_name,
command : [tar, 'zcf', '@OUTPUT@', '@INPUT@'],
input : skeleton_name,
output : skeleton_name + '.tar.gz',
install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'edi', 'skeleton'),
install : true,
)
endforeach

4
data/images/meson.build Normal file
View File

@ -0,0 +1,4 @@
install_data(['about.png', 'welcome.png'],
install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'edi', 'images')
)

3
data/meson.build Normal file
View File

@ -0,0 +1,3 @@
subdir('desktop')
subdir('images')
subdir('extra/skeleton')

6
doc/meson.build Normal file
View File

@ -0,0 +1,6 @@
configure_file(
input : 'edi.1.in',
output : 'edi.1',
install_dir : join_paths(get_option('prefix'), 'share/doc/edi/'),
configuration : config_h
)

57
meson.build Normal file
View File

@ -0,0 +1,57 @@
project(
'edi', 'c',
version : '0.0.1',
default_options: [ 'c_std=gnu99', 'warning_level=2' ],
meson_version : '>= 0.40.0')
add_global_arguments('-DHAVE_CONFIG_H=1', '-DHAVE_CONFIG=1', language: 'c')
config_h = configuration_data()
config_h.set_quoted('PACKAGE' , meson.project_name())
config_h.set_quoted('PACKAGE_VERSION' , meson.project_version())
config_h.set_quoted('PACKAGE_URL' , 'https://www.enlightenment.org')
config_h.set_quoted('PACKAGE_TARNAME' , meson.project_name())
config_h.set_quoted('PACKAGE_BUGREPORT', 'enlightenment-devel@lists.sourceforge.net')
config_h.set_quoted('PACKAGE_STRING' , meson.project_name() + ' ' + meson.project_version())
config_h.set_quoted('PACKAGE_NAME' , meson.project_name())
config_h.set_quoted('PACKAGE_BIN_DIR', get_option('bindir'))
config_h.set_quoted('PACKAGE_LIB_DIR', get_option('libdir'))
config_h.set_quoted('PACKAGE_DATA_DIR', get_option('datadir'))
config_h.set_quoted('PACKAGE_DOC_DIR', get_option('infodir'))
config_h.set_quoted('EFL_BETA_API_SUPPORT' , '1')
elm = dependency('elementary')
top_inc = include_directories('.')
cc = meson.get_compiler('c')
config_h.set_quoted('EFL_CFLAGS', run_command(find_program('pkg-config'), '--libs', '--cflags', 'elementary').stdout().strip())
if get_option('bear') == true
bear = find_program('bear')
config_h.set_quoted('BEAR_COMMAND', 'bear')
endif
if get_option('libclang') == true
clang = cc.find_library('clang')
clang_include_dir_command = run_command(find_program('scripts/clang_include_dir.sh'))
clang_include_dir = clang_include_dir_command.stdout().strip()
config_h.set_quoted('CLANG_INCLUDES', clang_include_dir)
config_h.set('HAVE_LIBCLANG', '1')
endif
subdir('po')
subdir('src')
subdir('doc')
subdir('data')
configure_file(
output : 'config.h',
install : false,
configuration: config_h
)

2
meson_options.txt Normal file
View File

@ -0,0 +1,2 @@
option('libclang', type : 'boolean', value : true, description : 'Weather to have libclang support')
option('bear', type : 'boolean', value : true, description : 'Weather to have bear support')

0
po/LINGUAS Normal file
View File

5
po/meson.build Normal file
View File

@ -0,0 +1,5 @@
i18n = import('i18n')
i18n.gettext('edi')
config_h.set('ENABLE_NLS', 1)
config_h.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))

3
scripts/clang_include_dir.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/sh
clang -E - -v < /dev/null 2>&1 | grep "^ /usr" | grep clang

View File

@ -0,0 +1,6 @@
src += files([
'edi_editor.c',
'edi_editor.h',
'edi_editor_documentation.c',
'edi_editor_search.c'
])

View File

@ -0,0 +1,4 @@
src += files([
'edi_language_provider.c',
'edi_language_provider.h',
])

View File

@ -0,0 +1,8 @@
src += files([
'edi_mainview.c',
'edi_mainview.h',
'edi_mainview_item.c',
'edi_mainview_item.h',
'edi_mainview_panel.c',
'edi_mainview_panel.h',
])

47
src/bin/meson.build Normal file
View File

@ -0,0 +1,47 @@
packages = ['editor','language','mainview','screens',]
src = files([
'edi_config.c',
'edi_config.h',
'edi_consolepanel.c',
'edi_consolepanel.h',
'edi_content_provider.c',
'edi_content_provider.h',
'edi_debugpanel.c',
'edi_debugpanel.h',
'edi_file.c',
'edi_file.h',
'edi_filepanel.c',
'edi_filepanel.h',
'edi_logpanel.c',
'edi_logpanel.h',
'edi_main.c',
'edi_private.h',
'edi_searchpanel.c',
'edi_searchpanel.h',
])
foreach package : packages
subdir(package)
endforeach
executable('edi', src,
dependencies : [elm, edi_lib, clang],
install : true
)
edi_scm_src = files([
'edi_scm_main.c',
'edi_scm_ui.c',
'edi_scm_ui.h'
])
executable('edi_scm', edi_scm_src,
dependencies : [elm, edi_lib],
install : true
)
executable('edi_build', 'edi_build_main.c',
dependencies : [elm, edi_lib],
install : true
)

View File

@ -0,0 +1,10 @@
src += files([
'edi_about.c',
'edi_file_screens.c',
'edi_file_screens.h',
'edi_screens.c',
'edi_screens.h',
'edi_settings.c',
'edi_settings_font.c',
'edi_welcome.c',
])

35
src/lib/meson.build Normal file
View File

@ -0,0 +1,35 @@
src = files([
'Edi.h',
'edi.c',
'edi_build_provider.c',
'edi_build_provider.h',
'edi_build_provider_cargo.c',
'edi_build_provider_cmake.c',
'edi_build_provider_make.c',
'edi_build_provider_meson.c',
'edi_build_provider_python.c',
'edi_builder.c',
'edi_builder.h',
'edi_create.c',
'edi_create.h',
'edi_exe.c',
'edi_exe.h',
'edi_path.c',
'edi_path.h',
'edi_private.h',
'edi_scm.c',
'edi_scm.h',
'md5.c',
'md5.h',
])
edi_lib_lib = library('edi_lib', src,
dependencies : [elm],
include_directories : top_inc,
install : true
)
edi_lib = declare_dependency(
link_with : edi_lib_lib,
include_directories : [include_directories('./'), top_inc]
)

3
src/meson.build Normal file
View File

@ -0,0 +1,3 @@
subdir('lib')
subdir('bin')
#subdir('tests')