c++project-managementbuild-process

"Static plugin" system (via build system) in C++


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?


Solution

  • 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!