Download source files - 4 Kb
Introduction
VCMake is a VBScript make utility for automating building of Microsoft Visual C++ workspaces and
project files. With Visual C++ 6.0, Microsoft added the ability to build .DSP files from DevStudio
without exporting a makefile. Unfortunately, unlike NMAKE, it doesn't return an exitcode to indicate
the success or failure of the build, and it is missing important options such as /A to force a rebuild.
VCMake provides all these missing capabilities, and it works well in conjunction with the
Visual Build build management tool.
This script builds a given project (.dsp) or all the given projects in a workspace (.dsw). It
builds the specified configuration or all configurations if not specified.
Usage:
cscript VCMake.vbs [configuration] [/S] [/F] [/N]
Output is echoed to standard output; returns an exitcode of 0 if sucessful or < 0 if any
errors occur.
The first parameter must be a valid DevStudio workspace file (.DSW) or project file (.DSP); the
second parameter, if provided, must be the project configuration to build (the configuration must
exist for all projects in the workspace), and the following optional flags are supported
(non-case-sensitive):
- /S => Suppress default output (only displays error output)
- /N => displays commands but does not execute. Useful for debugging.
- /F => forces all targets to be rebuilt regardless of dependency dates
e.g.: cscript VCMake.vbs MyProjects.dsw "Win32 Release" /s
Dependencies:
- Microsoft Windows Scripting 5.0+ (comes with Win98 & Win2000, download for NT 4.0 and Win95
at http://msdn.microsoft.com/scripting)
- Visual C++ 6.0+ (might work with 5.0 but not tested). If SourceSafe is also installed, is
recommended that you disable SourceSafe integration in VC on the build machine to prevent
the possibility of dialog boxes requiring user input when building. This is done by setting
the registry value
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Source Control\Disabled
to a
value of 1 (the DevStudio IDE must be closed when setting the entry or it will be overwritten).