= EZGL - An Easy Graphics Library
image:https://codedocs.xyz/mariobadr/ezgl.svg[link="https://codedocs.xyz/mariobadr/ezgl"]
EZGL is a library for use in ece297 as a simple way to create a GUI application.
The library provides a thin wrapper around GTK and drawing functionality.
== Dependencies
The library currently depends on GTK 3 and cairo.
== Compilation
This project uses CMake for compiling and works with CMake version 3.0.2 (the version available on the UG machines).
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
cmake -H. -Bcmake-build-debug -DCMAKE_BUILD_TYPE=Debug
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
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