Game Engine Architecture

(Ben Green) #1

74 2. Tools of the Trade


to have an identical bug profi le to that of the release build. Practically speak-
ing, the test team must test both your release and production builds equally
throughout alpha and beta, to ensure that there aren’t any nasty surprises
lurking in your production build. In terms of testability, there is a clear advan-
tage to keeping your build confi gurations to a minimum, and in fact some stu-
dios have no production build for this reason—they simply ship their release
build once it has been thoroughly tested.

2.2.4.3. Project Confi guration Tutorial
Right-clicking on any project in the Solution Explorer and selecting “Proper-
ties...” from the menu brings up the project’s “Property Pages” dialog. The
tree view on the left shows various categories of sett ings. Of these, the three
we will use most are
z Confi guration Properties/General,
z Confi guration Properties/Debugging,
z Confi guration Properties/C++,
z Confi guration Properties/Linker.

Confi gurations Drop-Down Combo Box
Notice the drop-down combo box labeled “Confi guration:” at the top-left cor-
ner of the window. All of the properties displayed on these property pages ap-
ply separately to each build confi guration. If you set a property for the debug
confi guration, this does not necessarily mean that the same sett ing exists for
the release confi guration.
If you click on the combo box to drop down the list, you’ll fi nd that you
can select a single confi guration or multiple confi gurations, including “All
confi gurations.” As a rule of thumb, try to do most of your build confi guration
editing with “All confi gurations” selected. That way, you won’t have to make
the same edits multiple times, once for each confi guration—and you don’t risk
sett ing things up incorrectly in one of the confi gurations by accident. How-
ever, be aware that some sett ings need to be diff erent between the debug and
release confi gurations. For example, function inlining and code optimization
sett ings should of course be diff erent between debug and release builds.
General Tab
On the General tab, shown in Figure 2.10, the most useful fi elds are the fol-
lowing.
z Output directory. This defi nes where the fi nal product(s) of the build will
go—namely the executable, library, or DLL that the compiler/linker ul-
timately outputs.
Free download pdf