I have a cmake project which is something like my personal codebase/portfolio, which contains >100 render targers (libraries and examples for different algorithms and sketches). I'm starting to have some problems with heaving everything in one cmake project. For example:
- I would like to make some smaller self-contained sub-sets of functionality which would ommit some dependencies, or add some dependency which I don't what to have in the main project
- Recompilation of the whole project takes long time
- In my IDE (Code::Blocks) it takes me quite long time to find particular file or build target, since there is many of them
- Because some targets are dynamic libraries I have to compile everything with
-fPIC
due to inter-dependencies. But for some application ommiting-fPIC
can give additional speed.
I'm thinking to create several independent cmake project to manage these things more easily, but these project would share considerable part of codebase.
I guess this problem should be quite common, so I would like to know how other people solve it.