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

import libs  = libbpkg%lib{bpkg}
import libs += libbutl%lib{butl}

options_topics =      \
bdep-options          \
common-options        \
project-options       \
configuration-options \
help-options          \
config-options        \
init-options

exe{bdep}: {hxx ixx txx cxx}{** -{$options_topics} -version}   \
           {hxx ixx cxx}{$options_topics} {hxx}{version} $libs

hxx{version}: in{version} $src_root/file{manifest}

obj{utility}: cxx.poptions += -DBDEP_EXE_SUFFIX='"'$bin.exe.suffix'"'

if $cli.configured
{
  # General topics and common options.
  #
  cli.cxx{common-options}:         cli{common}
  cli.cxx{project-options}:        cli{project}
  cli.cxx{configuration-options}:  cli{configuration}
  cli.cxx{bdep-options}:           cli{bdep}

  # Command.
  #
  cli.cxx{help-options}: cli{help}

  cli.cxx{config-options}: cli{config}
  cli.cxx{init-options}:   cli{init}

  # Option length must be the same to get commands/topics/options aligned.
  #
  cli.options += -I $src_root --include-with-brackets --include-prefix bdep \
--guard-prefix BDEP --cxx-prologue "#include <bdep/types-parsers.hxx>" \
--cli-namespace bdep::cli --generate-vector-scanner --generate-file-scanner \
--generate-specifier --generate-modifier --generate-parse \
--page-usage 'bdep::print_$name$_' --ansi-color --include-base-last \
--suppress-undocumented --option-length 23

  cli.cxx{common-options}: cli.options += --short-usage --long-usage # Both.
  cli.cxx{bdep-options}: cli.options += --short-usage

  cli.options += --long-usage # All other pages -- long usage.

  # 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).
  #
  cli.cxx{*}: dist  = true
  cli.cxx{*}: clean = ($src_root != $out_root)
}