Installation

To install the library, simply compile all the source files statically into your project. Additionally, CMake users can use the provided CMakeLists.txt file as a submodule. Finally, you may use pkgconfig to find the library if installed using a system package.

The library also depends on the yaml-cpp library, which is added as a submodule for convenience.

Configuration

Exporting symbols out of the library

To export symbols out of the library, define the UVK_LOG_EXPORT_FROM_LIBRARY macro. When compiling the library, also make sure to define the UVK_LIB_COMPILE macro, otherwise the linker will try to import the symbols, not export them.

This is enabled and handled by default for CMake users.

Configuring yaml-cpp

Users of CMake can vendor yaml-cpp by setting the BUILD_VARIANT_VENDOR CMake variable to ON. Otherwise, CMake will try to use pkgconfig to find it.

You might also "vendor" yaml-cpp for your own project. In this case, you can set the USE_PRECONFIGURED_YAML variable to ON and set the YAML_CPP_INCLUDE_DIRS_T variable to be equal to the include directories of your own bundled version.

Note: Windows will always be in "vendored" mode.

Enabling installation of files

If you're using CMake, set UIMGUI_INSTALL to ON to install the headers and library.

Setting the library mode

If you're using CMake, set BUILD_VARIANT_STATIC to ON to build the library as a static library.

Setting a custom string implementation

You can define the UI18N_CUSTOM_STRING macro to define a custom string. Make sure that it replaces with the type of your string. After that, define the UI18N_CUSTOM_STRING_INCLUDE macro and set it to replace as the header directory in quotes.

Setting a custom map implementation

You can define the UI18N_CUSTOM_MAP macro to define a custom map. Make sure that it replaces with the type of your map. After that, define the UI18N_CUSTOM_MAP_INCLUDE macro and set it to replace as the header directory in quotes.