blob: 2385a7d3b151e7a99c4d8ac22995dbb507beca5d (
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
|
# file : cli/buildfile
# license : MIT; see accompanying LICENSE file
import libs = libcutl%lib{cutl}
./: exe{cli}: cxx{cli} libue{cli}
# Target metadata, see also --build2-metadata in cli.cxx.
#
exe{cli}:
{
export.metadata = 1 cli
cli.name = [string] cli
cli.version = $version
cli.checksum = $version
}
libue{cli}: {hxx ixx txx cxx}{** -cli -version -options -**.test...} \
{hxx}{version} {hxx ixx cxx}{options} \
$libs
hxx{version}: in{version} $src_root/manifest
# Unit tests.
#
exe{*.test}:
{
test = true
install = false
}
for t: cxx{**.test...}
{
d = $directory($t)
n = $name($t)...
./: $d/exe{$n}: $t $d/{hxx ixx txx}{+$n} $d/testscript{+$n}
$d/exe{$n}: libue{cli}: bin.whole = false
}
# Build options.
#
# Pass the copyright notice extracted from the LICENSE file.
#
copyright = $process.run_regex(cat $src_root/LICENSE, \
'Copyright \(c\) (.+)\.', \
'\1')
obj{cli}: cxx.poptions += -DCLI_COPYRIGHT=\"$copyright\"
# Generated options parsing code.
#
# @@ This will eventually be replaced with an ah hoc recipe.
#
if ($config.cli != [null] && $config.cli != false)
{
cli.cxx{options}: cli{options}
cli.options += --include-with-brackets --include-prefix cli \
--guard-prefix CLI --generate-file-scanner --generate-specifier \
--generate-modifier --suppress-undocumented --reserved-name stdout
cli.cxx{*}:
{
# Include the generated cli files into the distribution and don't remove
# them when cleaning in src (so that clean results in a state identical to
# distributed).
#
dist = true
clean = ($src_root != $out_root)
# We keep the generated code in the repository so copy it back to src
# in case of a forwarded configuration.
#
backlink = overwrite
}
}
|