toolbox/meson.build
Debarshi Ray f3e005d014 build: Add missing mandatory build-time dependency
Commit bafbbe81c9 started generating the shell completions at
build-time using the 'toolbox completion' command, and toolbox(1)
doesn't start without podman(1).

Fallout from bafbbe81c9

https://github.com/containers/toolbox/pull/1194
2022-12-08 22:24:50 +01:00

114 lines
3.2 KiB
Meson

project(
'toolbox',
'c',
version: '0.0.99.3',
license: 'ASL 2.0',
meson_version: '>= 0.58.0',
)
fs = import('fs')
cc = meson.get_compiler('c')
if not cc.has_argument('-print-file-name=libc.so')
error('C compiler does not support the -print-file-name argument.')
endif
go = find_program('go')
go_md2man = find_program('go-md2man')
podman = find_program('podman')
codespell = find_program('codespell', required: false)
shellcheck = find_program('shellcheck', required: false)
skopeo = find_program('skopeo', required: false)
bashcompletionsdir = get_option('bash_completions_dir')
if bashcompletionsdir == ''
bash_completion_dep = dependency('bash-completion', required: false)
if bash_completion_dep.found()
bashcompletionsdir = bash_completion_dep.get_variable(pkgconfig: 'completionsdir')
endif
endif
fishcompletionsdir = get_option('fish_completions_dir')
if fishcompletionsdir == ''
fish_completion_dep = dependency('fish', required: false)
if fish_completion_dep.found()
fishcompletionsdir = fish_completion_dep.get_variable(pkgconfig: 'completionsdir')
endif
endif
zshcompletionsdir = get_option('zsh_completions_dir')
if zshcompletionsdir == ''
zshcompletionsdir = get_option('datadir') / 'zsh' / 'site-functions'
endif
migration_path_for_coreos_toolbox = get_option('migration_path_for_coreos_toolbox')
profiledir = get_option('profile_dir')
tmpfilesdir = get_option('tmpfiles_dir')
if tmpfilesdir == '' or not fs.exists('/run/.containerenv')
systemd_dep = dependency('systemd')
if tmpfilesdir == ''
tmpfilesdir = systemd_dep.get_variable(pkgconfig: 'tmpfilesdir')
endif
endif
toolbox_sh = files('toolbox')
if codespell.found()
test(
'codespell',
codespell,
args: [
'--check-filenames',
'--check-hidden',
'--context', '3',
'--exclude-file', meson.project_source_root() / '.codespellexcludefile',
'--skip', meson.project_build_root(),
'--skip', meson.project_source_root() / '.git',
'--skip', meson.project_source_root() / 'test/system/libs/bats-assert',
'--skip', meson.project_source_root() / 'test/system/libs/bats-support',
meson.project_source_root(),
],
)
endif
if shellcheck.found()
test('shellcheck toolbox (deprecated)', shellcheck, args: [toolbox_sh])
endif
if not skopeo.found()
message('Running system tests requires Skopeo for OCI image manipulation.')
endif
install_subdir(
'test',
install_dir: get_option('datadir') / meson.project_name(),
exclude_files: [
'system/libs/bats-assert/.git',
'system/libs/bats-assert/.gitignore',
'system/libs/bats-assert/.travis.yml',
'system/libs/bats-assert/package.json',
'system/libs/bats-support/.git',
'system/libs/bats-support/.gitignore',
'system/libs/bats-support/.travis.yml',
'system/libs/bats-support/package.json'
],
exclude_directories: [
'system/libs/bats-assert/.git',
'system/libs/bats-assert/script',
'system/libs/bats-assert/test',
'system/libs/bats-support/.git',
'system/libs/bats-support/script',
'system/libs/bats-support/test'
]
)
subdir('data')
subdir('doc')
subdir('profile.d')
subdir('src')
subdir('completion')
meson.add_install_script('meson_post_install.py')