I have the following project form (in Visual Studio terminology):
- MainProject solution
- MainProjectA Project
- MainProjectB Project
- Plugin1 solution
- Plugin1A Project
- Plugin1B Project
- Plugin2 solution (and the projects...)
Now, if I try to "convert" this terminology to CMake it would be (I think):
- MainProject project (using "project()")
- MainProjectA target (set by add_library(), add_executable() or add_custom_target())
- MainProjectB target
- Plugin1 project
- Plugin1A target
- Plugin1B target
- Plugin2 project... (and the targets...)
It is important to point out, each "project/solution" has its own installer (i.e. DEB, MSI, PKG) created by CPack.
Is it possible to create the above multi-level CMake project (i.e. Having another level "above" "CMake project"/"VS solution")?
If it is possible, what is the correct/standard way to define/structure it? Do notice, each "project/solution" has its own installer (created with CPack).
I prefer this kind of structure as the different projects/solutions share configurations, and I don't want to replicate the configurations across the different projects.
I would prefer to avoid "ExternalProject_Add", but having a multi-level "tree" - if it is possible.