1bdep-config(1) General Commands Manual bdep-config(1)
2
3
4
6 bdep-config - manage project build configurations
7
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
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
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
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
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
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
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)