#!/bin/bash

set -euo pipefail

cd "$(dirname "$0")"

msbuild=/c/Program\ Files/Microsoft\ Visual\ Studio/2022/Community/MSBuild/Current/Bin/MSBuild.exe
signtool=/c/Program\ Files\ \(x86\)/Windows\ Kits/10/bin/10.0.22621.0/x64/signtool.exe
projucer=~/Desktop/Projucer.exe
nsis=/c/Program\ Files\ \(x86\)/NSIS/Bin/makensis.exe

cd libuv-1.47.0
rm -rf build build32
mkdir build
cd build
cmake ..
"$msbuild" uv_a.vcxproj -p:Configuration=Debug
"$msbuild" uv_a.vcxproj -p:Configuration=Release
cd ..
mkdir build32
cd build32
cmake -DWIN32=1 .. -A Win32
"$msbuild" uv_a.vcxproj -p:Configuration=Debug
"$msbuild" uv_a.vcxproj -p:Configuration=Release
cd ../..

cd BridgePluginHost
rm -f JuceLibraryCode/BinaryData.{cpp,h}
"$projucer" --resave BridgePluginHost.jucer
"$msbuild" "Builds/VisualStudio2022/WavTool Bridge.sln" -p:Configuration=Debug
"$msbuild" "Builds/VisualStudio2022/WavTool Bridge.sln" -p:Configuration=Release

cd ../nsis
rm -rf dist
mkdir -p dist/plugins
cp ../BridgePluginHost/Builds/VisualStudio2022/x64/Release/App/BridgePluginHost.exe ./dist/WavTool\ Bridge.exe
cp ../WinSparkle-0.8.1/x64/Release/WinSparkle.dll ./dist/
cp plugins/ExecDos.dll ./dist/plugins/
