1bdep-config(1)              General Commands Manual             bdep-config(1)
2
3
4

NAME

6       bdep-config - manage project build configurations
7

SYNOPSIS

9       bdep config add    [options] [prj-spec] [@cfg-name] cfg-dir
10       bdep config create [options] [prj-spec] [@cfg-name] cfg-dir [cfg-args]
11       bdep config list   [options] [prj-spec] [cfg-spec...]
12       bdep config move   [options] [prj-spec] cfg-spec cfg-dir
13       bdep config rename [options] [prj-spec] cfg-spec cfg-name
14       bdep config remove [options] [prj-spec] cfg-spec...  | --all|-a
15       bdep config set    [options] [prj-spec] cfg-spec... | --all|-a
16                          [--[no-]default]
17                          [--[no-]forward]
18                          [--[no-]auto-sync]
19
20       cfg-spec = @cfg-name | --config|-c cfg-dir
21       prj-spec = --directory|-d prj-dir
22       cfg-args = [-- bpkg-options] [--existing|-e | (module | cfg-var)...]
23

DESCRIPTION

25       The  config  command  provides  the  following subcommands for managing
26       project's build configurations. If no project directory  is  specified,
27       then the current working directory is assumed.
28

CONFIG SUBCOMMANDS

30       add
31
32
33       create
34              The  add subcommand adds an existing bpkg(1) build configuration
35              in directory cfg-dir to the project's build  configuration  set.
36              The  create  subcommand creates a new configuration in directory
37              cfg-dir by executing the bpkg-cfg-create(1) command and  passing
38              to  it  cfg-args,  if any. It then proceeds as add by adding the
39              new configuration to the project's build configuration set.
40
41              In both subcommands, if cfg-name is specified,  then  the  added
42              configuration  is given this name. Several bdep commands can use
43              such names as a more convenient way to specify build  configura‐
44              tions (see bdep-projects-configs(1) for details).
45
46              As  a  shortcut,  if  cfg-name is not specified and cfg-dir is a
47              simple path that starts with @, then it is treated as  the  name
48              and  the  configuration  directory is assumed to be prj-dir-cfg-
49              name. Note that in case of create, cfg-dir must be preceded with
50              --  (double  dash) option to disambiguate it from @cfg-name. For
51              example, assuming the project directory is hello:
52
53              $ bdep config add @clang                        # ../hello-clang
54              $ bdep config create -- @gcc cc config.cxx=g++  # ../hello-gcc
55
56              Unless the --no-default option is specified, the first added  or
57              created  build  configuration is designated as the default. Sev‐
58              eral bdep commands use such a configuration  by  default  if  no
59              configuration  was  specified explicitly (see bdep-projects-con‐
60              figs(1) for details). To make a subsequently added configuration
61              the default use the --default option.
62
63              The  default build configuration is also designated as forwarded
64              unless the --no-forward option is specified or another  configu‐
65              ration  is  already  designated  as forwarded. When a project is
66              initialized in  a  forwarded  build  configuration,  its  source
67              directory  is  configured  to forward to this configuration (see
68              b(1) for details on forwarded configurations).  To  designate  a
69              non-default configuration as forwarded use the --forward option.
70              Note also that it is possible to have multiple forwarded config‐
71              urations,  however,  any given package within a project can only
72              be initialized in one such configuration.
73
74              Unless the --no-auto-sync option is specified, an added or  cre‐
75              ated  build  configuration will be automatically synchronized on
76              every build system invocation. Note that this flag  affects  the
77              entire  build  configuration  and if multiple projects share the
78              same configuration, then they must have a  consistent  auto-syn‐
79              chronization setting.
80
81       list
82              The  list  subcommand  prints  the  list of build configurations
83              associated with the project. Unless one or  more  configurations
84              are specified explicitly, list prints all the associate configu‐
85              rations. Note that the output is written to STDOUT, not STDERR.
86
87       move
88              The move subcommand assigns the specified build configuration  a
89              new  directory.  It  is  normally used after moving/renaming the
90              configuration directory. Note that an explicit bdep-sync(1) com‐
91              mand  is  required  for  this  change  to take effect. See bdep-
92              projects-configs(1) for various ways to specify a build configu‐
93              ration.
94
95       rename
96              The  rename subcommand gives the specified build configuration a
97              new name. See bdep-projects-configs(1) for various ways to spec‐
98              ify a build configuration.
99
100       remove
101              The  remove  subcommand removes one or more build configurations
102              from the project's build configuration set. Note that only  con‐
103              figurations  that  have  no initialized packages can be removed.
104              See bdep-projects-configs(1) for various ways to  specify  build
105              configurations.
106
107       set
108              The  set  subcommand  modifies various properties of one or more
109              build configurations associated  with  the  project.  See  bdep-
110              projects-configs(1) for various ways to specify build configura‐
111              tions.
112
113              The  properties  that  can  be  modified  include  the   default
114              (--[no-]default),  forward  (--[no-]forward),  and auto-synchro‐
115              nization (--[no-]auto-sync) flags. Note  that  changing  any  of
116              these  flags  requires  an explicit bdep-sync(1) command to take
117              effect.
118

