[build2] Working with multiple projects locally

Per Edin per.edin at sequence-point.se
Thu Apr 25 16:41:06 UTC 2019


Boris, could you share some advice on how to work with multiple
projects locally? Without having to mess too much with remote
repositories, and whatnot.

I'm currently working on 4 related, but separate projects and tried
the following approach:

$ b create: build-default/,cc config.cxx=clang++

$ b configure: libone/@build-default/libone/
$ b configure: libtwo/@build-default/libtwo/
$ b configure: libthree/@build-default/libthree/
$ b configure: my-app/@build-default/my-app/

$ b build-default/

(my-app depends on libthree, which in turn depends on libone and
libtwo.) This all worked fine, no need to mess with config.import.*,
"depends: " in manifest files, etc. I imported libthree%lib{three} in
my-app and it just worked.

Then one day I needed to add dependencies to libthree and my-app (from
cppget) and I got stuck. I tried to use bdep instead:

$ rm -rf build-default/libthree/
$ cd libthree/
$ vi manifest # add depends: libssl
$ vi repositories.manifest # enable cppget
$ bdep config create ../build-default/libthree/
$ cd ..
$ b build-default/
error: build-default/libthree/ cannot be amalgamated

Any advice would be greatly appreciated!

Kind regards,
Per Edin

More information about the users mailing list