bdep-projects-configs(1)
π bdep-projects-configs(1) β the general commands manual, bestie π
okay so this is bdep-projects-configs(1), and it's literally the page that explains how you tell bdep which project and which build configurations you're talking about. no cap, it's giving foundational. let's get into it π«Ά
β¨ NAME β¨
bdep-projects-configs β specifying projects and configurations πΈ
β¨ SYNOPSIS β¨
bdep command [pkg-spec] [cfg-spec] ...
cfg-spec = (@cfg-name | --config|-c cfg-dir)... | --all|-a
pkg-spec = (--directory|-d pkg-dir)... | prj-spec
prj-spec = --directory|-d prj-dir
β¨ DESCRIPTION β¨
so most bdep commands operate on a project, or on some of its packages, plus its build configurations. like, take status (bdep-status(1)) β it shows you the status of one or more project packages across one or more build configurations. and fetch (bdep-fetch(1))? it fetches the list of dependency packages available to the project, again, in one or more build configurations. same vibe, different job π
if you don't pass any --directory|-d options, then the current working directory is assumed to be one of: the project root directory, the package root directory, or one of the package subdirectories. this is the common bdep usage mode β you just run it from inside your project's source code directories, kinda like how you'd use version control tools such as git(1). iconic behavior, honestly.
or, alternatively, you can point at the project directory or at (several) package directories with the --directory|-d options. heads up though: bdep operates on a single project but potentially multiple packages belonging to that project at a time. one project, many packages, that's the rule π
some bdep commands, like fetch, operate on the whole project. if you hand one of those a package directory (either as the working directory or via --directory|-d), it automatically figures out the project directory and uses that. it's giving main character energy β it finds its own way π¦
other commands, like status, operate on one or more packages. if you hand one of those a project directory, it automatically determines the list of packages belonging to that project and uses that. and ngl, what exactly belonging means is command-specific β for most commands it means all the packages initialized in a given build configuration. but for init (bdep-init(1)), it means all the packages available in the project (for example, as listed in packages.manifest). iykyk β¨
a project managed by bdep has one or more associated build configurations (peep bdep-config(1) for the deets). some of these configurations β one per configuration type β can be designated as default and get used when you don't specify a configuration explicitly. so like, running status with no arguments in the project directory will show the status of all the project packages initialized in the default configurations. slay, no arguments needed π
an associated build configuration can be assigned a name, and if it has one, you can specify it with the @cfg-name notation. for example:
$ bdep status @gcc @clang
note to Windows users: a command line argument with a leading@has a special meaning in PowerShell. to work around this, you can use the alternative-@gccsyntax or the-n gccoption. not me warning you before you suffer π
a configuration without a name can be specified as a directory using the --config|-c option. and yes, name and directory specifications can be mixed together. for example:
$ bdep status @gcc -c ../builds/clang
and finally β the grand finale β you can use the --all|-a option to specify all the build configurations associated with the project. every single one. periodt π
β¨ BUGS β¨
found a bug? send bug reports to the users@build2.org mailing list. they wanna hear it, fr fr ππ
β¨ COPYRIGHT β¨
Copyright (c) 2014-2024 the build2 authors.
Permission is granted to copy, distribute and/or modify this document under the terms of the MIT License. π
and that's the whole page, bestie β this was bdep 0.17.0, from June 2024, the general commands manual. go configure something iconic β¨π
π¦ where this page comes from
- fedora 43: bdep 0.17.0-5.fc43 Β· MIT
- fedora 44: bdep 0.17.0-7.fc44 Β· MIT
- nixos 26.05: bdep 0.17.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms