Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Build Manager AddIn [VC 6.0]

0.00/5 (No votes)
27 Jul 2003 1  
Enhancement of the AutoBld sample AddIn

Introduction

Sometimes development projects grow huge. You might have multiple workspaces with project dependencies and pragma-linking requiring a specific build order.

This little AddIn lets you define an arbitrary build order for your projects.

Background

The code is based on the sample AddIn called AutoBld that comes with VC6. The main enhancement is that you now can change the build order for each project whereas the AutoBld AddIn only allows to set up a build order for Workspaces.

Installation

Simply put the binary into your %MSDevDir%\AddIns folder and enable it in the Tools | Customize | AddIns & Macros dialog.

Usage

The AddIn installs a toolbar with two icons.

The first button "Configure" opens the configuration dialog:

Configuration Dialog

The configuration dialog lets you specify mail settings to execute when a project or configuration has finished building. You can also chose to close DevStudio, Log off or shut the computer down after all comfigurations have finished building.

Through the "Projects To Build" you can specify the projects that will be built for each configuration. That is also where you can set up the order in which the projects will be built.

Projects Dialog

The second button "Run" lets you choose the build settings:

Build Dialog

Chose the build type and enable the configurations you wish to build, then hit OK to start the build process. 

Implementation

There is one subtlety to the implementation: After the Build command is issued to DevStudio via its IApplication interface you can watch the output window and see that the project has long finished building. Nevertheless, DevStudio won't send the BuildFinished event - no matter how long you wait. The current implementation tries to force the dispatching of the BuildFinish event by re-issuing the Build command for the "hung" project. If anyone could point me to a better strategy I would surely appreciate it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here