1bdep-projects-configs(1) General Commands Manual bdep-projects-configs(1)
2
3
4
6 bdep-projects-configs - specifying projects and configurations
7
9 bdep command [pkg-spec] [cfg-spec] ...
10
11 cfg-spec = (@cfg-name | --config|-c cfg-dir)... | --all|-a
12 pkg-spec = (--directory|-d pkg-dir)... | prj-spec
13 prj-spec = --directory|-d prj-dir
14
16 Most bdep commands operate on a project or some of its packages as well
17 as its build configurations. For example, status (bdep-status(1)) shows
18 the status of one or more project packages in one or more build config‐
19 urations. While fetch (bdep-fetch(1)) fetches the list of available to
20 the project dependency packages, again, in one or more build configura‐
21 tions.
22
23 Without any --directory|-d options specified, the current working
24 directory is assumed to be either the project root directory, the pack‐
25 age root directory, or one of the package subdirectories. This is the
26 common bdep usage mode where you run it from within your project's
27 source code directories, similar to version control tools such as
28 git(1).
29
30 Alternatively, the project or (several) package directories can be
31 specified with the --directory|-d options. Note that bdep operates on a
32 single project but potentially multiple packages belonging to said
33 project at a time.
34
35 Some bdep commands, such as fetch, operate on the whole project. If
36 such a command is given a package directory (either as the working
37 directory or with --directory|-d), then it automatically determines its
38 project directory and uses that.
39
40 Other commands, such as status, operate on one or more packages. If
41 such a command is given a project directory, then it automatically
42 determines the list of packages belonging to this project and uses
43 that. Note that what exactly belonging means is command-specific. For
44 most commands it means all the packages initialized in a given build
45 configuration. For init (bdep-init(1)), however, it means all the pack‐
46 ages available in the project (for example, as listed in packages.mani‐
47 fest).
48
49 A project managed by bdep has one or more associated build configura‐
50 tions (see bdep-config(1) for details). One of these configurations can
51 be designated as the default and used if no configuration is specified
52 explicitly. So, for example, running status without any arguments in
53 the project directory will show the status of all the project packages
54 initialized in the default configuration.
55
56 An associated build configuration can be assigned a name in which case
57 we can specify it using the @cfg-name notation. For example:
58
59 $ bdep status @gcc @clang
60
61 A configuration without a name can be specified as a directory using
62 the --config|-c option. Name and directory specifications can be mixed.
63 For example:
64
65 $ bdep status @gcc -c ../builds/clang
66
67 Finally, we can use the --all|-a option to specify all the build con‐
68 figurations associated with the project.
69
71 Send bug reports to the users@build2.org mailing list.
72
74 Copyright (c) 2014-2020 the build2 authors.
75
76 Permission is granted to copy, distribute and/or modify this document
77 under the terms of the MIT License.
78
79
80
81bdep 0.13.0 July 2020 bdep-projects-configs(1)