preTools are "front-ends" to Microsoft's build utilities. Instead of running a tool such as Nmake or Build, you run a preTool in its place. The preTool simply initializes a bunch of environment variables before launching the tool. The tool then runs in the context of the environment created.
Pretools are console applications which will operate on any Windows platform that supports the Win32 API.
preTools make it easy for a developer to switch between complex build environments without having to launch separate console windows or multiple instances of an IDE.
Each preTool has an associated XML configuration file that defines detection rules for build components and defines build configurations. By detecting build components using the registry, it is possible to move the same XML configuration file to different systems and the environment is automatically adjusted.
Project teams will benefit by sharing a common preTool configuration file. It will assure that all developers are using the same build components and common build configurations.
Developers who need to build their projects during the rollout of new operating system releases can use preTools to maintain separate build configurations for each beta release of SDKs, DDKs, and third party libraries.
Supported preToolsThe following preTools are currently available:
|premake||NMAKE.EXE||Microsoft's version of "make"|
|prebuild||BUILD.EXE||Microsoft's DDK/WDK tool for building device drivers.|
|prevcbld||VCBUILD.EXE||Microsoft's stand-alone build tool for Visual Studio solution (.sln) and project files (.vcproj) from VS.NET 2003 or newer|
preTools User's Guide
The preTools User's Guide is available as a download and is also viewable here in HTML format.
preTools and Eclipse
The preTools Project has been developed and is maintained in the Eclipse/CDT IDE. Here are "How-to" guides for setting up preTools as an Eclipse C++ project:
- How-to Check-out preTools from CVS into Eclipse C++ project
- How-to Import preTools into Eclipse C++ project from the Zip Distribution
Other potential candidates for preTools are: devenv.exe (the Visual Studio command-line), msbuild.exe (the .NET Build Engine), and preFast.exe (a C/C++ lint tool from the DDK/WDK).