SDK Build Environment for Linux Platform - magic-lantern-studio/mle-documentation GitHub Wiki
This page discusses how to build the Magic Lantern SDK for Linux platforms using the C++ implementation.
Table of Contents
- Dependencies
- Assumptions
- Environment Variables
- Details
- Setup Build Environment
- Build SDK Source Code
- Build Studio Source Code
- Build the Magic Lantern SDK Properties Distribution
- Build the Magic Lantern SDK Mediarefs
- Build the Magic Lantern SDK Roles
- Build the Magic Lantern SDK Sets
- Build the Magic Lantern SDK Stages
- Build the Magic Lantern SDK Actors
- Build the Magic Lantern Authoring Toolkit
- Build the Magic Lantern Loader Libraries
- Unit Testing
- Rehearsal Player
Dependencies
The Linux build of the Magic Lantern SDK has the following dependencies:
- Ubuntu 22.04 LTS 64-bit operating system.
- Ubuntu 18.04 LTS 64-bit operating system is no longer supported.
- Eclipse IDE for C/C++ Developers (Oxygen Release 4.7.0)
- Instructions assume that the installation directory is ~/bin/eclipse.
- The most recent version can be found at http://www.eclipse.org/downloads/.
- GNU g++ toolchain (sudo apt-get install g++).
- Java Ant toolchin
- Version 4.0.0 of Coin 3D is built and installed.
- Instructions assume that the installation directory is ~/bin/Coin3D.
- Coin3D is an implementation of the SGI Inventor framework. It is required by the Magic Lantern Rehearsal Player.
- The most recent version can be found at https://github.com/magic-lantern-studio/coin.
- To build the source, use the instructions on Building Coin.
- Version 1.4.0 of SoXt is built and installed.
- Instructions assume that the installation directory is ~/bin/Coin3D.
- The most recent version can be found at https://github.com/magic-lantern-studio/soxt.
- To build the source, use the instructions on SoXt 1.4.0 Build environment.
- Version 3.18.0 of FreeImage
- Instructions assume that the installation directory is ~/bin/FreeImage.
- The most recent version can be found at https://github.com/magic-lantern-studio/freeimage.
[!Note]
Dependency on version 8.6.4.1 of ActiveTcl from ActiveState has been deprecated. Python is now required for mastering Digital Workprints.
Assumptions
These instructions assume the following
- You already know how to bring up the Ubuntu 22.04 LTS 64-bit host development platform.
- You already know how to install packages in Ubuntu using the apt-get utility.
- You already know how to use the Eclipse for C/C++ Development IDE.
- You already know how to use Git.
- The Magic Lantern software has been downloaded into the "~/Projects/MagicLantern" directory and the MLE_HOME environment variable is set to "~/Projects/MagicLantern".
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 "$HOME/Projects/MagicLanternStudio".
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 "/opt/MagicLantern".
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 $HOME/Projects/MagicLanternStudio.
The Magic Lantern Studio assumes that the Digital Workprints will be located under the $MLE_WORKPRINTS/workprints directory.
TCL_HOME Environment Variable [Deprecated]
Set the TCL_HOME variable to the installation directory for ActiveTcl. For these instructions, use ~/bin/ActiveTcl-8.6.
COINDIR Environment Variable
Set the COINDIR variable to the installation directory for Coin3D. For these instructions, use ~/bin/Coin3D.
FREEIMAGEDIR Environment Variable
Set the FREEIMAGEDIR variable to the installation directory for FreeImage. For these instructions, use ~/bin/FreeImage/Dist.
Details
To build the Magic Lantern components using the Eclipse C/C++ toolchain, use the following instructions.
Common Build Environment
Start by installing the Common Build Environment for Linux Platform.
Install Eclipse IDE for C/C++ Developers
The Eclipse development toolchain needs to be installed on the Ubuntu host development platform:
- tar -xvzf eclipse-inst-jre-linux64.tar.gz -C ~/bin
- cd ~/bin/eclipse-installer
- ./eclipse-inst
- Choose "Eclipse IDE for C/C++ Developers" from the list of choices in eclipseinstaller dialog.
- Modify the configuration parameters in the C/C++ IDE installation page (if desired) and select INSTALL.
Install Coin 3D
Coin and SoXt are requirements for building and running the Rehearsal Player on a Linux platform. Instructions for building these dependencies can be found at
- Coin v4.0: Coin3D 4.0.0 Build Instructions for Linux
- SoXt v1.4.0 SoXt 1.4.0 Build Environment
Deprecated
- Coin v3.1.3: Coin3D Build Instructions For Linux
- SoXt v1.3.0: SoXt Build Instructions
Install FreeImage
To install FreeImage, you can do the following:
$ sudo apt install libfreeimage-dev
If you want to build this library from source instead, then follow the instructions on the FreeImage Build Instructions for Linux wiki page.
Note that on Linux, the FREEIMAGEDIR environment variable is not currently being used by the Magic Lantern build system.
Note that FreeImage v3.18.0 is required for Ubuntu 18.04 platform (earlier versions fail to build).
Install log4cxx
The log4cxx library is used by the Digital Workprint library to log debug messages. To install the log4cxx library, use
$ sudo apt-get install liblog4cxx-dev
Add SSH key to Github Account
The Magic Lantern repositories on Github are configured to use SSH. In order to retrieve the source, you will need to generate an SSH key and install the key in your Github user account. Instructions for doing this step may be found at Adding a new SSH key to your Github account
Note that in order to avoid entering your passphrase each time you access a repository, you will want to add the key to your ssh-agent. Instructions for doing this may be found at Generating a new SSH key and adding it to the ssh-agent
Retrieve the Source
Using the Google 'repo' command, retrieve the Magic Lantern source:
$ mkdir Github-MagicLantern
$ cd Github-MagicLantern
$ repo init -u [email protected]:magic-lantern-studio/mle-manifests
$ repo sync
After the source code has been retrieved, it is necessary to stage the $MLE_HOME directory. To do this, links will be created from the MLE_HOME directory to the downloaded source located in Github-MagicLantern. Run the following script in the Github-MagicLantern directory:
$ ./mle-core-env/bin/scripts/stagemle.sh
Build the Core util Library for Tools
These instructions build the Core util libraries for the Magic Lantern Studio tools using the Eclipse IDE.
- Eclipse Project: "$MLE_HOME/Core/util/linux/build/.project"
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above libmlutil project.
In the Eclipse ProjectExplorer, right-click on the libmlutil project and select "Build Project" from the pop-up menu.
[!NOTE] Before building, you may need to first regenerate the autoconf environment. The easiest way to do this is from the command line. In a terminal, change to the project directory (i.e. "cd $MLE_HOME/Core/util/linux/build") and then run "make distclean").
"make maintainer-clean" will clobber just about everything that is auto-generated.
To install the library, right-click on the libmlutil project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
libmlutil.a | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
libmlutil.so | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Batch Build Instructions for util
Use the following instructions to build the libmlutil libraries in batch mode (without Eclipse):
- cd $MLE_HOME/build/linux
- make libmlutil_install
[!NOTE] Use "make libmlutil_clean" to remove all build artifacts.
See Linux Makefile Targets for more information on available build targets.
Build the Core math Libraries
These instructions build the Core math libraries for the Magic Lantern Studio tools, the Magic Lantern SDK for the OpenGL target, and the Magic Lantern Rehearsal Player. The Eclipse IDE development tool is used.
- Eclipse Project: "$MLE_HOME/Core/math/linux/libmlmath/.project"
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above libmlmath project.
In the Eclipse ProjectExplorer, right-click on the libmlmath project and select "Build Project" from the pop-up menu.
[!NOTE] Before building, you may need to first regenerate the autoconf environment. The easiest way to do this is from the command line. In a terminal, change to the project directory (i.e. "cd $MLE_HOME/Core/math/linux/libmlmath") and then run "make distclean").
To install the library, right-click on the libmlmath project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built for the Magic Lantern SDK (OpenGL Target Platform) include
Library | Directory Location | Component |
---|---|---|
libmlmath.a | "$MLE_ROOT/lib/" | Magic Lantern SDK (Debug) |
libmlmath.so | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Batch Build Instructions for math
Use the following instructions to build the libmlmath libraries in batch mode (without Eclipse):
- cd $MLE_HOME/build/linux
- make libmlmath_install
See Linux Makefile Targets for more information on available build targets.
Build the Digital Workprint Libraries
These instructions build the Digital Workprint libraries for the Magic Lantern Studio tools and Rehearsal Player using the Eclipse IDE.
- Eclipse Project: "$MLE_HOME/DigitalWorkprint/lib/linux/.project"
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above libDWP project.
In the Eclipse ProjectExplorer, right-click on the libDWP project and select "Build Project" from the pop-up menu.
[!NOTE] Before building, you may need to first regenerate the autoconf environment. The easiest way to do this is from the command line. In a terminal, change to the project directory (i.e. "cd $MLE_HOME/DigitalWorkprint/lib/linux") and then run "make distclean").
To install the library, right-click on the libDWP project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built for the Magic Lantern SDK (OpenGL Target Platform) include
Library | Directory Location | Component |
---|---|---|
libDWP.a | "$MLE_ROOT/lib/" | Magic Lantern SDK (Debug) |
libDWP.so | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
The executable components that are built for the Magic Lantern SDK include
Executable | Directory Location | Component |
---|---|---|
DWPChecker.exe | "$MLE_ROOT/bin" | DWP Validation tool, Magic Lantern Studio (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Batch Build Instructions for DWP
Use the following instructions to build the libDWP libraries in batch mode (without Eclipse):
- cd $MLE_HOME/build/linux
- make libDWP_install
See Linux Makefile Targets for more information on available build targets.
Build the Digital Playprint Libraries
These instructions build the Digital Playprint libraries for the Magic Lantern Studio tools using the Eclipse IDE.
- Eclipse Project: "$MLE_HOME/DigitalPlayprint/lib/linux/.project"
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above libDPP project.
In the Eclipse ProjectExplorer, right-click on the libDPP project and select "Build Project" from the pop-up menu.
To install the library, right-click on the libDPP project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built for the Magic Lantern Studio include
Library | Directory Location | Component |
---|---|---|
libDPP.a | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
libDPP.so | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Batch Build Instructions for DPP
Use the following instructions to build the libDPP libraries in batch mode (without Eclipse):
- cd $MLE_HOME/build/linux
- make libDPP_install
See Linux Makefile Targets for more information on available build targets.
Build the Digital Playprint Runtime Library for Tools
These instructions explain how to build the Digital Playprint runtime component employed by the Magic Lantern Studio mastering tools using the Eclipse IDE.
- Eclipse Project: "$MLE_HOME/DigitalPlayprint/runtime/linux/.project"
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above libplayprint project.
In the Eclipse ProjectExplorer, right-click on the libplayprint project and select "Build Project" from the pop-up menu.
To install the library, right-click on the libplayprint project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built for the Magic Lantern Studio include
Library | Directory Location | Component |
---|---|---|
libplayprint.a | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
libplayprint.so | "$MLE_ROOT/lib" | Magic Lantern SDK (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Batch Build Instructions for playprint
Use the following instructions to build the libplayprint libraries in batch mode (without Eclipse):
- cd $MLE_HOME/build/linux
- make libplayprint_install
See Linux Makefile Targets for more information on available build targets.
Build the Mastering Library and Tools
These instructions explain how to build the Digital Playprint library employed by the Magic Lantern Studio mastering tools. It also explains how to build the mastering tools.
- Eclipse Project: "$MLE_HOME/DigitalPlayprint/master/linux/libDPPGen/.project"
- Eclipse Project: "$MLE_HOME/DigitalPlayprint/master/linux/gentables/.project"
- Eclipse Project: "$MLE_HOME/DigitalPlayprint/master/linux/gengroup/.project"
- Eclipse Project: "$MLE_HOME/DigitalPlayprint/master/linux/genscene/.project"
- Eclipse Project: "$MLE_HOME/DigitalPlayprint/master/linux/genmedia/.project"
- Eclipse Project: "$MLE_HOME/DigitalPlayprint/master/linux/genmakefile/.project"
- Eclipse Project: "$MLE_HOME/DigitalPlayprint/master/linux/genppscript/.project"
- Eclipse Project: "$MLE_HOME/DigitalPlayprint/master/linux/gendpp/.project"
- Eclipse Project: "$MLE_HOME/DigitalPlayprint/master/linux/dumpgroup/.project"
- Eclipse Project: "$MLE_HOME/DigitalPlayprint/master/linux/dumpscene/.project"
- Eclipse Project: "$MLE_HOME/DigitalPlayprint/master/linux/dumpmedia/.project"
- Eclipse Project: "$MLE_HOME/DigitalPlayprint/master/linux/dumpdpp/.project"
Import the above Eclipse projects by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above Eclipse project.
In the Eclipse ProjectExplorer, right-click on the Eclipse project and select "Build Project" from the pop-up menu.
To install the library, right-click on the Eclipse project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
libDPPGen.a | "$MLE_ROOT\lib" | Magic Lantern Studio Mastering Library (Debug) |
libDPPGend.so | "$MLE_ROOT\lib" | Magic Lantern Studio Mastering Library (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
The executable tools that are built include
Exectuable | Directory Location | Component |
---|---|---|
gentables.exe | "$MLE_ROOT\bin" | Generates the tables (source code) for the title (Debug) |
gengroup.exe | "$MLE_ROOT\bin" | Generates the Group chunks for the DPP (Debug) |
genscene.exe | "$MLE_ROOT\bin" | Generates the Scene chunks for the DPP (Debug) |
genmedia.exe | "$MLE_ROOT\bin" | Generates the MediaRef chunks for the DPP (Debug) |
gendppscript.exe | "$MLE_ROOT\bin" | Generates a TCL script for laying out the DPP (Debug) |
gendpp.exe | "$MLE_ROOT\bin" | Generates a DPP using the TCL script (Debug) |
genmakefile.exe | "$MLE_ROOT\bin" | Generates a Makefile for the title (Debug) |
dumpgroup.exe | "$MLE_ROOT\bin" | Dump the contents of a Group chunk (Debug) |
dumpmedia.exe | "$MLE_ROOT\bin" | Dump the contents of a MediaRef chunk (Debug) |
dumpscene.exe | "$MLE_ROOT\bin" | Dump the contents of a Scene chunk (Debug) |
dumpdpp.exe | "$MLE_ROOT\bin" | Dump the contents of a Digital Playprint (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Batch Build Instructions for mastering
Use the following instructions to build the mastering libraries and tools in batch mode (without Eclipse):
- cd $MLE_HOME/build/linux
- make libDPPGen_install
- make gentables_install
- make gengroup_install
- make genscene_install
- make genmedia_install
- make genmakefile_install
- make genppscript_install
- make gendpp_install
- make dumpgroup_install
- make dumpscene_install
- make dumpmedia_install
- make dumpdpp_install
See Linux Makefile Targets for more information on available build targets.
Build the Magic Lantern Runtime Engine Libraries
These instructions build the Magic Lantern SDK Runtime Engine libraries for the Inventor and OpenGL platforms using the Eclipse IDE.
- Eclipse Makefile: "$MLE_HOME/Core/mlert/linux/rehearsal/.project"
- Eclipse Makefile: "$MLE_HOME/Core/mlert/linux/runtime/.project"
- Eclipse Makefile: "$MLE_HOME/Core/mlert/linux/inventor/.project"
Import the above Eclipse projects by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above libmlert projects.
Build for the Inventor targets. The Rehearsal Player is an Inventor target utilizing the Coin3D implementation for Inventor. In the Eclipse ProjectExplorer, right-click on the libmlert-rehearsal project and select "Build Project" from the pop-up menu.
To install the library, right-click on the libmlert-rehearsal project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
Build for the OpenGL target. In the Eclipse ProjectExplorer, right-click on the libmlert-runtime project and select "Build Project" from the pop-up menu.
To install the library, right-click on the libmlert-runtime project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built for the Magic Lantern Studio include
Library | Directory Location | Component |
---|---|---|
libmlert.a | "$MLE_ROOT/lib/mle/rehearsal" | Magic Lantern SDK (Debug) |
libmlert.so | "$MLE_ROOT/lib/mle/rehearsal" | Magic Lantern SDK (Debug) |
libmlert.a | "$MLE_ROOT/lib/mle/inventor" | Magic Lantern SDK (Debug) |
libmlert.so | "$MLE_ROOT/lib/mle/inventor" | Magic Lantern SDK (Debug) |
libmlert.a | "$MLE_ROOT/lib/mle/runtime" | Magic Lantern SDK (Debug) |
libmlert.so | "$MLE_ROOT/lib/mle/runtime" | Magic Lantern SDK (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Batch Build Instructions for Runtime Engine
Use the following instructions to build the runtime engine libraries in batch mode (without Eclipse):
- cd $MLE_HOME/build/linux
- make libmlert_install
See Linux Makefile Targets for more information on available build targets.
Build the Magic Lantern SDK Properties Distribution
These instructions discuss how to build the Properties and Digital Workprints for Magic Lantern SDK. The Eclipse project is
- Eclipse Makefile: "$MLE_HOME/Parts/props/linux/.project"
Build the props Project
Import the above Eclipse props project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the props project and select "Build Project" from the pop-up menu.
This distributes the props header files to "$MLE_ROOT/include/mle" and the props workprint files to "$MLE_ROOT/include/workprints". There are no props related libraries.
Note: the Wizzer Works ISM (Independent Software Module) scripts are no longer used to install the property artifacts.
Batch Build Instructions for properties
Use the following instructions to build the properties libraries in batch mode (without Eclipse):
- cd $MLE_HOME/build/linux
- make props_install
See Linux Makefile Targets for more information on available build targets.
Build the Magic Lantern SDK MediaRefs
These instructions build the Magic Lantern MediaRefs for the Inventor platform. There are three targets for the Inventor components:
- Eclipse Makefile: "$MLE_HOME/Parts/mediaref/inventor/build/linux/ivmref-rehearsal/.project"
- Eclipse Makefile: "$MLE_HOME/Parts/mediaref/inventor/build/linux/ivmref-inventor/.project"
- Eclipse Makefile: "$MLE_HOME/Parts/mediaref/inventor/build/linux/ivmref-runtime/.project"
Build the ivmref-rehearsal Project
Import the above Eclipse ivmref-rehearsal project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the ivmref-rehearsal project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
Mle3dModelMediaref.a | "$MLE_ROOT/lib/mle/rehearsal" | 3D Model MediaRef for Inventor target (Debug) |
Mle3dModelMediaref.so | "$MLE_ROOT/lib/mle/rehearsal" | 3D Model MediaRef for Inventor target (Debug) |
Mle3dTextureMapMediaref.a | "$MLE_ROOT/lib/mle/rehearsal" | 3D Texture Map MediaRef for Inventor target (Debug) |
Mle3dTextureMapMediaref.so | "$MLE_ROOT/lib/mle/rehearsal" | 3D Texture Map MediaRef for Inventor target (Debug) |
Mle3dColorMapMediaref.a | "$MLE_ROOT/lib/mle/rehearsal" | 3D Color Map MediaRef for Inventor target (Debug) |
Mle3dColorMapMediaref.so | "$MLE_ROOT/lib/mle/rehearsal" | 3D Color Map MediaRef for Inventor target (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Build the ivmref-inventor Project
Import the above Eclipse ivmref-inventor project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the ivmref-inventor project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
Mle3dModelMediaref.a | "$MLE_ROOT/lib/mle/inventor" | 3D Model MediaRef for Inventor target (Debug) |
Mle3dModelMediaref.so | "$MLE_ROOT/lib/mle/inventor" | 3D Model MediaRef for Inventor target (Debug) |
Mle3dTextureMapMediaref.a | "$MLE_ROOT/lib/mle/inventor" | 3D Texture Map MediaRef for Inventor target (Debug) |
Mle3dTextureMapMediaref.so | "$MLE_ROOT/lib/mle/inventor" | 3D Texture Map MediaRef for Inventor target (Debug) |
Mle3dColorMapMediaref.a | "$MLE_ROOT/lib/mle/inventor" | 3D Color Map MediaRef for Inventor target (Debug) |
Mle3dColorMapMediaref.so | "$MLE_ROOT/lib/mle/inventor" | 3D Color Map MediaRef for Inventor target (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Build the ivmref-runtime Project
Import the above Eclipse ivmref-runtime project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the ivmref-runtime project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
Mle3dModelMediaref.a | "$MLE_ROOT/lib/mle/runtime" | 3D Model MediaRef for Inventor target (Debug) |
Mle3dModelMediaref.so | "$MLE_ROOT/lib/mle/runtime" | 3D Model MediaRef for Inventor target (Debug) |
Mle3dTextureMapMediaref.a | "$MLE_ROOT/lib/mle/runtime" | 3D Texture Map MediaRef for Inventor target (Debug) |
Mle3dTextureMapMediaref.so | "$MLE_ROOT/lib/mle/runtime" | 3D Texture Map MediaRef for Inventor target (Debug) |
Mle3dColorMapMediaref.a | "$MLE_ROOT/lib/mle/runtime" | 3D Color Map MediaRef for Inventor target (Debug) |
Mle3dColorMapMediaref.so | "$MLE_ROOT/lib/mle/runtime" | 3D Color Map MediaRef for Inventor target (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Batch Build Instructions for mediarefs
Use the following instructions to build the mediarefs libraries in batch mode (without Eclipse):
- cd $MLE_HOME/build/linux
- make mediarefs_install
See Linux Makefile Targets for more information on available build targets.
Build the Magic Lantern SDK Roles
These instructions build the Magic Lantern Roles for the Inventor platform. There are three targets for the Inventor components:
- Eclipse Makefile: "$MLE_HOME/Parts/roles/inventor/build/linux/ivrole-rehearsal/.project"
- Eclipse Makefile: "$MLE_HOME/Parts/roles/inventor/build/linux/ivrole-inventor/.project"
- Eclipse Makefile: "$MLE_HOME/Parts/roles/inventor/build/linux/ivrole-runtime/.project"
Build the ivrole-rehearsal Project
Import the above Eclipse ivrole-rehearsal project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the ivrole-rehearsal project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
libivroles.a | "$MLE_ROOT/lib/mle/rehearsal" | Magic Lantern Studio SDK (Debug) |
libivroles.so | "$MLE_ROOT/lib/mle/rehearsal" | Magic Lantern Studio SDK (Debug) |
MleIv2dRole.a | "$MLE_ROOT/lib/mle/rehearsal" | Magic Lantern Studio 2D Role for Inventor target (Debug) |
MleIv2dRole.so | "$MLE_ROOT/lib/mle/rehearsal" | Magic Lantern Studio 2D Role for Inventor target (Debug) |
MleIv3dRole.a | "$MLE_ROOT/lib/mle/rehearsal" | Magic Lantern Studio 3D Role for Inventor target (Debug) |
MleIv3dRole.so | "$MLE_ROOT/lib/mle/rehearsal" | Magic Lantern Studio 3D Role for Inventor target (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Build the ivrole-inventor Project
Import the above Eclipse ivrole-inventor project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the ivrole-inventor project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
libivroles.a | "$MLE_ROOT/lib/mle/inventor" | Magic Lantern Studio SDK (Debug) |
libivroles.so | "$MLE_ROOT/lib/mle/inventor" | Magic Lantern Studio SDK (Debug) |
MleIv2dRole.a | "$MLE_ROOT/lib/mle/inventor" | Magic Lantern Studio 2D Role for Inventor target (Debug) |
MleIv2dRole.so | "$MLE_ROOT/lib/mle/inventor" | Magic Lantern Studio 2D Role for Inventor target (Debug) |
MleIv3dRole.a | "$MLE_ROOT/lib/mle/inventor" | Magic Lantern Studio 3D Role for Inventor target (Debug) |
MleIv3dRole.so | "$MLE_ROOT/lib/mle/inventor" | Magic Lantern Studio 3D Role for Inventor target (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Build the ivrole-runtime Project
Import the above Eclipse ivrole-runtime project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the ivrole-runtime project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
libivroles.a | "$MLE_ROOT/lib/mle/runtime" | Magic Lantern Studio SDK (Debug) |
libivroles.so | "$MLE_ROOT/lib/mle/runtime" | Magic Lantern Studio SDK (Debug) |
MleIv2dRole.a | "$MLE_ROOT/lib/mle/runtime" | Magic Lantern Studio 2D Role for Inventor target (Debug) |
MleIv2dRole.so | "$MLE_ROOT/lib/mle/runtime" | Magic Lantern Studio 2D Role for Inventor target (Debug) |
MleIv3dRole.a | "$MLE_ROOT/lib/mle/runtime" | Magic Lantern Studio 3D Role for Inventor target (Debug) |
MleIv3dRole.so | "$MLE_ROOT/lib/mle/runtime" | Magic Lantern Studio 3D Role for Inventor target (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Batch Build Instructions for roles
Use the following instructions to build the roles libraries in batch mode (without Eclipse):
- cd $MLE_HOME/build/linux
- make roles_install
See Linux Makefile Targets for more information on available build targets.
Build the Magic Lantern SDK Sets
These instructions build the Magic Lantern Sets for the Inventor platform. There are three targets for the Inventor targer:
- Eclipse Makefile: "$MLE_HOME/Parts/sets/inventor/build/ivset-rehearsal/.project"
- Eclipse Makefile: "$MLE_HOME/Parts/sets/inventor/build/ivset-inventor/.project"
- Eclipse Makefile: "$MLE_HOME/Parts/sets/inventor/build/ivset-runtime/.project"
Build the ivset-rehearsal Project
Import the above Eclipse ivset-rehearsal project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the ivset-rehearsal project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
MleIvSet.a | "$MLE_ROOT/lib/mle/rehearsal" | Magic Lantern Studio Set for Inventor target (Debug) |
MleIvSet.so | "$MLE_ROOT/lib/mle/rehearsal" | Magic Lantern Studio Set for Inventor target (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Build the ivset-inventor Project
Import the above Eclipse ivset-inventor project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the ivset-inventor project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
MleIvSet.a | "$MLE_ROOT/lib/mle/inventor" | Magic Lantern Studio Set for Inventor target (Debug) |
MleIvSet.so | "$MLE_ROOT/lib/mle/inventor" | Magic Lantern Studio Set for Inventor target (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Build the ivset-runtime Project
Import the above Eclipse ivset-runtime project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the ivset-runtime project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
MleIvSet.a | "$MLE_ROOT/lib/mle/runtime" | Magic Lantern Studio Set for Inventor target (Debug) |
MleIvSet.so | "$MLE_ROOT/lib/mle/runtime" | Magic Lantern Studio Set for Inventor target (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Batch Build Instructions for sets
Use the following instructions to build the sets libraries in batch mode (without Eclipse):
- cd $MLE_HOME/build/linux
- make sets_install
See Linux Makefile Targets for more information on available build targets.
Build the Magic Lantern SDK Stages
These instructions build the Magic Lantern Stages for the Inventor platform. There are three targets for the Inventor components:
- Eclipse Makefile: "$MLE_HOME/Parts/stages/inventor/build/linux/ivstage-rehearsal/.project"
- Eclipse Makefile: "$MLE_HOME/Parts/stages/inventor/build/linux/ivstage-inventor/.project"
- Eclipse Makefile: "$MLE_HOME/Parts/stages/inventor/build/linux/ivstage-runtime/.project"
Build the ivstage-rehearsal Project
Import the above Eclipse ivstage-rehearsal project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the ivstage-rehearsal project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
MleIvtage.a | "$MLE_ROOT/lib/mle/rehearsal" | Stage for Inventor target (Debug) |
MleIvStage.so | "$MLE_ROOT/lib/mle/rehearsal" | Stage for Inventor target (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Build the ivstage-inventor Project
Import the above Eclipse ivstage-inventor project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the ivstage-inventor project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
MleIvtage.a | "$MLE_ROOT/lib/mle/inventor" | Stage for Inventor target (Debug) |
MleIvStage.so | "$MLE_ROOT/lib/mle/inventor" | Stage for Inventor target (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Build the ivstage-runtime Project
Import the above Eclipse ivstage-runtime project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the ivstage-runtime project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
MleIvtage.a | "$MLE_ROOT/lib/mle/runtime" | Stage for Inventor target (Debug) |
MleIvStage.so | "$MLE_ROOT/lib/mle/runtime" | Stage for Inventor target (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Batch Build Instructions for stages
Use the following instructions to build the stages libraries in batch mode (without Eclipse):
- cd $MLE_HOME/build/linux
- make stages_install
See Linux Makefile Targets for more information on available build targets.
Build the Magic Lantern SDK Actors
These instructions build the Magic Lantern Actors for the Inventor platform. There are three targets for the Inventor components:
- Eclipse Makefile: "$MLE_HOME/Parts/actors/inventor/build/linux/ivactor-rehearsal/.project"
- Eclipse Makefile: "$MLE_HOME/Parts/actors/inventor/build/linux/ivactor-inventor/.project"
- Eclipse Makefile: "$MLE_HOME/Parts/actors/inventor/build/linux/ivactor-runtime/.project"
Build the ivactor-rehearsal Project
Import the above Eclipse ivactor-rehearsal project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the ivactor-rehearsal project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
MleEscapeActor.a | "$MLE_ROOT/lib/mle/rehearsal" | Escape Key Actor (Debug) |
MleEscapeActor.so | "$MLE_ROOT/lib/mle/rehearsal" | Escape Key Actor (Debug) |
Mle3dCameraActor.a | "$MLE_ROOT/lib/mle/rehearsal" | 3D Camera Actor (Debug) |
Mle3dCameraActor.so | "$MLE_ROOT/lib/mle/rehearsal" | 3D Camera Actor (Debug) |
Mle2dImageActor.a | "$MLE_ROOT/lib/mle/rehearsal" | Image Actor(Debug) |
Mle2dImageActor.so | "$MLE_ROOT/lib/mle/rehearsal" | Image Actor (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Build the ivactor-inventor Project
Import the above Eclipse ivactor-inventor project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the ivactor-inventor project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
MleEscapeActor.a | "$MLE_ROOT/lib/mle/inventor" | Escape Key Actor (Debug) |
MleEscapeActor.so | "$MLE_ROOT/lib/mle/inventor" | Escape Key Actor (Debug) |
Mle3dCameraActor.a | "$MLE_ROOT/lib/mle/inventor" | 3D Camera Actor (Debug) |
Mle3dCameraActor.so | "$MLE_ROOT/lib/mle/inventor" | 3D Camera Actor (Debug) |
Mle2dImageActor.a | "$MLE_ROOT/lib/mle/inventor" | Image Actor(Debug) |
Mle2dImageActor.so | "$MLE_ROOT/lib/mle/inventor" | Image Actor (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Build the ivactor-runtime Project
Import the above Eclipse ivactor-runtime project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above linux project.
In the Eclipse ProjectExplorer, right-click on the ivactor-runtime project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
MleEscapeActor.a | "$MLE_ROOT/lib/mle/runtime" | Escape Key Actor (Debug) |
MleEscapeActor.so | "$MLE_ROOT/lib/mle/runtime" | Escape Key Actor (Debug) |
Mle3dCameraActor.a | "$MLE_ROOT/lib/mle/runtime" | 3D Camera Actor (Debug) |
Mle3dCameraActor.so | "$MLE_ROOT/lib/mle/runtime" | 3D Camera Actor (Debug) |
Mle2dImageActor.a | "$MLE_ROOT/lib/mle/runtime" | Image Actor(Debug) |
Mle2dImageActor.so | "$MLE_ROOT/lib/mle/runtime" | Image Actor (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Batch Build Instructions for actors
Use the following instructions to build the actors libraries in batch mode (without Eclipse):
- cd $MLE_HOME/build/linux
- make actors_install
See Linux Makefile Targets for more information on available build targets.
Build the Magic Lantern Authoring Toolkit
These instructions build the Magic Lantern Studio Authoring Toolkit, ATK, for the Inventor platform.
- Eclipse Makefile: "$MLE_HOME/ATK/linux/rehearsal/.project"
Import the above Eclipse project by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above rehearsal project.
In the Eclipse ProjectExplorer, right-click on the libmleatk project and select "Build Project" from the pop-up menu.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
libmleatk.a | "$MLE_ROOT/lib/mle/rehearsal" | Magic Lantern Studio ATK (Debug) |
libmleatk.so | "$MLE_ROOT/lib/mle/rehearsal" | Magic Lantern Studio ATK (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Batch Build Instructions for ATK
Use the following instructions to build the ATK libraries in batch mode (without Eclipse):
- cd $MLE_HOME/build/linux
- make libmleatk_install
See Linux Makefile Targets for more information on available build targets.
Build the Magic Lantern Loader Libraries
These instructions build the Magic Lantern SDK loader libraries for the Rehearsal, Runtime and Inventor platforms using the Eclipse IDE.
- Eclipse Makefile: "$MLE_HOME/Loaders/rehearsal/.project"
- Eclipse Makefile: "$MLE_HOME/Loaders/runtime/.project"
- Eclipse Makefile: "$MLE_HOME/Loaders/inventor/.project"
Import the above Eclipse projects by selecting "File->Import...". This will bring up a Import dialog where you can choose "Existing Projects into Workspace" under the "General" tree item. Select "Next>" button to continue and browse to the above libmlloaders projects.
Build the libmlloaders_rehearsal Project
Build for the Rehearsal targets. The Rehearsal Player is an Inventor target utilizing the Coin3D implementation for Inventor. In the Eclipse ProjectExplorer, right-click on the libmlloaders-rehearsal project and select "Build Project" from the pop-up menu.
To install the library, right-click on the libmlloaders-rehearsal project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
libmlloaders.a | "$MLE_ROOT/lib/mle/rehearsal" | Magic Lantern Studio Loaders (Debug) |
libmlloaders.so | "$MLE_ROOT/lib/mle/rehearsal" | Magic Lantern Studio Loaders (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Build the libmlloaders-runtime Project
Build for the Runtime targets. In the Eclipse ProjectExplorer, right-click on the libmlloaders-runtime project and select "Build Project" from the pop-up menu.
To install the library, right-click on the libmlloaders-runtime project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
libmlloaders.a | "$MLE_ROOT/lib/mle/runtime" | Magic Lantern Studio Loaders (Debug) |
libmlloaders.so | "$MLE_ROOT/lib/mle/runtime" | Magic Lantern Studio Loaders (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Build the libmlloaders-inventor Project
Build for the Runtime targets. In the Eclipse ProjectExplorer, right-click on the libmlloaders-inventor project and select "Build Project" from the pop-up menu.
To install the library, right-click on the libmlloaders-inventor project and select "Make Targets->Build..." from the pop-up menu. This will bring up a dialog panel showing the possible Make Targets for this project. Select "install" from Target list and then complete the action by selecting the "Build" button.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
libmlloaders.a | "$MLE_ROOT/lib/mle/inventor" | Magic Lantern Studio Loaders (Debug) |
libmlloaders.so | "$MLE_ROOT/lib/mle/inventor" | Magic Lantern Studio Loaders (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Batch Build Instructions for Loaders
Use the following instructions to build the loader libraries in batch mode (without Eclipse):
- cd $MLE_HOME/build/linux
- make libmlloaders_install
See Linux Makefile Targets for more information on available build targets.
Unit Testing
Magic Lantern uses the Google Test framework to perform unit testing. For more information on setting up Google Test and executing test cases developed for Magic Lantern, please go to
Unit Testing for Linux Platform
Rehearsal Player
The Magic Lantern Rehearsal Player is based on Open Inventor as implemented by the Coin3D and the SoXt libraries. The above instructions support the SDK for the Open Inventor target. More details for building the Rehearsal Player can be found at