Skip to content

Compiling

Alex edited this page Apr 23, 2023 · 6 revisions

This guide should help you compile input overlay from source, if you wish to do so.

OBS build setup

For development and compiling on windows you need a working build of obs studio, on linux it's not needed for the master branch, but is required for the legacy branch. So unless you just want to compile the master branch on linux, you'll have to follow the official guides for building obs-studio from source:

Building the plugin (legacy branch)

After that you should have a folder called 'obs-studio' with a subfolder called 'plugins' simply clone this repository into the 'plugins' folder: git clone --recursive https://github.com/univrsal/input-overlay.git -b legacy Now edit the CMakeLists.txt in the plugin folder and append add_subdirectory(input-overlay).

On Windows you now have to open CMake again and point the variables to the correct paths:

  • UIOHOOK_INCLUDE_DIR to input-overlay/libuiohook/include
  • UIOHOOK_LIBRARY to input-overlay/libuiohook/bin/[win32/win64]/uiohook.lib

On linux you'll need libuiohook installed correctly for your distro, or run CMake Gui and set the uiohook paths like this:

  • UIOHOOK_INCLUDE_DIR to <path to libuiohook>/include
  • UIOHOOK_LIBRARY to <path to libuiohook>/libuiohook.so

Now you can open your obs-studio solution in Visual studio and compile obs-studio with input-overlay, or if you're on linux you can open the project in QtCreator or build it directly over the command line: make -j<jobs> && make install where <jobs> is usually the amount of CPU cores. This command has to be run in the build directory you made when following the build instructions for obs studio.

Note that libuiohook provides nightly builds in the 1.2 branch, which you can get here.

Now you should have a build of obs-studio with input-overlay installed. You might need to copy uiohook.dll into the plugins folder on windows, otherwise it won't start.

Building the plugin (master branch, v5.0 and up)

It's recommended that you get a full build environment of obs-studio. This is only required on windows, but recommended for linux if you want to develop or debug the plugin. Here's the instructions for that:

After you've got obs built and running (On linux I recommend QtCreator for development) you can now clone this repository with git clone --recursive https://github.com/univrsal/input-overlay.git

You can then either manually configure and build the plugin or use the scripts in .github/scripts to do it for you.