From 3b7374590da44631daf1b464c3eec8f864e12926 Mon Sep 17 00:00:00 2001 From: Rosalie Wanders Date: Wed, 11 Oct 2023 11:50:15 +0200 Subject: [PATCH] ci: add github actions workflow --- .github/workflows/build.yml | 72 +++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..a5ae126 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,72 @@ +name: SporeModLoader + +on: [push, pull_request] + +jobs: + Windows: + runs-on: windows-2022 + steps: + - uses: actions/checkout@v4 + with: + submodules: 'true' + - uses: ilammy/msvc-dev-cmd@v1 + with: + arch: amd64_x86 + - name: Build Detours + run: | + cd "3rdParty\Detours" + nmake + env: + CL: /MP + DETOURS_TARGET_PROCESSOR: x86 + - name: Build minizip-ng + run: | + cmake -S "3rdParty\minizip-ng" -B "3rdParty\minizip-ng\build" -A Win32 ` + -DMZ_LZMA=OFF -DMZ_ZSTD=OFF ` + -DMZ_BZIP2=OFF -DMZ_PKCRYPT=OFF ` + -DMZ_WZAES=OFF -DMZ_SIGNING=OFF ` + -DMZ_DECOMPRESS_ONLY=ON ` + -DCMAKE_POLICY_DEFAULT_CMP0091=NEW ` + -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded ` + -DCMAKE_BUILD_TYPE=Release + cmake --build "3rdParty\minizip-ng\build" --config Release + - name: Build Spore-ModAPI + run: | + msbuild "3rdParty\Spore-ModAPI\Spore ModAPI" ` + /t:BuildDlls ` + /p:BuildVer=280 ` + /p:Config=Release ` + /p:Platform=Win32 ` + /m + - name: Build SporeModLoader + run: | + msbuild "SporeModLoader" ` + /p:Configuration=Release ` + /p:Platform=Win32 ` + /m + - name: Build SporeModManager + run: | + msbuild "SporeModManager" ` + /p:Configuration=Release ` + /p:Platform=Win32 ` + /m + - name: Package SporeModLoader + run: | + New-Item -ItemType Directory -Force -Path bin\SporebinEP1 + New-Item -ItemType Directory -Force -Path bin\SporeModLoader\CoreLibs\disk + New-Item -ItemType Directory -Force -Path bin\SporeModLoader\CoreLibs\march2017 + New-Item -ItemType Directory -Force -Path bin\SporeModLoader\ModLibs + New-Item -ItemType Directory -Force -Path bin\SporeModLoader\SporeModManager + + Copy "3rdParty\Spore-ModAPI\dll\Release\SporeModAPI.disk.dll" "bin\SporeModLoader\CoreLibs\disk\SporeModAPI.dll" + Copy "3rdParty\Spore-ModAPI\dll\Release\SporeModAPI.march2017.dll" "bin\SporeModLoader\CoreLibs\march2017\SporeModAPI.dll" + Copy "3rdParty\Spore-ModAPI\dll\Release\SporeModAPI.lib" "bin\SporeModLoader\CoreLibs\SporeModAPI.lib" + + Copy "SporeModLoader\Bin\Release\dinput8.dll" "bin\SporebinEP1\dinput8.dll" + Copy "SporeModManager\Bin\Release\SporeModManager.exe" "bin\SporeModLoader\SporeModManager\SporeModManager.exe" + - name: Upload SporeModLoader + uses: actions/upload-artifact@v3 + with: + name: SporeModLoader-${{ env.GIT_REVISION }} + path: bin/* + # TODO: package \ No newline at end of file