The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.6 KiB
60 lines
1.6 KiB
project('install_mode test', 'c', |
|
default_options : ['install_umask=027', 'libdir=libtest']) |
|
|
|
if build_machine.system() == 'windows' |
|
error('MESON_SKIP_TEST: install_mode test requires a Unix-like OS') |
|
endif |
|
|
|
# confirm no regressions in install_data |
|
install_data('runscript.sh', |
|
install_dir : get_option('bindir'), |
|
install_mode : ['rwxr-sr-x', 'root', 0]) |
|
|
|
# confirm no regressions in install_subdir |
|
install_subdir('sub1', |
|
install_dir : 'share', |
|
install_mode : ['rwxr-x--t', 'root']) |
|
|
|
install_subdir('sub2', |
|
install_dir : 'share') |
|
|
|
# test install_mode in configure_file |
|
conf = configuration_data() |
|
conf.set('var', 'mystring') |
|
conf.set('other', 'string 2') |
|
conf.set('second', ' bonus') |
|
conf.set('BE_TRUE', true) |
|
configure_file(input : 'config.h.in', |
|
output : 'config.h', |
|
configuration : conf, |
|
install_dir : 'include', |
|
install_mode : 'rw-rwSr--') |
|
|
|
# test install_mode in custom_target |
|
custom_target('bindat', |
|
output : 'data.dat', |
|
input : 'data_source.txt', |
|
command : ['cp', '@INPUT@', '@OUTPUT@'], |
|
install : true, |
|
install_dir : 'subdir', |
|
install_mode : 'rw-rwSr--') |
|
|
|
# test install_mode in install_headers |
|
install_headers('rootdir.h', |
|
install_mode : 'r--r--r-T') |
|
|
|
# test install_mode in install_man |
|
install_man('foo.1', |
|
install_mode : 'r--r--r-T') |
|
|
|
# test install_mode in executable |
|
executable('trivialprog', |
|
sources : 'trivial.c', |
|
install : true, |
|
build_rpath: meson.current_build_dir(), |
|
install_mode : ['rwxr-sr-x', 'root', 'root']) |
|
|
|
# test install_mode in static_library |
|
static_library('stat', 'stat.c', |
|
install : true, |
|
install_mode : ['rw---Sr--'])
|
|
|