I am working on a C++ product currently. It was designed to have a fair amount of flexibility and has grown bigger and bigger. Now we are planning to cooperate in a project where we would like to contribute parts of the product: some parts as source code, some parts as static link libraries, some parts not at all.
I would like to keep one version of every source file which is used in both projects and avoid branching the whole thing etc. So I was wondering what I need to be able to have the "full product" internally with all files and also be able to extract a part of these files (every now and then) and pass this subset as a working unit to others. (I assume we can ensure that these files are not changed in the cooperation project, we will only add stuff there.)
I guess I need
Are there any internet resources that might help. What are the keywords to search for?
Do you have any suggestions on how to handle this?
There's an interesting article series from Dr Dobbs that you might want to check out. I seem to remember that it supports static linking of plugins in addition to the usual dynamic linking. Check out Building Your Own Plugin Framework.
Good luck!