I have quite a few sub-projects in this project. I had added a few projects on windows that statically linked to the runtime (to make the product more portable). I realized yesterday that it was causing the static runtime flags to be applied for all projects above it too (including the core libraries). So when I was testing a very high level project that pulled the C and C++ versions of the same library to have different runtimes linked (because they each had their own static version).
Anyway to I was replacing add_subdirectory for a few projects with ExternalProject_add()'s so they would get their own runtime compile flags.... but if I do a build, and then wipe out the target install directory and then rerun the install target, the products from the externalprojects don't re-install.
If I just rerun building those targets, it also doesn't re-install...
So how can I trigger external projects to re-install without figuring out what sources they depend on and touching them.