toolchain: Add script to pull and build on Windows
authorCody Northrop <cody@lunarg.com>
Tue, 12 May 2015 22:23:59 +0000 (16:23 -0600)
committerCody Northrop <cody@lunarg.com>
Tue, 7 Jul 2015 17:33:46 +0000 (11:33 -0600)
commita8ac135a2d6fa09229443f0c27549efe4d649c19
treea29dc16b4dda875ca08848b39ae9a53ab8ac9796
parenta02b2b926bafb51e2d450c7677f88e03ce1bea01
toolchain: Add script to pull and build on Windows

Summary:

Add Windows version of update_external_sources, and relocate
glslang and LunarGLASS target revisions to external files shared
with Linux.

Details:

On Linux, we've successfully been using update_external_sources.sh
to get on the target version of glslang (which generates SPIR-V) and
LunarGLASS (which consumes SPIR-V).  Both of these components are
peers to the typical Vulkan directory structure:

   /LoaderAndTools
       /layers
       /loader
       /demos
       /...
   /glslang
   /LunarGLASS

There hasn't been an equivalent on Windows, so tedious manual steps
and GUIs have been used on individual systems.

This commit introduces a Windows batch script that automates the
process similar to Linux.  It detects if you have the required
dependendcies and early-outs for any problems.

If you are a Windows developer that only wants spirv headers, run:

  update_external_sources.bat --sync-glslang

If you want to build the Windows version of glslangValidator.exe, run:

  update_external_sources.bat --build-glslang

If you want to run LunarGOO with SPIR-V support on Windows, run:

  update_external_sources.bat --build-LunarGLASS

The script builds Debug and Release x64 versions, and should be run from:

  Developer Command Prompt for VS2013

This commit also relocates the target version of glslang and LunarGLASS
to an external shared file that only contains the version number of
each.  Both scripts read the value from the file, therefore they
cannot get out of sync.
BUILD.md
LunarGLASS_revision [new file with mode: 0644]
glslang_revision [new file with mode: 0644]
update_external_sources.bat [new file with mode: 0755]
update_external_sources.sh