SDK Build Environment for Qt Linux Platform - magic-lantern-studio/mle-documentation GitHub Wiki
This page discusses how to build the Magic Lantern SDK for Linux and MacOS platforms using the Qt and Open Inventor technologies.
Table of Contents
- Dependencies
- Details
- Build the Magic Lantern SDK Runtime Engine
- Build the Magic Lantern SDK Stages
- Build the Magic Lantern SDK Sets
- Build the Magic Lantern SDK Media References
- Build the Magic Lantern SDK Roles
- Build the Magic Lantern SDK Actors
- Build the Magic Lantern SDK Loaders
- Build the Magic Lantern Authoring Toolkit
Dependencies
The Magic Lantern SDK for Qt depends on many of the core components utilized by the Linux Platform. Instructions for building these components may be found on the SDK Build Environment for Linux Platform wiki page. However, all of the components built on that page are not necessary for the Qt Platform (since we will be building the parts targeting Qt instead).
When setting up the build environment, follow the instructions for Coin v4.0.0. We will also be using the SoQt v1.6.0 library (instead of SoXt).
Build the following core components:
- Build the Core util Library for Tools
- A qmake project is also available under $MLE_HOME/Core/util/qt/mlutil/mlutil.pro
- Build the Core math Libraries
- A qmake project is also available under $MLE_HOME/Core/math/qt/mlmath/mlmath.pro
- Build the Digital Workprint Libraries
- A qmake project is also available under $MLE_HOME/DigitalWorkprint/lib/qt/DWP/DWP.pro
- A qmake project for DwpChecker is available under $MLE_HOME/DigitalWorkprint/lib/qt/DwpChecker/DwpChecker.pro
- Build the Digital Playprint Libraries
- A qmake project is also available under $MLE_HOME/DigitalPlayprint/lib/qt/DPP/DPP.pro
- Build the Digital Playprint Runtime Library for Tools
- A qmake project is also available under $MLE_HOME/DigitalPlayprint/runtime/qt/playprint/playprint.pro
- Build the Mastering Library and Tools
- A qmake project is also available under $MLE_HOME/DigitalPlayprint/master/qt/DPPGen/DPPGen.pro
- A qmake project is also available under $MLE_HOME/DigitalPlayprint/master/qt/gentables/gentables.pro
- A qmake project is also available under $MLE_HOME/DigitalPlayprint/master/qt/gengroup/gengroup.pro
- A qmake project is also available under $MLE_HOME/DigitalPlayprint/master/qt/genscene/genscene.pro
- A qmake project is also available under $MLE_HOME/DigitalPlayprint/master/qt/genmedia/genmedia.pro
- A qmake project is also available under $MLE_HOME/DigitalPlayprint/master/qt/genmakefile/genmakefile.pro
- A qmake project is also available under $MLE_HOME/DigitalPlayprint/master/qt/genppscript/genppscript.pro
- A qmake project is also available under $MLE_HOME/DigitalPlayprint/master/qt/gendpp/gendpp.pro
- Build the SDK Properties
- A qmake project is also available under $MLE_HOME/Parts/props/qt/mleprops/mleprops.pro
Details
After building the core Magic Lantern components above, the Qt-specific components can be built.
Build the Magic Lantern SDK Runtime Engine
There are three flavors of the SDK Runtime Engine for Qt:
- Rehearsal Target
- Runtime Target
- Inventor Target
Rehearsal Target Instructions
The Qt Rehearsal target is used to build the Runtime Engine utilized by a Rehearsal Player.
In the Qt Creator tool, select "File->Open File or Project..." to bring up a open file dialog. Browse to "$MLE_HOME/Core/mlert/qt/libmlert_rehearsal" and select the libmlert_rehearsal.pro project. Build the project by selecting the build icon in the lower-left-hand corner of Qt Creator.
The libmlert.so dynamic shared object will be built in the "$MLE_HOME/Core/mlert/qt/build-libmlert_rehearsal-Desktop-Debug" directory.
Command-line Build Instructions
The Rehearsal libmlert.so library may also be built using make. The Makefile.qt may be found in the "$MLE_HOME/build/linux" directory. Change to that directory and use the following command-line:
make -f Makefile.qt <build_target>
Makefile.qt offers the following build targets:
Build Target | Description |
---|---|
libmlert_rehearsal | Build libmlert.so |
libmlert_rehearsal_clean | Clean up the build artifacts |
libmlert_rehearsal_install | Install libmlert.so into $MLE_ROOT/lib/mle/qt/rehearsal |
libmlert_rehearsal_uninstall | Uninstall libmlert.so from $MLE_ROOT/lib/mle/qt/rehearsal |
Runtime Target Instructions
The Qt Runtime target is used to build the Runtime Engine for mastered titles that utilize Digital Playprints.
In the Qt Creator tool, select "File->Open File or Project..." to bring up a open file dialog. Browse to "$MLE_HOME/Core/mlert/qt/libmlert_runtime" and select the libmlert_runtime.pro project. Build the project by selecting the build icon in the lower-left-hand corner of Qt Creator.
The libmlert.so dynamic shared object will be built in the "$MLE_HOME/Core/mlert/qt/build-libmlert_runtime-Desktop-Debug" directory.
Command-line Build Instructions
The Runtime libmlert.so library may also be built using make. The Makefile.qt may be found in the "$MLE_HOME/build/linux" directory. Change to that directory and use the following command-line:
make -f Makefile.qt <build_target>
Makefile.qt offers the following build targets:
Build Target | Description |
---|---|
libmlert_runtime | Build libmlert.so |
libmlert_runtime_clean | Clean up the build artifacts |
libmlert_runtime_install | Install libmlert.so into $MLE_ROOT/lib/mle/qt/runtime |
libmlert_runtime_uninstall | Uninstall libmlert.so from $MLE_ROOT/lib/mle/qt/runtime |
Inventor Target Instructions
The Qt Inventor target is used to build the Runtime Engine that is used for Open Inventor titles. These components are used with titles that utilize Digital Workprints.
In the Qt Creator tool, select "File->Open File or Project..." to bring up a open file dialog. Browse to "$MLE_HOME/Core/mlert/qt/libmlert_inventor" and select the libmlert_inventor.pro project. Build the project by selecting the build icon in the lower-left-hand corner of Qt Creator.
The libmlert.so dynamic shared object will be built in the "$MLE_HOME/Core/mlert/qt/build-libmlert_inventor-Desktop-Debug" directory.
Command-line Build Instructions
The Inventor libmlert.so library may also be built using make. The Makefile.qt may be found in the "$MLE_HOME/build/linux" directory. Change to that directory and use the following command-line:
make -f Makefile.qt <build_target>
Makefile.qt offers the following build targets:
Build Target | Description |
---|---|
libmlert_inventor | Build libmlert.so |
libmlert_inventor_clean | Clean up the build artifacts |
libmlert_inventor_install | Install libmlert.so into $MLE_ROOT/lib/mle/qt/inventor |
libmlert_inventor_uninstall | Uninstall libmlert.so from $MLE_ROOT/lib/mle/qt/inventor |
Build the Magic Lantern SDK Stages
These instructions build the Magic Lantern Stages for the Qt platform. There is one target for the Inventor components:
- Qt Project: $MLE_HOME/Parts/stages/inventor/build/qt/ivstage_rehearsal/ivstage_rehearsal.pro
Build the ivstage_rehearsal Project
In the Qt Creator tool, select "File->Open File or Project..." to bring up a open file dialog. Browse to "$MLE_HOME/Parts/stages/inventor/build/qt/ivstage_rehearsal" and select the ivstage_rehearsal.pro project. Build the project by selecting the build icon in the lower-left-hand corner of Qt Creator.
The libMleIvStage.so dynamic shared object will be built in the "$MLE_HOME/Parts/stages/inventor/build/qt/build-ivstage_rehearsal-Desktop_Qt_5_15_0_GCC_64bit-Debug" directory.
Command-line Build Instructions
The libMleIvStage.so library may also be built using make. The Makefile.qt may be found in the "$MLE_HOME/build/linux" directory. Change to that directory and use the following command-line:
make -f Makefile.qt <build_target>
Makefile.qt offers the following build targets:
Build Target | Description |
---|---|
ivstage_rehearsal | Build libMleIvStage.so |
ivstage_rehearsal_clean | Clean up the build artifacts |
ivastage_rehearsal_install | Install libMleIvStage.so into $MLE_ROOT/lib/mle/qt/rehearsal |
ivstage_rehearsal_uninstall | Uninstall libMleIvStage.so from $MLE_ROOT/lib/mle/qt/rehearsal |
Build the Magic Lantern SDK Sets
These instructions build the Magic Lantern Sets for the Qt platform. There is one target for the Inventor components:
- Qt Project: $MLE_HOME/Parts/sets/inventor/build/qt/ivset_rehearsal/ivset_rehearsal.pro
Build the ivset_rehearsal Project
In the Qt Creator tool, select "File->Open File or Project..." to bring up a open file dialog. Browse to "$MLE_HOME/Parts/sets/inventor/build/qt/ivset_rehearsal" and select the ivset_rehearsal.pro project. Build the project by selecting the build icon in the lower-left-hand corner of Qt Creator.
The libMle2dSet.so and libMle3dSet.so dynamic shared objects will be built in the "$MLE_HOME/Parts/sets/inventor/build/qt/build-ivset_rehearsal-Desktop_Qt_5_15_0_GCC_64bit-Debug" directory.
Command-line Build Instructions
The set libraries may also be built using make. The Makefile.qt may be found in the "$MLE_HOME/build/linux" directory. Change to that directory and use the following command-line:
make -f Makefile.qt <build_target>
Makefile.qt offers the following build targets:
Build Target | Description |
---|---|
ivset_rehearsal | Build libMle2dSet.so and libMle3dSet.so |
ivset_rehearsal_clean | Clean up the build artifacts |
ivset_rehearsal_install | Install libMle2dSet.so and libMle3dSet.so into $MLE_ROOT/lib/mle/qt/rehearsal |
ivset_rehearsal_uninstall | Uninstall libMle2dSet.so and libMle3dSet.so from $MLE_ROOT/lib/mle/qt/rehearsal |
Build the Magic Lantern SDK Media References
These instructions build the Magic Lantern Media References for the Qt platform. There is one target for the Inventor components:
- Qt Project: $MLE_HOME/Parts/mediaref/inventor/build/qt/ivmref_rehearsal/ivmref_rehearsal.pro
Build the ivmref_rehearsal Project
In the Qt Creator tool, select "File->Open File or Project..." to bring up a open file dialog. Browse to "$MLE_HOME/Parts/mediaref/inventor/build/qt/ivmref_rehearsal" and select the ivmref_rehearsal.pro project. Build the project by selecting the build icon in the lower-left-hand corner of Qt Creator.
The libMle2dImageMediaRef.so, libMle3dColorMapMediaRef.so, libMle3dModelMediaRef.so.so and libMle3dTextureMapMediaRef.so.so dynamic shared objects will be built in the "$MLE_HOME/Parts/mediaref/inventor/build/qt/build-ivmref_rehearsal-Desktop_Qt_5_15_0_GCC_64bit-Debug" directory.
Command-line Build Instructions
The media reference libraries may also be built using make. The Makefile.qt may be found in the "$MLE_HOME/build/linux" directory. Change to that directory and use the following command-line:
make -f Makefile.qt <build_target>
Makefile.qt offers the following build targets:
Build Target | Description |
---|---|
ivmref_rehearsal | Build libMle2dImageMediaRef.so, libMle3dColorMapMediaRef.so, libMle3dModelMediaRef.so.so and libMle3dTextureMapMediaRef.so.so |
ivmref_rehearsal_clean | Clean up the build artifacts |
ivmref_rehearsal_install | Install libMle2dImageMediaRef.so, libMle3dColorMapMediaRef.so, libMle3dModelMediaRef.so.so and libMle3dTextureMapMediaRef.so.so into $MLE_ROOT/lib/mle/qt/rehearsal |
ivmref_rehearsal_uninstall | Uninstall libMle2dImageMediaRef.so, libMle3dColorMapMediaRef.so, libMle3dModelMediaRef.so.so and libMle3dTextureMapMediaRef.so.so from $MLE_ROOT/lib/mle/qt/rehearsal |
Build the Magic Lantern SDK Roles
These instructions build the Magic Lantern Roles for the Qt platform. There is one target for the Inventor components:
- Qt Project: $MLE_HOME/Parts/roles/inventor/build/qt/ivrole_rehearsal/ivrole_rehearsal.pro
Build the ivrole_rehearsal Project
In the Qt Creator tool, select "File->Open File or Project..." to bring up a open file dialog. Browse to "$MLE_HOME/Parts/roles/inventor/build/qt/ivrole_rehearsal" and select the ivrole_rehearsal.pro project. Build the project by selecting the build icon in the lower-left-hand corner of Qt Creator.
The libivroles.so, libMle2dImgRole.so, libMle2dRole.so and libMle3dRole.so dynamic shared objects will be built in the "$MLE_HOME/Parts/roles/inventor/build/qt/build-ivrole_rehearsal-Desktop_Qt_5_15_0_GCC_64bit-Debug" directory.
Command-line Build Instructions
The role libraries may also be built using make. The Makefile.qt may be found in the "$MLE_HOME/build/linux" directory. Change to that directory and use the following command-line:
make -f Makefile.qt <build_target>
Makefile.qt offers the following build targets:
Build Target | Description |
---|---|
ivrole_rehearsal | Build libivroles.so, libMle2dImgRole.so, libMle2dRole.so and libMle3drole.so |
ivrole_rehearsal_clean | Clean up the build artifacts |
ivrole_rehearsal_install | Install libivroles.so, libMle2dImgRole.so, libMle2dRole.so and libMle3drole.so into $MLE_ROOT/lib/mle/qt/rehearsal |
ivrole_rehearsal_uninstall | Uninstall libivroles.so, libMle2dImgRole.so, libMle2dRole.so and libMle3drole.so from $MLE_ROOT/lib/mle/qt/rehearsal |
Build the Magic Lantern SDK Actors
These instructions build the Magic Lantern Actors for the Qt platform. There is one target for the Inventor components:
- Qt Project: $MLE_HOME/Parts/actors/inventor/build/qt/ivactor_rehearsal/ivactor_rehearsal.pro
Build the ivactor_rehearsal Project
In the Qt Creator tool, select "File->Open File or Project..." to bring up a open file dialog. Browse to "$MLE_HOME/Parts/actors/inventor/build/qt/ivactor_rehearsal" and select the ivactor_rehearsal.pro project. Build the project by selecting the build icon in the lower-left-hand corner of Qt Creator.
The libMle2dImageActor.so, libMle3dCameraActor.so and libMleEscapeActor.so dynamic shared objects will be built in the "$MLE_HOME/Parts/actors/inventor/build/qt/build-ivactor_rehearsal-Desktop_Qt_5_15_0_GCC_64bit-Debug" directory.
Command-line Build Instructions
The actor libraries may also be built using make. The Makefile.qt may be found in the "$MLE_HOME/build/linux" directory. Change to that directory and use the following command-line:
make -f Makefile.qt <build_target>
Makefile.qt offers the following build targets:
Build Target | Description |
---|---|
ivactor_rehearsal | Build libMle2dImageActor.so, libMle3dCameraActor.so and libMleEscapeActor.so |
ivactor_rehearsal_clean | Clean up the build artifacts |
ivactor_rehearsal_install | Install libMle2dImageActor.so, libMle3dCameraActor.so and libMleEscapeActor.so into $MLE_ROOT/lib/mle/qt/rehearsal |
ivactor_rehearsal_uninstall | Uninstall libMle2dImageActor.so, libMle3dCameraActor.so and libMleEscapeActor.so from $MLE_ROOT/lib/mle/qt/rehearsal |
Build the Magic Lantern SDK Loaders
These instructions build the Magic Lantern Loaders for the Qt platform. There is one target for the Inventor components:
- Qt Project: $MLE_HOME/Parts/loaders/build/qt/rehearsal/libmlloaders_rehearsal/libmlloaders_rehearsal.pro
Build the libmlloaders_rehearsal Project
In the Qt Creator tool, select "File->Open File or Project..." to bring up a open file dialog. Browse to "$MLE_HOME/Parts/loaders/build/qt/rehearsal/libmlloaders_rehearsal" and select the libmlloaders_rehearsal.pro project. Build the project by selecting the build icon in the lower-left-hand corner of Qt Creator.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
libmlloaders.a | "$MLE_ROOT/lib/mle/qt/rehearsal" | Magic Lantern Studio Loaders (Debug) |
libmlloaders.so | "$MLE_ROOT/lib/mle/qt/rehearsal" | Magic Lantern Studio Loaders (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.
Build the Magic Lantern Authoring Toolkit
These instructions build the Magic Lantern Studio Authoring Toolkit, ATK, for the Qt platform. There is one target for the Inventor components:
- Qt Project: "$MLE_HOME/ATK/rehearsal/build/qt/libmleatk_rehearsal"
Build the libmleatk_rehearsal Project
In the Qt Creator tool, select "File->Open File or Project..." to bring up a open file dialog. Browse to "$MLE_HOME/ATK/rehearsal/build/qt/libmleatk_rehearsal" and select the libmleatk_rehearsal.pro project. Build the project by selecting the build icon in the lower-left-hand corner of Qt Creator.
The library components that are built include
Library | Directory Location | Component |
---|---|---|
libmleatk.a | "$MLE_ROOT/lib/mle/qt/rehearsal" | Magic Lantern Studio ATK (Debug) |
libmleatk.so | "$MLE_ROOT/lib/mle/qt/rehearsal" | Magic Lantern Studio ATK (Debug) |
where MLE_ROOT is currently /opt/MagicLantern.