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

If you want to export the symbols of the library out of a DLL, simply define the MLS_EXPORT_LIBRARY macro. Then when building the library, make sure the macro MLS_LIB_COMPILE is enabled.

Users of CMake will have that enabled by default.

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.