To install the library is simple but due to our support for both C and C++ the setup diverges somewhat

C++

The setup for C++ is to simply include all headers and source files under the core directory to your project.

C

For C you need to add all the header and source files for C++ but also add the ones under the C folder. Additionally, you might want to add these files to a static or shared library if you want a strictly C project

Dependencies

On Unix based systems, you need to link to the util library if you get linker errors for missing system libraries. As of the time of writing, this is not required on Linux

Configuration

There are a couple of compile time configuration options you can toggle

UEXEC_CUSTOM_STRING macro

By default, we use C++’ std::string internally, but if you want to use a custom string type, you can define the UEXEC_CUSTOM_STRING macro to be equal to your custom string’s type. Next, you want to define the UEXEC_CUSTOM_STRING_INCLUDE which should contain the name of your header file

Exporting functions out of DLL boundaries

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