aboutsummaryrefslogtreecommitdiff
path: root/bpkg/buildfile
blob: 2e840cae42e1d1007f8a1ca68b0b8dbf1f3bc544 (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
# file      : bpkg/buildfile
# copyright : Copyright (c) 2014-2015 Code Synthesis Ltd
# license   : MIT; see accompanying LICENSE file

using cli

import libs  = libbpkg%lib{bpkg}
import libs += libbutl%lib{butl}
import libs += libodb%lib{odb}
import libs += libodb-sqlite%lib{odb-sqlite}

exe{bpkg}: cxx{package package-odb database diagnostics utility} \
                      cli.cxx{common-options} cxx{types-parsers} \
  cxx{bpkg}           cli.cxx{bpkg-options}                      \
  cxx{help}           cli.cxx{help-options}                      \
                      cli.cxx{pkg-common-options}                \
  cxx{pkg-command}                                               \
  cxx{pkg-verify}     cli.cxx{pkg-verify-options}                \
  cxx{pkg-status}     cli.cxx{pkg-status-options}                \
  cxx{pkg-fetch}      cli.cxx{pkg-fetch-options}                 \
  cxx{pkg-unpack}     cli.cxx{pkg-unpack-options}                \
  cxx{pkg-purge}      cli.cxx{pkg-purge-options}                 \
  cxx{pkg-configure}  cli.cxx{pkg-configure-options}             \
  cxx{pkg-disfigure}  cli.cxx{pkg-disfigure-options}             \
                      cli.cxx{pkg-update-options}                \
  cxx{cfg-create}     cli.cxx{cfg-create-options}                \
  cxx{rep-create}     cli.cxx{rep-create-options}                \
  $libs

# Option length must be the same to get commands/topics/options aligned.
#
cli.options += -I $src_root --include-with-brackets --include-prefix bpkg \
--guard-prefix BPKG --cxx-prologue "#include <bpkg/types-parsers>"        \
--cli-namespace bpkg::cli --generate-file-scanner --generate-specifier    \
--generate-parse --long-usage --option-length 22

cli.cxx{common-options}: cli{common-options}
cli.cxx{common-options}: cli.options += --short-usage

cli.cxx{bpkg-options}: cli{bpkg-options}
cli.cxx{bpkg-options}: cli.options += --short-usage

cli.cxx{help-options}: cli{help-options}
cli.cxx{help-options}: cli.options += --exclude-base

# pkg-*
#
cli.cxx{pkg-common-options}: cli{pkg-common-options}
cli.cxx{pkg-common-options}: cli.options += --exclude-base

cli.cxx{pkg-status-options}:    cli{pkg-status-options}
cli.cxx{pkg-fetch-options}:     cli{pkg-fetch-options}
cli.cxx{pkg-unpack-options}:    cli{pkg-unpack-options}
cli.cxx{pkg-purge-options}:     cli{pkg-purge-options}
cli.cxx{pkg-configure-options}: cli{pkg-configure-options}
cli.cxx{pkg-disfigure-options}: cli{pkg-disfigure-options}
cli.cxx{pkg-update-options}:    cli{pkg-update-options}

cli.cxx{pkg-verify-options}: cli{pkg-verify-options}
cli.cxx{pkg-verify-options}: cli.options += --exclude-base

# cfg-*
#
cli.cxx{cfg-create-options}: cli{cfg-create-options}
cli.cxx{cfg-create-options}: cli.options += --exclude-base

# rep-*
#
cli.cxx{rep-create-options}: cli{rep-create-options}
cli.cxx{rep-create-options}: cli.options += --exclude-base