Skip to content
Snippets Groups Projects
Commit 83509c53 authored by Johannes Marbach's avatar Johannes Marbach
Browse files

Merge branch 'meson' into 'master'

unify build systems of buffyboard and unl0kr

See merge request postmarketOS/buffybox!29
parents 20b084c0 ec21e5ea
No related branches found
No related tags found
No related merge requests found
......@@ -9,8 +9,8 @@
#include "lvgl/lvgl.h"
#ifndef BB_VERSION
#define BB_VERSION "?" /* Just to silence IDE warning. Real version injected by meson during build. */
#ifndef PROJECT_VERSION
#define PROJECT_VERSION "?" /* Just to silence IDE warning. Real version injected by meson during build. */
#endif
#endif /* BB_BUFFYBOARD_H */
......@@ -154,7 +154,7 @@ void bb_cli_parse_opts(int argc, char *argv[], bb_cli_opts *opts) {
opts->verbose = true;
break;
case 'V':
fprintf(stderr, "buffyboard %s\n", BB_VERSION);
fprintf(stderr, "buffyboard %s\n", PROJECT_VERSION);
exit(0);
default:
print_usage();
......
# Copyright 2021 Johannes Marbach
# SPDX-License-Identifier: GPL-3.0-or-later
buffyboard_sources = files(
'command_line.c',
'config.c',
'main.c',
'sq2lv_layouts.c',
'terminal.c',
'uinput_device.c'
)
buffyboard_sources = [
'command_line.c',
'config.c',
'main.c',
'sq2lv_layouts.c',
'terminal.c',
'uinput_device.c',
]
shared_sources = [
'../shared/cursor/cursor.c',
'../shared/fonts/font_32.c',
'../shared/config.c',
'../shared/indev.c',
'../shared/log.c',
'../shared/theme.c',
'../shared/themes.c',
]
squeek2lvgl_sources = [
'../squeek2lvgl/sq2lv.c',
]
man_files = [
'doc/buffyboard.1',
'doc/buffyboard.conf.5',
buffyboard_dependencies = [
common_dependencies,
meson.get_compiler('c').find_library('m', required: false)
]
lvgl_sources = run_command('../find-lvgl-sources.sh', '../lvgl', check: true).stdout().strip().split('\n')
install_data(sources: 'buffyboard.conf', install_dir : get_option('sysconfdir'))
executable(
'buffyboard',
sources: buffyboard_sources + shared_sources + squeek2lvgl_sources + lvgl_sources,
include_directories: ['..'],
dependencies: [
dependency('inih'),
dependency('libinput'),
dependency('libudev'),
meson.get_compiler('c').find_library('m', required: false),
],
install: true
executable('buffyboard',
include_directories: common_include_dirs,
sources: buffyboard_sources + shared_sources + squeek2lvgl_sources + lvgl_sources,
dependencies: buffyboard_dependencies,
install: true
)
scdoc = dependency('scdoc')
scdoc_prog = find_program(scdoc.get_pkgconfig_variable('scdoc'), native : true)
sh = find_program('sh', native : true)
foreach file : man_files
filename = file + '.scd'
section = file.split('.')[-1]
topic = file.split('.' + section)[-2].split('/')[-1]
output = '@0@.@1@'.format(topic, section)
install_data('buffyboard.conf', install_dir: get_option('sysconfdir'))
custom_target(
output,
input : filename,
output : output,
capture : true,
command : [sh, '-c', scdoc_prog.path() + ' < @INPUT@'],
install : true,
install_dir : get_option('mandir') / 'man' + section
)
endforeach
File moved
File moved
progscdoc = depscdoc.get_variable(pkgconfig: 'scdoc')
foreach file : [
'buffyboard.1',
'buffyboard.conf.5',
'unl0kr.1',
'unl0kr.conf.5'
]
section = file.split('.')[-1]
custom_target(file,
command: progscdoc,
feed: true,
capture: true,
input: file + '.scd',
output: file,
install: true,
install_dir: get_option('mandir') / 'man' + section
)
endforeach
File moved
File moved
project(
'buffybox',
'c',
version: '3.2.0',
default_options: 'warning_level=3',
meson_version: '>=0.53.0'
project('buffybox', 'c',
version: '3.2.0',
default_options: 'warning_level=3',
meson_version: '>= 0.59.0'
)
add_project_arguments('-DBB_VERSION="@0@"'.format(meson.project_version()), language: ['c'])
add_project_arguments('-DUL_VERSION="@0@"'.format(meson.project_version()), language: ['c'])
add_project_arguments('-DPROJECT_VERSION="@0@"'.format(meson.project_version()), language: 'c')
depinih = dependency('inih')
deplibinput = dependency('libinput')
deplibudev = dependency('libudev')
if get_option('man')
depscdoc = dependency('scdoc')
endif
common_include_dirs = include_directories('.')
shared_sources = files(
'shared/cursor/cursor.c',
'shared/fonts/font_32.c',
'shared/config.c',
'shared/indev.c',
'shared/log.c',
'shared/theme.c',
'shared/themes.c'
)
squeek2lvgl_sources = files(
'squeek2lvgl/sq2lv.c'
)
lvgl_sources = files(
run_command('find-lvgl-sources.sh', 'lvgl', check: true).stdout().strip().split('\n')
)
common_dependencies = [
depinih,
deplibinput,
deplibudev
]
subdir('unl0kr')
subdir('buffyboard')
if get_option('man')
subdir('man')
endif
option('with-drm', type : 'feature', value : 'auto', description : 'Enable DRM backend')
option('with-drm', type: 'feature', value: 'auto', description: 'Enable DRM backend')
option('man', type: 'boolean', value: true, description: 'Install manual pages')
......@@ -126,7 +126,7 @@ void ul_cli_parse_opts(int argc, char *argv[], ul_cli_opts *opts) {
opts->verbose = true;
break;
case 'V':
fprintf(stderr, "unl0kr %s\n", UL_VERSION);
fprintf(stderr, "unl0kr %s\n", PROJECT_VERSION);
exit(0);
default:
print_usage();
......
......@@ -377,7 +377,7 @@ int main(int argc, char *argv[]) {
}
/* Announce ourselves */
bbx_log(BBX_LOG_LEVEL_VERBOSE, "unl0kr %s", UL_VERSION);
bbx_log(BBX_LOG_LEVEL_VERBOSE, "unl0kr %s", PROJECT_VERSION);
/* Parse config files */
ul_config_init_opts(&conf_opts);
......
# Copyright 2021 Clayton Craft
# SPDX-License-Identifier: GPL-3.0-or-later
unl0kr_sources = [
'backends.c',
'command_line.c',
'config.c',
'main.c',
'sq2lv_layouts.c',
'terminal.c',
]
shared_sources = [
'../shared/cursor/cursor.c',
'../shared/fonts/font_32.c',
'../shared/config.c',
'../shared/indev.c',
'../shared/log.c',
'../shared/theme.c',
'../shared/themes.c',
]
squeek2lvgl_sources = [
'../squeek2lvgl/sq2lv.c',
]
man_files = [
'doc/unl0kr.1',
'doc/unl0kr.conf.5',
]
depxkbcommon = dependency('xkbcommon')
unl0kr_sources = files(
'backends.c',
'command_line.c',
'config.c',
'main.c',
'sq2lv_layouts.c',
'terminal.c'
)
unl0kr_dependencies = [
dependency('inih'),
dependency('libinput'),
dependency('libudev'),
dependency('xkbcommon'),
common_dependencies,
depxkbcommon
]
libdrm_dep = dependency('libdrm', required: get_option('with-drm'))
if libdrm_dep.found()
unl0kr_dependencies += [libdrm_dep]
add_project_arguments('-DLV_USE_LINUX_DRM=1', language: ['c'])
deplibdrm = dependency('libdrm', required: get_option('with-drm'))
if deplibdrm.found()
unl0kr_dependencies += deplibdrm
add_project_arguments('-DLV_USE_LINUX_DRM=1', language: 'c')
endif
lvgl_sources = run_command('../find-lvgl-sources.sh', '../lvgl', check: true).stdout().strip().split('\n')
install_data(sources: 'unl0kr.conf', install_dir : get_option('sysconfdir'))
executable(
'unl0kr',
sources: unl0kr_sources + shared_sources + squeek2lvgl_sources + lvgl_sources,
include_directories: ['..'],
dependencies: unl0kr_dependencies,
install: true
executable('unl0kr',
include_directories: common_include_dirs,
sources: unl0kr_sources + shared_sources + squeek2lvgl_sources + lvgl_sources,
dependencies: unl0kr_dependencies,
install: true
)
scdoc = dependency('scdoc')
scdoc_prog = find_program(scdoc.get_pkgconfig_variable('scdoc'), native : true)
sh = find_program('sh', native : true)
foreach file : man_files
filename = file + '.scd'
section = file.split('.')[-1]
topic = file.split('.' + section)[-2].split('/')[-1]
output = '@0@.@1@'.format(topic, section)
install_data('unl0kr.conf', install_dir: get_option('sysconfdir'))
custom_target(
output,
input : filename,
output : output,
capture : true,
command : [sh, '-c', scdoc_prog.path() + ' < @INPUT@'],
install : true,
install_dir : get_option('mandir') / 'man' + section
)
endforeach
......@@ -9,8 +9,8 @@
#include "lvgl/lvgl.h"
#ifndef UL_VERSION
#define UL_VERSION "?" /* Just to silence IDE warning. Real version injected by meson during build. */
#ifndef PROJECT_VERSION
#define PROJECT_VERSION "?" /* Just to silence IDE warning. Real version injected by meson during build. */
#endif
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment