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:
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.
The second button "Run" lets you choose
the build
settings:
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
Build
Finished 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.