Menu

SDK_Build_Environment_using_MSBuild

There is a newer version of this page. You can find it here.

SDK Build Environment using Microsoft MSBuild

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.

Dependencies

This section identifies dependencies for building the Magic Lantern SDK.

  1. Version 5.8.8 of ActivePerl from ActiveState is installed. This build environment has been tested with binary build 820.
  2. Version 8.6.4.1 of ActiveTcl from ActiveState is installed. This build environment has been tested with binary build 298624.
  3. Microsoft Visual Studio 2010 is installed with Service Pack 1 applied. Note that Microsoft Visual Studio C++ v6.0 and Microsoft Visual Studio C++ 2005 are no longer being supported.
  4. Version 2.4.4 of Coin 3D is built and installed.
    • Instructions assume that the installation directory is M:\Coin3D.
    • Coin3D is an implementation of the SGI Inventor framework. It is required by the Magic Lantern Rehearsal Player. Note that the Rehearsal Player will be bound to the GNU General Public License if built with Coin3D. Alternative options are currently being investigated.
    • The most recent version can be found at http://www.coin3d.org/lib/downloads .
    • To build the source, use Coin3D\Coin-2.4.4\build\msvc6\coin2.dsw.
  5. Version 1.3.0 of SoWin is built and installed.
    • Instructions assume that the installation directory is M:\Coin3D.
    • The most recent version can be found at http://www.coin3d.org/lib/downloads .
    • To build the source , use Coin3D\SoWin-1.3.0\build\msvc6\sowin1.dsw.
  6. Version 3.1.5.0 of FreeImage

Assumptions

These instructions assume the following

  • The dependencies above are installed under a Windows drive labeled "M" (e.g. M:). You can use the Microsoft Command, subst, to point "M:" to a file directory that will be the root of the Magic Lantern build environment. For example, "subst M: F:/" will cause M: to reference the F drive. Or, "subst M: C:\Users\msm" will cause M: to reference the "Users\msm" directory on the C drive.
  • The Magic Lantern software has been downloaded into the "M:\projects\MagicLantern" directory and the MLE_HOME environment variable is set to "M:\projects\MagicLantern".
  • You already know how to use Microsoft Visual Studio 2010 (Microsoft Visual Studio C++ v6.0 and 2005 are not longer supported).

Environment Variables

MLE_HOME Environment Variable

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".

MLE_ROOT Environment Variable

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 ('/').

MLE_WORKPRINTS Environment Variable

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/).

MLEDEV_CORE Environment Variable

Set the MLEDEV_CORE variable to the development directory where the Core library source is. This value will most likely be $MLE_HOME\Core.

MLEDEV_DWP Environment Variable

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.

MLEDEV_DPP Environment Variable

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.

TCL_HOME Environment Variable

Set the TCL_HOME variable to the installation directory for ActiveTcl. For these instructions, use M:\Tcl.

COINDIR Environment Variable

Set the COINDIR variable to the installation directory for Coin3D. For these instructions, use M:\Coin3D.

FREEIMAGEDIR Environment Variable

Set the FREEIMAGEDIR variable to the installation directory for FreeImage. For these instructions, use M:\FreeImage\Dist.

BRENDER_PATH Environment Variable

Set the BRENDER_PATH variable to the installation directory for BRender. For these instructions, use M:\BRENDER\V1_2_1\DAT.

PATH Environment Variable

Make sure the following paths are part of the PATH environment variable.

  • M:\projects\MagicLantern\bin
  • M:\projects\MagicLantern\bin\rehearsal
  • M:\Coin3d\bin
  • M:\Perl\bin
  • M:\Tcl\bin

Details

32-bit Platform Target

To build the SDK for a 32-bit platform, do the following:

  1. Run the Visual Studio Command Prompt (2010) tool.
  2. In the command window, cd %MLE_HOME%\build\win32 directory.
  3. Run "msbuild build.msvc10.proj /t:BuildSDK32"
  4. Run "msbuild build.msvc10.proj /t:BuildRehearsal32"

64-bit Platform Target

Not yet supported.

Available Targets

The following targets are available:

Target Components Location Description
BuildSDK32 Build all the SDK 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 (Floating-point Release)
mlmathd.lib "$MLE_HOME\lib\runtime\stdcall" Magic Lantern 32-bit SDK (Floating-point Debug)
mlfmath.lib "$MLE_HOME\lib\runtime\stdcall" Magic Lantern 32-bit SDK (Fixed-point Release)
mlfmathd.lib "$MLE_HOME\lib\runtime\stdcall" Magic Lantern 32-bit SDK (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 Lantern32-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 Studio (Release DLL)
DWP.lib "$MLE_HOME\lib\rehearsal" DWP SDK library, Magic Lantern Studio (Release DLL Symbols)
DWPd.dll "$MLE_HOME\bin\rehearsal DWP SDK library, Magic Lantern Studio (Debug DLL)
DWPd.lib "$MLE_HOME\lib\rehearsal" DWP SDK library, Magic Lantern Studio (Debug DLL Symbols)
DWPChecker.exe "$MLE_HOME\bin" DWP Validation tool, Magic Lantern Studio (Release)
BuildDpp32 Build all the Digital Platprint components for the 32-bit platform

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.