|
|
|
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,
|
|
|
|
install_mode : ['rwxr-sr-x', 'root', 'root'])
|
|
|
|
|
|
|
|
# test install_mode in static_library
|
|
|
|
static_library('stat', 'stat.c',
|
|
|
|
install : true,
|
|
|
|
install_mode : ['rw---Sr--'])
|