<!-- Link to source file download -->
Download source files - 4 Kb
<!-- Add the rest of your HTML here -->
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.
cscript VCMake.vbs <dsp dsw="" file=""> [configuration] [/S] [/F] [/N]
Output is echoed to standard output; returns an exitcode of 0 if sucessful or < 0 if any
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
- /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
cscript VCMake.vbs MyProjects.dsw "Win32 Release" /s
- Microsoft Windows Scripting 5.0+ (comes with Win98 & Win2000, download for NT 4.0 and Win95
- 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).