ExternalProject had redundant download and extract steps for multi configuration projects
In a multi config build the time stamps for each step are independent and saved in the respective config folder under the stamp folder (Debug and Release). This causes the download extract, patch steps to be repeated for each configuration. This is a problem for in source builds (BUILD_IN_SOURCE 1) since the whole source tree (and build artifacts) get replaced when the second config is built. In source builds are needed for classic visual studio projects (not cmake based).
Wouldn't it be better to have all the configurations (Debug and Release) share the download, extract, patch steps. Could this be solved by just moving the -mkdir, -download, -update, -patch timestamps to their parent directory so they are shared between all configs?