blob: 5afe7c27782410415b15679567cfbf48de9e1905 (
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
|
# file : bdep/buildfile
# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
# license : MIT; see accompanying LICENSE file
# @@ ODB: these are ODB changelogs that are both generated and stored in the
# repository (what if src != out?). Will need to think how to handle
# them properly (always generate in src_base?).
#
define xml: file
xml{*}: extension = xml
import libs = libbpkg%lib{bpkg}
import libs += libbutl%lib{butl}
import libs += libodb%lib{odb}
import libs += libodb-sqlite%lib{odb-sqlite}
options_topics = \
bdep-options \
common-options \
project-options \
help-options \
config-options \
init-options \
sync-options
exe{bdep}: {hxx ixx txx cxx}{** -{$options_topics} -*-odb -version} \
{hxx ixx cxx}{$options_topics} \
{hxx ixx cxx}{project-odb database-views-odb} \
{hxx}{version} $libs
hxx{version}: in{version} $src_root/file{manifest}
obj{utility}: cxx.poptions += -DBDEP_EXE_SUFFIX='"'$bin.exe.suffix'"'
# Disable "unknown pragma" warnings.
#
if ($cxx.class == 'msvc')
cxx.coptions += /wd4068
elif ($cxx.class == 'gcc')
cxx.coptions += -Wno-unknown-pragmas
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}
cli.cxx{sync-options}: cli{sync}
# 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)
}
|