aboutsummaryrefslogtreecommitdiff
path: root/test cases/unit/98 install all targets/meson.build
blob: c90632aa6424f038640885abd64ea047ce8d8225 (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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
project('install tag', 'c')

subdir('subdir')

# Those files should not be tagged
configure_file(input: 'foo.in', output: 'foo-notag.h',
  configuration: {'foo': 'bar'},
  install_dir: get_option('datadir'),
  install: true,
)
install_data('bar-notag.txt',
  install_dir: get_option('datadir')
)
custom_target('ct1',
  output: ['out1-notag.txt', 'out2-notag.txt'],
  command: ['script.py', '@OUTPUT@'],
  install_dir: get_option('datadir'),
  install: true,
)

# Those files should be tagged as devel
install_headers('foo1-devel.h')
install_data('bar-devel.h',
  install_dir: get_option('includedir'),
)
configure_file(input: 'foo.in', output: 'foo2-devel.h',
  configuration: {'foo': 'bar'},
  install_dir: get_option('includedir'),
  install: true,
)
static_library('static', 'lib.c',
  install: true,
)

# Those files should have 'runtime' tag
executable('app', 'main.c',
  install: true,
)
executable('app-otherdir', 'main.c',
  install: true,
  install_dir: 'otherbin',
)
shared_library('shared', 'lib.c',
  install: true,
)
both_libraries('both', 'lib.c',
  install: true,
)

# Unversioned .so file should have 'devel' tag, others should have 'runtime' tag
shared_library('versioned_shared', 'lib.c',
  install: true,
  version: '1.2.3',
)

# Those files should have custom tag
install_data('bar-custom.txt',
  install_dir: get_option('datadir'),
  install_tag: 'custom')
configure_file(input: 'foo.in', output: 'foo-custom.h',
  configuration: {'foo': 'bar'},
  install_dir: get_option('datadir'),
  install_tag: 'custom',
  install: true,
)
both_libraries('bothcustom', 'lib.c',
  install_tag: 'custom',
  install: true,
)
custom_target('ct2',
  output: ['out1-custom.txt', 'out2-custom.txt'],
  command: ['script.py', '@OUTPUT@'],
  install_dir: get_option('datadir'),
  install_tag: 'custom',
  install: true,
)
install_subdir('custom_files',
  install_dir: get_option('datadir'),
  install_tag: 'custom',
)

# First is custom, 2nd is devel, 3rd has no tag
custom_target('ct3',
  output: ['out3-custom.txt', 'out-devel.h', 'out3-notag.txt'],
  command: ['script.py', '@OUTPUT@'],
  install_dir: [get_option('datadir'), get_option('includedir'), get_option('datadir')],
  install_tag: ['custom', 'devel', false],
  install: true,
)

meson.add_install_script('script.py', install_tag: 'custom')
meson.add_install_script('script.py')