summaryrefslogtreecommitdiffstats
path: root/test cases/common/190 install_mode/meson.build
blob: e877ba75757baff57c2d5e8c18baddcd058f30d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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--'])