Click here to Skip to main content
15,557,873 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:

let say I have a large C/C++ codebase, made of several modules (usually static libraries), that are organised in layers getting more and more complex.

The different products use some modules in different combinations and sometimes with different compilation options.

I think I can first create Git repo for each module, and then create a Conan package, define the relevant dependencies for each layer, and finally assemble in each product. Each time the Git module is released, and new version of the Conan package culd be produced.

Now my question:
let's suppose I'm working on a defect in Product A (in a folder,I have all the files/Conana packages needed to build it) and I find that it need a fix in base module Z, I make the fix in Product A folder.
Unless I'm mistaken, the package Z in folder of product A doesn't have any link to its Git repo, and I would have to make the correction also in original Git module Z, produce new Conan package Z, and finally update the dependency in Product A (or in the intermediate dependent module).

Is it a suitable workflow ?

What would you advise for managing projects having multiple layers of dependencies, and still keep some kind of changelog and identification of modules/versions used in a specific version of a product (for maintenance) ?

What I have tried:

I've browsed thru some docmentation for Conan and Buckaroo, even watched some online training, but I still don't understand how to design a workflow
Updated 20-Jun-22 8:56am

1 solution

Maybe you can find some inspiration in this article that discusses the use of Git submodules:
Share this answer

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900