Building Chatterino isn't always straight forward.
To build it for my system in my desired configuration, I created a small script, that should run inside the cloned repository.
It builds from the current branch but makes sure it's up-to-date.
param([string]$QtVersion="6.8.0",[string]$QtPath="G:\QT",[string]$InstallDir="D:\Chatterino7",[switch]$NoInstall,[switch]$NoClean)$ErrorActionPreference="Stop";functionRequireOk{if(-not$?){Pop-Locationthrow"Non-Zero exit code";}}if($null-eq$ENV:VSINSTALLDIR){Write-Output"Setting VS env";&vcvars.ps1;RequireOk;}gitpull--ff-only;RequireOk;gitsubmoduleupdate--init--recursive;RequireOk;if(-not$NoClean){Remove-Item-Recurse-Forcebuild;mkdirbuild;}Push-Locationbuild;conaninstall..`--output-folder=.`-bmissing`-ctools.cmake.cmaketoolchain:generator=Ninja`-sbuild_type=RelWithDebInfo;RequireOk;cmake..`-GNinja`-DCMAKE_BUILD_TYPE=RelWithDebInfo`-DCMAKE_PREFIX_PATH="$QtPath\$QtVersion\msvc2022_64"`-DCMAKE_TOOLCHAIN_FILE="conan_toolchain.cmake"`-DBUILD_WITH_CRASHPAD=On`-DCHATTERINO_PLUGINS=On`-DUSE_PRECOMPILED_HEADERS=On`-DCHATTERINO_LTO=On;RequireOk;ninja-j6;RequireOk;if(-not$NoInstall){$running=Get-Process-Name"chatterino"-ErrorActionSilentlyContinue;if($running){Stop-Process$running.Id;}# XXX: wait for chatterino to be fully closedfor($i=0;$i-lt5;$i++){cmake--install.--prefix"$InstallDir";if($?){break;}}RequireOk;Copy-Item-Forcebin/chatterino.pdb"$InstallDir\.";if($running){Start-Process"$InstallDir\chatterino.exe";}}Pop-Location;