1bdep-projects-configs(1)    General Commands Manual   bdep-projects-configs(1)
2
3
4

NAME

6       bdep-projects-configs - specifying projects and configurations
7

SYNOPSIS

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

DESCRIPTION

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  di‐
24       rectory is assumed to be either the project root directory, the package
25       root directory, or one of the package subdirectories. This is the  com‐
26       mon  bdep usage mode where you run it from within your project's source
27       code directories, similar to version control tools such as git(1).
28
29       Alternatively, the project or  (several)  package  directories  can  be
30       specified with the --directory|-d options. Note that bdep operates on a
31       single project but potentially  multiple  packages  belonging  to  said
32       project at a time.
33
34       Some  bdep  commands,  such as fetch, operate on the whole project.  If
35       such a command is given a package directory (either as the working  di‐
36       rectory  or  with --directory|-d), then it automatically determines its
37       project directory and uses that.
38
39       Other commands, such as status, operate on one  or  more  packages.  If
40       such  a command is given a project directory, then it automatically de‐
41       termines the list of packages belonging to this project and uses  that.
42       Note  that  what  exactly belonging means is command-specific. For most
43       commands it means all the packages initialized in a given build config‐
44       uration.  For  init  (bdep-init(1)), however, it means all the packages
45       available in the project (for example, as listed in packages.manifest).
46
47       A project managed by bdep has one or more associated  build  configura‐
48       tions  (see  bdep-config(1) for details). Some of these configurations,
49       one per the configuration type, can be designated as default  and  used
50       if  no  configuration is specified explicitly. So, for example, running
51       status without any arguments in the project  directory  will  show  the
52       status  of all the project packages initialized in the default configu‐
53       rations.
54
55       An associated build configuration can be assigned a name in which  case
56       we can specify it using the @cfg-name notation. For example:
57
58       $ bdep status @gcc @clang
59
60       Note  to  Windows  users:  a command line argument with leading @ has a
61       special meaning in PowerShell. To work around this, you can use the al‐
62       ternative -@gcc syntax or the -n gcc option.
63
64       A  configuration  without  a name can be specified as a directory using
65       the --config|-c option. Name and directory specifications can be mixed.
66       For example:
67
68       $ bdep status @gcc -c ../builds/clang
69
70       Finally,  we  can use the --all|-a option to specify all the build con‐
71       figurations associated with the project.
72

BUGS

74       Send bug reports to the users@build2.org mailing list.
75
77       Copyright (c) 2014-2023 the build2 authors.
78
79       Permission is granted to copy, distribute and/or modify  this  document
80       under the terms of the MIT License.
81
82
83
84bdep 0.16.0                        June 2023          bdep-projects-configs(1)
Impressum