CONFIG OPTIONS

120       --default
121              Make the added or created configuration the default.
122
123       --no-default
124              Don't make the first added or created configuration the default.
125
126       --forward
127              Make the added or created configuration forwarded.
128
129       --no-forward
130              Don't make the added or created configuration forwarded.
131
132       --auto-sync
133              Make the added or created configuration  automatically  synchro‐
134              nized.
135
136       --no-auto-sync
137              Don't make the added or created configuration automatically syn‐
138              chronized.
139
140       --existing|-e
141              Initialize a bpkg configuration based on an existing build  sys‐
142              tem configuration.
143
144       --wipe Wipe  the  configuration directory clean before creating the new
145              configuration.
146
147       --all|-a
148              Use all build configurations.
149
150       --config|-c dir
151              Specify the build configuration as a directory.
152
153       --directory|-d dir
154              Assume project/package is in the specified directory rather than
155              in the current working directory.
156
157       --config-name|-n name
158              Specify the build configuration as a name.
159
160       --config-id num
161              Specify the build configuration as an id.
162

COMMON OPTIONS

164       The  common  options are summarized below with a more detailed descrip‐
165       tion available in bdep-common-options(1).
166
167       -v     Print essential underlying commands being executed.
168
169       -V     Print all underlying commands being executed.
170
171       --quiet|-q
172              Run quietly, only printing error messages.
173
174       --verbose level
175              Set the diagnostics verbosity to level between 0 and 6.
176
177       --jobs|-j num
178              Number of jobs to perform in parallel.
179
180       --no-progress
181              Suppress progress indicators for long-lasting  operations,  such
182              as network transfers, building, etc.
183
184       --bpkg path
185              The  package  manager program to be used for build configuration
186              management.
187
188       --bpkg-option opt
189              Additional option to be passed to the package manager program.
190
191       --build path
192              The build program to be used to build packages.
193
194       --build-option opt
195              Additional option to be passed to the build program.
196
197       --curl path
198              The curl program to be used for network operations.
199
200       --curl-option opt
201              Additional option to be passed to the curl program.
202
203       --pager path
204              The pager program to be used to show long text.
205
206       --pager-option opt
207              Additional option to be passed to the pager program.
208
209       --options-file file
210              Read additional options from file.
211
212       --default-options dir
213              The directory to load additional default options files from.
214
215       --no-default-options
216              Don't load default options files.
217

DEFAULT OPTIONS FILES

219       See  bdep-default-options-files(1)  for  an  overview  of  the  default
220       options files. For the config command the search start directory is the
221       project directory. The following options files are searched for in each
222       directory and, if found, loaded in the order listed:
223
224       bdep.options
225       bdep-config.options
226       bdep-config-add.options          # if the create subcommand
227       bdep-config-<subcommand>.options # (subcommand-dependent)
228
229       The following config command options cannot be specified in the default
230       options files:
231
232       --directory|-d
233       --wipe
234

BUGS

236       Send bug reports to the users@build2.org mailing list.
237
239       Copyright (c) 2014-2020 the build2 authors.
240
241       Permission is granted to copy, distribute and/or modify  this  document
242       under the terms of the MIT License.
243
244
245
246bdep 0.13.0                        July 2020                    bdep-config(1)
Impressum