Use ExternalProject_Add instead of submodules
This replaces Git submodules with ExternalProject_Add, so that we have more flexibility to add arbitrary CMake flags to the external projects.
Edited by Christopher Ho
This replaces Git submodules with ExternalProject_Add, so that we have more flexibility to add arbitrary CMake flags to the external projects.