Use add_subdirectory instead of subdirs in top-level directory

Process the GCC and GCC_XML subdirectories before loading the
gccxmlCPack.cmake file.  Otherwise GCCXML_VERSION_* variable settings in
that file trigger a CMake 3.0 policy CMP0048 warning on the
GCC_XML/CMakeLists.txt project() command invocation.
Do not use the LOCATION target property

CMake 3.0 policy CMP0026 deprecates this property.  Simply use the
target name instead because add_custom_command will transform it to the
location anyway.
Add dependency on vcInstallPatch only when it exists

The vcInstallPatch target exists conditionally.  CMake 3.0 policy
CMP0046 adds a diagnostic when add_dependencies names a missing target.
Add this dependency only when the target is available.