How do I write a build batch script that runs vcvars32.bat, and then continues with the build?
You have to use call
in your batch script, or the termination of vcvars32.bat
will terminate your own batch script. Therefore your script should be:
@echo off
call "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
vcbuild
You'll also want to check that the script hasn't run already or you'll start running out of memory if you invoke your script over and over in the same console.
IF '%VSINSTALLDIR%' NOT EQU '' THEN EXIT 0
The exact program files path depends on whether you have a 32 or 64 bit OS and where you installed Visual Studio. Use the VS100COMNTOOLS environment variable which Visual Studio sets up at install time to solve this problem generically.
call "%VS100COMNTOOLS%\..\..\VC\bin\vcvars32.bat"
...
Note that each version of Visual Studio has a specific environment variable based on its underlying version number.
Visual Studio 2005 VS80COMNTOOLS
Visual Studio 2008 VS90COMNTOOLS
Visual Studio 2010 VS100COMNTOOLS
Visual Studio 2012 VS110COMNTOOLS
Visual Studio 2013 VS120COMNTOOLS
Visual Studio 2014 VS130COMNTOOLS
Visual Studio 2015 VS140COMNTOOLS
Visual Studio 2016 VS150COMNTOOLS
Visual Studio 2017 VS160COMNTOOLS
You get the idea.