Make CMake safer for non-standard development environments
CMake has a deficiency where it does not propagate toolchain files to external projects, nor cache entries related to these toolchains. To support a workaround, add propagate_cache_variables(), which takes a list of designated cache variables and constructs definitions to pass to external projects. Use this function for all the external projects in the present commit. Changed CONFIGURE_COMMAND in external projects to CMAKE_ARGS. CONFIGURE_COMMAND does not pass on certain CMake configuration parameters, mostly notably here any generator specified by -G. Remove some architectural specifications that not only assumed Visual Studio, but are passed to external projects by default if CONFIGURE_COMMAND is not used. Added definition CMAKE_POSITION_INDEPENDENT_CODE=ON, which abstracts the -fPIC compiler flag.
TYPE: BUG DESC: Make CMake safe for non-standard development environments
@eric-hughes-tiledb this is safe to close right?