Gtk Platform Support - magic-lantern-studio/mle-core-mlert GitHub Wiki

Support for the Gtk+ toolkit has been added to the Magic Lantern Runtime library.

[!Note] Currently only GTK+ v2.24.33 is supported on the Ubuntu 22.04 LTS 64-bit Linux platform. Work is in progress to support GTK+ v3.x.

Dependencies

The GTK+ libmlert library implementation has the following dependencies:

Magic Lantern SDK

Build and installation instructions for the Magic Lantern SDK components can be found on the SDK Build Environment for Linux Platform wiki.

Run CMake

The GTK+ libmlert library build environment uses cmake. It will check for the Gtk+ dependencies.

To generate a build environment with UNIX Makefiles do the following:

cd $MLE_HOME/Core/mlert/linux
cmake -Hruntime -Bruntime_release -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/MagicLantern -DCMAKE_PREFIX_PATH="/opt/MagicLantern"

[!Note] To make a Debug version of the build, use -DCMAKE_BUILD_TYPE=Debug.

Eclipse IDE Support

Project files for the Eclipse IDE can be generated using cmake. Replace the above -G option with -G "Eclipse CDT4 - Unix Makefiles". For example

cmake -Hruntime -Bruntime_release -G "Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/MagicLantern -DCMAKE_PREFIX_PATH="/opt/MagicLantern"

This will generate .project and .cproject files for the Eclipse IDE. To use, import the Eclipse project now located in the runtime_build directory. If successful you should see the following project in the "Project Explorer":

mlert-Release Eclipse IDE CMake Project

Build libmlert

Build the Magic Lantern Runtime library, libmlert.so:

cd runtime_build
make

Install libmlert

To install the library, header files and documentation, do the following:

make install

The library will be installed in $MLE_ROOT/lib/mle/runtime. The header files will be installed in the $MLE_ROOT/include/mle directory. HTML pages are populated in the $MLE_ROOT/doc/core/html directory. The manual pages are installed into $MLE_ROOT/doc/core/man.

Resources