-
Install a new version of PowerShell
-
Install Visual Studio 2022 (or later) and install the bundled C++ compiler.
-
Clone the repository recursively via Git:
git clone --recursive https://github.com/gottagofaster236/RewardsTheater
-
Run
.github/scripts/Build-windows.ps1
inside PowerShell.
These steps are a continuation of the previous section on building.
-
Install pre-commit and run
pre-commit install
in the root of the repository in order to format code automatically before a commit. (This uses .pre-commit-config.yaml and .cmake-format.json). -
Navigate to
../obs-studio
. OBS Studio should be cloned already by the build script. Then build it like so:CI/build-windows.PS1 -BuildConfiguration Debug
-
Open the
RewardsTheater/build_x64
directory. OpenCMakeCache.txt
and add the following line:OBS_BUILD_DIR:FILEPATH=../../obs-studio/build64
Then build RewardsTheater again via the build script.
-
Open the project in Visual Studio. Right-click the
ALL_BUILD
project. Select "Debug" in the "Configuration:" dropdown. Set the "Command:" to the OBS binary atyour_user_dir\source\repos\obs-studio\build64\rundir\Debug\bin\64bit\obs64.exe
, and the working directory toyour_user_dir\source\repos\obs-studio\build64\rundir\Debug\bin\64bit
. Now when you hit "Run" inside Visual Studio, the plugin is copied automatically to the rundir and then VS launches OBS for debugging.
-
Install GCC 12 (or later) via
sudo apt install gcc-12 g++-12
(use your favorite package manager). -
Clone the repository recursively via Git:
git clone --recursive https://github.com/gottagofaster236/RewardsTheater
-
Run
export CC=gcc-12 export CXX=g++-12 sudo ./.github/scripts/build-linux.sh
The scripts contained in github/scripts
can be used to build and package the plugin and take care of setting up obs-studio as well as its own dependencies. A workflow for GitHub Actions is provided and will use these scripts.
Each build produces installers and packages that you can use for testing and releases. These artifacts can be found on the action result page via the "Actions" tab in your GitHub repository.
Simply create and push a tag and GitHub Actions will run the pipeline in Release Mode. This mode uses the tag as its version number instead of the git ref in normal mode.
The install step results in different directory structures depending on the value of LINUX_PORTABLE
- "OFF" will organize outputs to be placed in the system root, such as /usr/
, and "ON" will organize outputs for portable installations in the user's home directory. If you are packaging for a Linux distribution, you probably want to set -DLINUX_PORTABLE=OFF
.