aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/native/7 selfbuilt custom/meson.build
blob: b53635218ec2878686e1a0e10dfcc61ce5f7c96e (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
project('selfbuilt custom', 'cpp')

# Build an exe and use it in a custom target
# whose output is used to build a different exe.

tool = executable('tool', 'tool.cpp', native : true)

hfile = custom_target('datah',
  output : 'data.h',
  input : 'data.dat',
  command : [tool, '@INPUT@', '@OUTPUT@'],
)

main = executable('mainprog', 'mainprog.cpp', hfile)

test('maintest', main)

lib = library('libtool', 'tool.cpp')

checkarg = executable('checkarg', 'checkarg.cpp', native : true)

ctlib = custom_target('ctlib',
  output : 'ctlib.out',
  capture : true,
  command : [checkarg, lib],
  build_by_default : true,
)

if meson.is_cross_build() and meson.can_run_host_binaries()
  checkarg_host = executable('checkarg_host', 'checkarg.cpp')

  ctlib_host = custom_target(
    'ctlib_host',
    output : 'ctlib.host.out',
    capture : true,
    command : [checkarg_host, lib],
    build_by_default : true,
  )
endif