This page discusses how to build the Magic Lantern SDK for Microsoft Win32 platforms using MSBuild. Instructions for building the Magic Lantern SDK for Microsoft platforms using Visual Studio can be found at SDK Build Environment using Microsoft Visual Studio.
This section identifies dependencies for building the Magic Lantern SDK.
These instructions assume the following
Set the variable MLE_HOME to reference the home of the Magic Lantern source. This document assumes that it is set to "M:\projects\MagicLantern".
Set the variable MLE_ROOT to reference the root directory where the Magic Lantern components will be installed. This document assumes that it is set to "M:/projects/MagicLantern".
Note that this variable uses the UNIX-style path delimiter ('/').
Set the variable MLE_WORKPRINTS to the root directory where Magic Lantern Digital Workprints can be located. This document assumes that it is set to //M/projects/MagicLantern.
The Magic Lantern Studio assumes that the Digital Workprints will be located under the $MLE_WORKPRINTS/workprints directory.
Note that this variable uses a canonical path style for the drive (i.e. //M/).
Set the MLEDEV_CORE variable to the development directory where the Core library source is. This value will most likely be $MLE_HOME\Core.
Set the MLEDEV_DWP variable to the development directory where the Digital Workprint library source is. This value will most likely be $MLE_HOME\DigitalWorkprint.
Set the MLEDEV_DPP variable to the development directory where the Digital Playprint library source is. This value will most likely be $MLE_HOME\DigitalPlayprint.
Set the TCL_HOME variable to the installation directory for ActiveTcl. For these instructions, use M:\Tcl.
Set the COINDIR variable to the installation directory for Coin3D. For these instructions, use M:\Coin3D.
Set the FREEIMAGEDIR variable to the installation directory for FreeImage. For these instructions, use M:\FreeImage\Dist.
Set the BRENDER_PATH variable to the installation directory for BRender. For these instructions, use M:\BRENDER\V1_2_1\DAT.
Make sure the following paths are part of the PATH environment variable.
To build the SDK for a 32-bit platform, do the following:
See Microsoft MSBuild 32-bit Targets for more information concerning available build targets.
To build the SDK for a 64-bit platform, do the following:
See Microsoft MSBuild 64-bit Targets for more information concerning available build targets.
The following targets are available:
| Target | Components | Location | Description |
|---|---|---|---|
| BuildSDK32 | Build all the SDK components for the 32-bit platform | ||
| BuildStudio32 | Build all the Studio components for the 32-bit platform | ||
| BuildRehearsal32 | Build all the Rehearsal Player components for the 32-bit platform | ||
| BuildBrender32 | Build all the BRender components for the 32-bit platform | ||
| BuildUtil32 | Build all the util components for the 32-bit platform | ||
| util.lib | "$MLE_HOME\lib\tools" | Magic Lantern 32-bit Studio (Release) | |
| utild.lib | "$MLE_HOME\lib\tools" | Magic Lantern 32-bit Studio (Debug) | |
| BuildMath32 | Build all the math components for the 32-bit platform | ||
| mlmath.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern 32-bit SDK (BRender Floating-point Release) | |
| mlmathd.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern 32-bit SDK (BRender Floating-point Debug) | |
| mlfmath.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern 32-bit SDK (BRender Fixed-point Release) | |
| mlfmathd.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern 32-bit SDK (BRender Fixed-point Debug) | |
| mlmath.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern 32-bit Studio (Floating-point Release) | |
| mlmath.lib | "$MLE_HOME\lib\tools" | Magic Lantern 32-bit Studio (Floating-point Release) | |
| mlmathd.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern 32-bit Studio (Floating-point Debug) | |
| mlmathd.lib | "$MLE_HOME\lib\tools" | Magic Lantern 32-bit Studio (Floating-point Debug) | |
| mlmath.dll | "$MLE_HOME\bin\rehearsal" | Magic Lantern 32-bit Studio (Floating-point Release DLL) | |
| mlmath.lib | "$MLE_HOME\lib\rehearsal" | Magic Lantern 32-bit Studio (Floating-point Release DLL Symbols) | |
| mlmathd.dl* | "$MLE_HOME\bin\rehearsal" | Magic Lantern 32-bit Studio (Floating-point Debug DLL) | |
| mlmathd.lib | "$MLE_HOME\lib\rehearsal" | Magic Lantern 32-bit Studio (Floating-point Debug DLL Symbols) | |
| BuildDwp32 | Build all the Digital Workprint components for the 32-bit platform | ||
| DWPBase.lib | "$MLE_HOME\lib\tools" | DWP Base library, Magic Lantern 32-bit Studio (Release) | |
| DWPBased.lib | "$MLE_HOME\lib\tools" | DWP Base library, Magic Lantern 32-bit Studio (Debug) | |
| DWPType.lib | "$MLE_HOME\lib\tools" | DWP Type library, Magic Lantern 32-bit Studio (Release) | |
| DWPTyped.lib | "$MLE_HOME\lib\tools" | DWP Type library, Magic Lantern 32-bit Studio (Debug) | |
| DWPModel.lib | "$MLE_HOME\lib\tools" | DWP Model library, Magic Lantern 32-bit Studio (Release) | |
| DWPModeld.lib | "$MLE_HOME\lib\tools" | DWP Model library, Magic Lantern 32-bit Studio (Debug) | |
| DWP.lib | "$MLE_HOME\lib\tools" | DWP SDK library, Magic Lantern 32-bit Studio (Release) | |
| DWPd.lib | "$MLE_HOME\lib\tools" | DWP SDK library, Magic Lantern 32-bit Studio (Debug) | |
| DWP.dll | "$MLE_HOME\bin\rehearsal" | DWP SDK library, Magic Lantern 32-bit Studio (Release DLL) | |
| DWP.lib | "$MLE_HOME\lib\rehearsal" | DWP SDK library, Magic Lantern 32-bit Studio (Release DLL Symbols) | |
| DWPd.dll | "$MLE_HOME\bin\rehearsal | DWP SDK library, Magic Lantern 32-bit Studio (Debug DLL) | |
| DWPd.lib | "$MLE_HOME\lib\rehearsal" | DWP SDK library, Magic Lantern 32-bit Studio (Debug DLL Symbols) | |
| DWPChecker.exe | "$MLE_HOME\bin" | DWP Validation tool, Magic Lantern 32-bit Studio (Release) | |
| BuildDpp32 | Build all the Digital Playprint library components for the 32-bit platform | ||
| DPPBase.lib | "$MLE_HOME\lib\tools" | DPP Base library, Magic Lantern 32-bit Studio (Release) | |
| DPPBased.lib | "$MLE_HOME\lib\tools" | DPP Base library, Magic Lantern 32-bit Studio (Debug) | |
| DPPType.lib | "$MLE_HOME\lib\tools" | DPP Type library, Magic Lantern 32-bit Studio (Release) | |
| DPPTyped.lib | "$MLE_HOME\lib\tools" | DPP Type library, Magic Lantern 32-bit Studio (Debug) | |
| DPPModel.lib | "$MLE_HOME\lib\tools" | DPP Model library, Magic Lantern 32-bit Studio (Release) | |
| DPPModeld.lib | "$MLE_HOME\lib\tools" | DPP Model library, Magic Lantern 32-bit Studio (Debug) | |
| DPP.lib | "$MLE_HOME\lib\tools" | DPP SDK library, Magic Lantern 32-bit Studio (Release) | |
| DPPd.lib | "$MLE_HOME\lib\tools" | DPP SDK library, Magic Lantern 32-bit Studio (Debug) | |
| BuildDppRuntime32 | Build all the Digital Playprint runtime components for the 32-bit platform | ||
| playprint.lib | "$MLE_HOME\lib\tools" | Magic Lantern Studio (Release) | |
| playprint.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern 32-bit SDK (BRender Release) | |
| playprint.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern 32-bit SDK (Other Release) | |
| playprintd.lib | "$MLE_HOME\lib\tools" | Magic Lantern 32-bit Studio (Debug) | |
| playprintd.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern 32-bit SDK (BRender Debug) | |
| playprintd.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern 32-bit SDK (Other Debug) | |
| BuildDppMaster32 | Build all the Digital Playprint mastering components for the 32-bit platform | ||
| DPPGen.lib | "$MLE_HOME\lib\tools" | Magic Lantern 32-bit Studio Mastering Library (Release) | |
| DPPGend.lib | "$MLE_HOME\lib\tools" | Magic Lantern 32-bit Studio Mastering Library (Debug) | |
| gentables.exe | "$MLE_HOME\bin" | Generates the tables (source code) for the title (Release) | |
| gengroup.exe | "$MLE_HOME\bin" | Generates the Group chunks for the DPP (Release) | |
| genscene.exe | "$MLE_HOME\bin" | Generates the Scene chunks for the DPP (Release) | |
| genmedia.exe | "$MLE_HOME\bin" | Generates the MediaRef chunks for the DPP (Release) | |
| gendppscript.exe | "$MLE_HOME\bin" | Generates a TCL script for laying out the DPP (Release) | |
| gendpp.exe | "$MLE_HOME\bin" | Generates a DPP using the TCL script (Release) | |
| genmakefile.exe | "$MLE_HOME\bin" | Generates a Makefile for the title (Release) | |
| dumpgroup.exe | "$MLE_HOME\bin" | Dump the contents of a Group chunk (Release) | |
| dumpmedia.exe | "$MLE_HOME\bin" | Dump the contents of a MediaRef chunk (Release) | |
| dumpscene.exe | "$MLE_HOME\bin" | Dump the contenst of a Scene chunk (Release) | |
| dumpdpp.exe | "$MLE_HOME\bin" | Dump the contents of a Digital Playprint (Release) | |
| BuildRuntime32 | Build all the runtime engine components for the 32-bit platform | ||
| mlert.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern 32-bit Runtime Engine (BRender Release) | |
| mlert.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern 32-bit Runtime Engine (Release) | |
| mlertd.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern 32-bit Runtime Engine (BRender Debug) | |
| mlertd.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern 32-bit Runtime Engine (Debug) | |
| mlert.dll | "$MLE_HOME\bin\rehearsal" | Magic Lantern 32-bitRuntime Engine (Release DLL) | |
| mlert.lib | "$MLE_HOME\lib\rehearsal" | Magic Lantern 32-bit Runtime Engine (Release DLL Symbols) | |
| mlertd.dll | "$MLE_HOME\bin\rehearsal" | Magic Lantern 32-bit Runtime Engine (Debug DLL) | |
| mlertd.lib | "$MLE_HOME\lib\rehearsal" | Magic Lantern 32-bit Runtime Engine (Debug DLL Symbols) | |
| BuildATK32 | Build all the authoring toolkit components for the 32-bit platform | ||
| mleatk.lib | "$MLE_HOME\lib\rehearsal" | Magic Lantern 32-bit Studio ATK (Release) | |
| mleatkd.lib | "$MLE_HOME\lib\rehearsal" | Magic Lantern 32-bit Studio ATK (Debug) | |
| BuildProperties32 | Build all the props components for the 32-bit platform | ||
| BuildRehearsalSets32 | Build all the Rehearsal Player set components for the 32-bit platform | ||
| Mle2dSet.dll | "$MLE_HOME\bin\rehearsal" | Set for 2-dimensional rendering (Release Dll) | |
| Mle2dSet.lib | "$MLE_HOME\lib\rehearsal" | Set for 2-dimensional rendering (Release DLL Symbols) | |
| Mle2dSetd.dll | "$MLE_HOME\bin\rehearsal" | Set for 2-dimensional rendering (Debug DLL) | |
| Mle2dSetd.lib | "$MLE_HOME\lib\rehearsal" | Set for 2-dimensional rendering (Debug DLL Symbols) | |
| Mle3dSet.dll | "$MLE_HOME\bin\rehearsal" | Set for 3-dimensional rendering (Release DLL) | |
| Mle3dSet.lib | "$MLE_HOME\lib\rehearsal" | Set for 3-dimensional rendering (Release DLL Symbols) | |
| Mle3dSetd.dll | "$MLE_HOME\bin\rehearsal" | Set for 3-dimensional rendering (Debug DLL) | |
| Mle3dSetd.lib | "$MLE_HOME\lib\rehearsal" | Set for 3-dimensional rendering (Debug DLL Symbols) | |
| BuildBrenderSets32 | Build all the BRender set components for the 32-bit platform | ||
| brsets.lib | "$MLE_HOME\lib\brender" | Magic Lantern 32-bit SDK (BRender Release) | |
| brsetsd.lib | "$MLE_HOME\lib\brender" | Magic Lantern 32-bit SDK (BRender Debug) | |
| BuildRehearsalRoles32 | Build all the Rehearsal Player role components for the 32-bit platform | ||
| ivroles.lib | "$MLE_HOME\lib\rehearsal" | Magic Lantern Studio SDK(Inventor Release) | |
| ivrolesd.lib | "$MLE_HOME\lib\rehearsal" | Magic Lantern Studio SDK (Inventor Debug) | |
| Mle2dRole.dll | "$MLE_HOME\bin\rehearsal" | Role for 2-dimensional rendering (Release DLL) | |
| Mle2dRole.lib | "$MLE_HOME\lib\rehearsal" | Role for 2-dimensional rendering (Release DLL Symbols) | |
| Mle2dRoled.dll | "$MLE_HOME\bin\rehearsal" | Role for 2-dimensional rendering (Debug DLL) | |
| Mle2dRoled.lib | "$MLE_HOME\lib\rehearsal" | Role for 2-dimensional rendering (Debug DLL Symbols) | |
| Mle2dImageRole.dll | "$MLE_HOME\bin\rehearsal" | Role for 2-dimensional image (Release DLL) | |
| Mle2dImageRole.lib | "$MLE_HOME\lib\rehearsal" | Role for 2-dimensional image (Release DLL Symbols) | |
| Mle2dImageRoled.dll | "$MLE_HOME\bin\rehearsal" | Role for 2-dimensional image(Debug DLL) | |
| Mle2dImageRoled.lib | "$MLE_HOME\lib\rehearsal" | Role for 2-dimensional image(Debug DLL Symbols) | |
| Mle3dRole.dll | "$MLE_HOME\bin\rehearsal" | Role for 3-dimensional rendering (Release DLL) | |
| Mle3dRole.lib | "$MLE_HOME\lib\rehearsal" | Role for 3-dimensional rendering (Release DLL Symbols) | |
| Mle3dRoled.dll | "$MLE_HOME\bin\rehearsal" | Role for 3-dimensional rendering (Debug DLL) | |
| Mle3dRoled.lib | "$MLE_HOME\lib\rehearsal" | Role for 3-dimensional rendering (Debug DLL Symbols) | |
| BuildBrenderRoles32 | Build all the BRender role components for the 32-bit platform | ||
| brroles.lib | "$MLE_HOME\lib\brender" | Magic Lantern 32-bit SDK (BRender Release) | |
| brrolesd.lib | "$MLE_HOME\lib\brender" | Magic Lantern 32-bit SDK (BRender Debug) | |
| BuildRehearsalMediaRefs32 | Build all the Rehearsal Player mediaref components for the 32-bit platform | ||
| Mle2dImageMediaRef.dll | "$MLE_HOME\bin\rehearsal" | 2D Image MediaRef (Release DLL) | |
| Mle2dImageMediaRef.lib | "$MLE_HOME\lib\rehearsal" | 2D Image MediaRef (Release DLL Symbols) | |
| Mle2dImageMediaRefd.dll | "$MLE_HOME\bin\rehearsal" | 2D Image MediaRef (Debug DLL) | |
| Mle2dImageMediaRefd.lib | "$MLE_HOME\lib\rehearsal" | 2D Image MediaRef (Debug DLL Symbols) | |
| Mle3dColorMapMediaRef.dll | "$MLE_HOME\bin\rehearsal" | 3D Color Map MediaRef (Release DLL) | |
| Mle3dColorMapMediaRef.lib | "$MLE_HOME\lib\rehearsal" | 3D Color Map MediaRef (Release DLL Symbols) | |
| Mle3dColorMapMediaRefd.dll | "$MLE_HOME\bin\rehearsal" | 3D Color Map MediaRef (Debug DLL) | |
| Mle3dColorMapMediaRefd.lib | "$MLE_HOME\lib\rehearsal" | 3D Color Map MediaRef (Debug DLL Symbols) | |
| Mle3dModelMediaRef.dll | "$MLE_HOME\bin\rehearsal" | 3D Model MediaRef (Release DLL) | |
| Mle3dModelMediaRef.lib | "$MLE_HOME\lib\rehearsal" | 3D Model MediaRef (Release DLL Symbols) | |
| Mle3dModelMediaRefd.dll | "$MLE_HOME\bin\rehearsal" | 3D Model MediaRef (Debug DLL) | |
| Mle3dModelMediaRefd.lib | "$MLE_HOME\lib\rehearsal" | 3D Model MediaRef (Debug DLL Symbols) | |
| Mle3dTextureMapMediaRef.dll | "$MLE_HOME\bin\rehearsal" | 3D Texture Map MediaRef (Release DLL) | |
| Mle3dTextureMapMediaRef.lib | "$MLE_HOME\lib\rehearsal" | 3D Texture Map MediaRef (Release DLL Symbols) | |
| Mle3dTextureMapMediaRefd.dll | "$MLE_HOME\bin\rehearsal" | 3D Texture Map MediaRef (Debug DLL) | |
| Mle3dTextureMapMediaRefd.lib | "$MLE_HOME\lib\rehearsal" | 3D Texture Map MediaRef (Debug DLL Symbols) | |
| BuildBrenderMediaRefs32 | Build all the BRender mediaref components for the 32-bit platform | ||
| brmrefs.lib | "$MLE_HOME\lib\brender" | Magic Lantern Studio SDK (BRender Release) | |
| brmrefsd.lib | "$MLE_HOME\lib\brender" | Magic Lantern Studio SDK (BRender Debug) | |
| BuildRehearsalActors32 | Build all the Rehearsal Player actor components for the 32-bit platform | ||
| MleEscapeActor.dll | "$MLE_HOME\bin\rehearsal" | Escape Key Actor (Release DLL) | |
| MleEscapeActor.lib | "$MLE_HOME\lib\rehearsal" | Escape Key Actor (Release DLL Symbols) | |
| MleEscapeActord.dll | "$MLE_HOME\bin\rehearsal" | Escape Key Actor (Debug DLL) | |
| MleEscapeActord.lib | "$MLE_HOME\lib\rehearsal" | Escape Key Actor (Debug DLL Symbols) | |
| Mle3dCameraActor.dll | "$MLE_HOME\bin\rehearsal" | 3D Camera Actor (Release DLL) | |
| Mle3dCameraActor.lib | "$MLE_HOME\lib\rehearsal" | 3D Camera Actor (Release DLL Symbols) | |
| Mle3dCameraActord.dll | "$MLE_HOME\bin\rehearsal" | 3D Camera Actor (Debug DLL) | |
| Mle3dCameraActord.lib | "$MLE_HOME\lib\rehearsal" | 3D Camera Actor (Debug DLL Symbols) | |
| Mle2dImageActor.dll | "$MLE_HOME\bin\rehearsal" | Image Actor (Release DLL) | |
| Mle2dImageActor.lib | "$MLE_HOME\lib\rehearsal" | Image Actor (Release DLL Symbols) | |
| Mle2dImageActord.dll | "$MLE_HOME\bin\rehearsal" | Image Actor (Debug DLL) | |
| Mle2dImageActord.lib | "$MLE_HOME\lib\rehearsal" | Image Actor (Debug DLL Symbols) | |
| BuildBrenderActors32 | Build all the BRender actor components for the 32-bit platform | ||
| actors.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern 32-bit SDK (Release) | |
| actors.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern 32-bit SDK (Release) | |
| actorsd.lib | "$MLE_HOME\lib\runtime\stdcall" | Magic Lantern 32-bit SDK (Debug) | |
| actorsd.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern 32-bit SDK (Debug) | |
| BuildRehearsalStage32 | Build all the Rehearsal Player stage components for the 32-bit platform | ||
| MleIvStage.dll | "$MLE_HOME\bin\rehearsal" | Inventor 32-bit Stage (Release DLL) | |
| MleIvStage.lib | "$MLE_HOME\lib\rehearsal" | Inventor 32-bit Stage (Release DLL Symbols) | |
| MleIvStaged.dll | "$MLE_HOME\bin\rehearsal" | Inventor 32-bit Stage (Debug DLL) | |
| MleIvStaged.lib | "$MLE_HOME\lib\rehearsal" | Inventor 32-bit Stage (Debug DLL Symbols) | |
| BuildBrenderStage32 | Build all the BRender stage components for the 32-bit platform | ||
| pcstage.lib | "$MLE_HOME\lib\brender" | A common stage library for the Win32 platform (BRender Release) | |
| pcstaged.lib | "$MLE_HOME\lib\brender" | A common stage library for the Win32 platform (BRender Debug) | |
| brstage.lib | "$MLE_HOME\lib\brender" | Magic Lantern Studio SDK (BRender Release) | |
| brstaged.lib | "$MLE_HOME\lib\brender" | Magic Lantern Studio SDK (Brender Debug) | |
| BuildRehearsalPlayer32 | Build all the Rehearsal Player for the 32-bit platform | ||
| player.exe | "$MLE_HOME\bin\rehearsal" | Magic Lantern 32-bit Rehearsal Player (Release) | |
| BuildBrenderPackages32 | Build all the BRender package components for the 32-bit platform | ||
| pkgs.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern 32-bit SDK (Floating-point Release) | |
| pkgsd.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern 32-bit SDK (Floating-point Debug) | |
| fpkgs.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern 32-bit SDK(Fixed-point Release) | |
| fpkgsd.lib | "$MLE_HOME\lib\runtime\cdecl" | Magic Lantern 32-bit SDK (Fixed-point Debug) |