Yes, there is a piece of the puzzle one could say you missed: ExternalProject_Add
creates a standalone VS solution for the project being added. The normal course of action when using a superbuild (the recommended usage of ExternalProject) is as follows:
- Generate the superbuild project.
- Open the
.sln
of the superbuild project and build it. This will build and install A, and also generate (and build) project B. - Close that
.sln
, and instead open the.sln
generated for B. Do further development using that. Your dependencies are already correctly set up and installed by the build of the superbuild project in the previous step.
So while there is no way to have “configure A” and “develop B normally” in the same .sln
, you can “configure A” and “develop B normally, with dependecies to A correctly set up.” This is (AFAIK) the intended use for ExternalProject superbuilds, and from my own experience works fine.