Skip to content

w0lek/ezgl

 
 

Repository files navigation

EZGL - An Easy Graphics Library

ezgl

EZGL is a C++ graphics library that provides a thin wrapper around GTK and Cairo, making it easy to create GUI applications with 2D drawing support. It is used by the VTR project and as a teaching tool in ECE297.

Dependencies

The library currently depends on GTK 3 and cairo.

Build-tool dependency: Qt 6.9.3 + qtshadertools (provides qsb)

The RHI renderer’s shaders are baked from GLSL to .qsb at build time.

pip install aqtinstall==3.3.0
aqt install-qt linux desktop 6.9.3 linux_gcc_64 -m qtshadertools --outputdir $HOME/qt6

Compilation

This project uses CMake for compiling and requires CMake version 3.10 or higher. CMake can configure the project for different build systems and IDEs (type cmake --help for a list of generators available for your platform). We recommend you create a build directory before invoking CMake to configure the project (cmake -B). For example, we can perform the configuration step from the project root directory:

cmake -H. -Bcmake-build-release -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$HOME/qt6/6.9.3/gcc_64
cmake -H. -Bcmake-build-debug -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=$HOME/qt6/6.9.3/gcc_64

After the configuration step, you can ask CMake to build the project.

cmake --build cmake-build-release/ --target all
cmake --build cmake-build-debug/ --target all

Build Options

Build options can be found in options.cmake. Simply specify the build option during the configuration step in CMake. Using the already generated cmake-build-release directory from the previous section, we can:

cmake -H. -Bcmake-build-release -DEZGL_BUILD_EXAMPLES=ON -DCMAKE_PREFIX_PATH=$HOME/qt6/6.9.3/gcc_64

Your IDE or Makefile should now include additional targets when you turn these options on. For example, enabling EZGL_BUILD_EXAMPLES should provide access to the basic-application target, which you can build:

cmake --build cmake-build-release/ --target basic-application

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 96.0%
  • GLSL 2.1%
  • CMake 1.9%