use custom ExternalProject to support recursive git submodule; cascade include dirs and link libs in simple support