8b2d25f1e8
Since Meson 0.49.0, the / operator on strings is equivalent to calling join_paths() [1], and the former is less verbose, and easier to read. [1] https://mesonbuild.com/Reference-manual_functions.html#join_paths https://github.com/containers/toolbox/pull/1141
93 lines
2.6 KiB
Meson
93 lines
2.6 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')
|
|
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 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')
|