Make DOOM 3's main menu bar to be dynamic based on input device #277
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CMake | |
on: | |
push: | |
# paths: | |
# - .github/workflows/cmake.yml | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: retail | |
VERSION: RC | |
jobs: | |
linux-build: | |
# The CMake configure and build commands are platform agnostic and should work equally | |
# well on Windows or Mac. You can convert this to a matrix build if you need | |
# cross-platform coverage. | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: actions/checkout@v3 | |
with: | |
repository: MadDeCoDeR/BFA-Assets | |
path: BFA_Assets | |
- name: Set up GCC | |
uses: egor-tensin/setup-gcc@v1 | |
with: | |
version: 12 | |
platform: x64 | |
- name: Download Depedencies | |
run: sudo apt-get install -y libglu1-mesa-dev freeglut3-dev mesa-common-dev libxmu-dev libxi-dev libgl-dev libx11-dev libxft-dev libxext-dev nasm libwayland-dev libxkbcommon-dev libegl1-mesa-dev libdecor-0-dev libxrandr-dev | |
- name: Cache linux vcpkg | |
uses: actions/cache@v3 | |
with: | |
path: ${{github.workspace}}/build/vcpkg_installed | |
key: ${{runner.os}}-vcpkg-${{hashfiles('neo/linux-status')}} | |
restore-keys: | | |
${{ runner.OS }}-vcpkg- | |
- name: Configure CMake | |
working-directory: ${{github.workspace}}/neo | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build --preset=linux-${{env.BUILD_TYPE}} | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --parallel=16 | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: linux-${{env.VERSION}}-${{env.BUILD_TYPE}} | |
path: | | |
./build/DoomBFA | |
./build/vcpkg_installed/x64-linux/share/*/copyright | |
./base/* | |
./BFA_Assets/* | |
./base_new/* | |
./COPYING.txt | |
./README.md | |
- name: Configure CMake Debug | |
working-directory: ${{github.workspace}}/neo | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build --preset=linux-debug | |
- name: Build Debug | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --parallel=16 | |
- name: Archive debug artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: linux-${{env.VERSION}}-debug | |
path: | | |
./build/DoomBFA | |
./build/vcpkg_installed/x64-linux/share/*/copyright | |
./base/* | |
./BFA_Assets/* | |
./base_new/* | |
./COPYING.txt | |
./README.md | |
windows-build: | |
# The CMake configure and build commands are platform agnostic and should work equally | |
# well on Windows or Mac. You can convert this to a matrix build if you need | |
# cross-platform coverage. | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: actions/checkout@v3 | |
with: | |
repository: MadDeCoDeR/BFA-Assets | |
path: BFA_Assets | |
- name: setup-msbuild | |
uses: microsoft/setup-msbuild@v1.1 | |
with: | |
vs-version: '[17.0, 18.0)' | |
msbuild-architecture: x64 | |
- name: Cache Windows vcpkg | |
uses: actions/cache@v3 | |
with: | |
path: ${{github.workspace}}/build/vcpkg_installed | |
key: ${{runner.os}}-vcpkg-${{hashfiles('neo/windows-status')}} | |
restore-keys: | | |
${{ runner.OS }}-vcpkg- | |
- name: Configure CMake | |
working-directory: ${{github.workspace}}/neo | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build --preset=windows-x64-2022 | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} | |
- name: BuildDebug | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config debug | |
# - name: Download FFMPEG | |
# working-directory: ${{github.workspace}}/.github/tools | |
# shell: pwsh | |
# run: | | |
# .\download-ffmpeg.ps1 | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: windows-${{env.VERSION}}-${{env.BUILD_TYPE}} | |
path: | | |
./build/${{env.BUILD_TYPE}}/DoomBFA.exe | |
./build/vcpkg_installed/x64-windows-static-md/share/*/copyright | |
./base/* | |
./BFA_Assets/* | |
./base_new/* | |
./COPYING.txt | |
./README.md | |
- name: Archive debug artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: windows-${{env.VERSION}}-debug | |
path: | | |
./build/debug/DoomBFA.* | |
./build/vcpkg_installed/x64-windows-static-md/share/*/copyright | |
./base/* | |
./BFA_Assets/* | |
./base_new/* | |
./COPYING.txt | |
./README.md | |
windows-32-bit-build: | |
# The CMake configure and build commands are platform agnostic and should work equally | |
# well on Windows or Mac. You can convert this to a matrix build if you need | |
# cross-platform coverage. | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: actions/checkout@v3 | |
with: | |
repository: MadDeCoDeR/BFA-Assets | |
path: BFA_Assets | |
- name: setup-msbuild | |
uses: microsoft/setup-msbuild@v1.1 | |
with: | |
vs-version: '[17.0, 18.0)' | |
msbuild-architecture: Win32 | |
- name: Cache Windows vcpkg | |
uses: actions/cache@v3 | |
with: | |
path: ${{github.workspace}}/build/vcpkg_installed | |
key: ${{runner.os}}-vcpkg-${{hashfiles('neo/windows-32-bit-status')}} | |
restore-keys: | | |
${{ runner.OS }}-vcpkg- | |
- name: Configure CMake | |
working-directory: ${{github.workspace}}/neo | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/build --preset=windows-x86-2022 | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} | |
# - name: Download FFMPEG | |
# working-directory: ${{github.workspace}}/.github/tools | |
# shell: pwsh | |
# run: | | |
# .\download-ffmpeg.ps1 | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: windows-32-bit-${{env.VERSION}}-${{env.BUILD_TYPE}} | |
path: | | |
./build/${{env.BUILD_TYPE}}/DoomBFA.exe | |
./build/vcpkg_installed/x86-windows-static-md/share/*/copyright | |
./base/* | |
./BFA_Assets/* | |
./base_new/* | |
./COPYING.txt | |
./README.md | |
make-release: | |
needs: [ linux-build, windows-build, windows-32-bit-build ] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get log messages | |
id: messages | |
run: echo "git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:-%s" | |
- name: Get current date | |
id: date | |
run: echo "::set-output name=date::$(date +'%Y-%m-%d-%H-%M-%s')" | |
- name: Make release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: nightly-${{ steps.date.outputs.date }} | |
release_name: DOOM BFA Nigthly ${{ steps.date.outputs.date }} | |
body: | | |
${{ steps.messages.outputs.messages }} | |
draft: false | |
prerelease: true | |
- name: Download linux artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: linux-${{env.VERSION}}-${{env.BUILD_TYPE}} | |
- name: Zip linux artifact files | |
working-directory: ${{github.workspace}} | |
run: | | |
mv ./build/DoomBFA DoomBFA | |
mv ./base/DoomBFA.sh DoomBFA.sh | |
cp -r -u -f ./BFA_Assets/* . | |
rm -r ./BFA_Assets | |
rm -r ./base/renderprogs | |
mkdir ./third-party-licenses | |
mv ./build/vcpkg_installed/x64-linux/share/* ./third-party-licenses | |
chmod +x DoomBFA | |
chmod +x DoomBFA.sh | |
rm -d -R ./build | |
zip -m -r linux-${{env.VERSION}}-${{env.BUILD_TYPE}}.zip . | |
- name: Upload Linux Artifact to release | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ${{github.workspace}}/linux-${{env.VERSION}}-${{env.BUILD_TYPE}}.zip | |
asset_name: linux-${{env.VERSION}}-${{env.BUILD_TYPE}}.zip | |
asset_content_type: application/zip | |
- name: Delete linux artifact zip file | |
working-directory: ${{github.workspace}} | |
run: rm linux-${{env.VERSION}}-${{env.BUILD_TYPE}}.zip | |
- name: Download linux debug artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: linux-${{env.VERSION}}-debug | |
- name: Zip linux artifact files | |
working-directory: ${{github.workspace}} | |
run: | | |
mv ./build/DoomBFA DoomBFA | |
mv ./base/DoomBFA.sh DoomBFA.sh | |
cp -r -u -f ./BFA_Assets/* . | |
rm -r ./BFA_Assets | |
mkdir ./third-party-licenses | |
mv ./build/vcpkg_installed/x64-linux/share/* ./third-party-licenses | |
chmod +x DoomBFA | |
chmod +x DoomBFA.sh | |
rm -d -R ./build | |
zip -m -r linux-${{env.VERSION}}-debug.zip . | |
- name: Upload Linux debug Artifact to release | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ${{github.workspace}}/linux-${{env.VERSION}}-debug.zip | |
asset_name: linux-${{env.VERSION}}-debug.zip | |
asset_content_type: application/zip | |
- name: Delete linux debug artifact zip file | |
working-directory: ${{github.workspace}} | |
run: rm linux-${{env.VERSION}}-debug.zip | |
- name: Download windows artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: windows-${{env.VERSION}}-${{env.BUILD_TYPE}} | |
- name: Zip Windows artifact files | |
working-directory: ${{github.workspace}} | |
run: | | |
mv ./build/${{env.BUILD_TYPE}}/* . | |
cp -r -u -f ./BFA_Assets/* . | |
rm -r ./BFA_Assets | |
rm -r ./base/renderprogs | |
mkdir ./third-party-licenses | |
mv ./build/vcpkg_installed/x64-windows-static-md/share/* ./third-party-licenses | |
rm -d -rf ./build | |
zip -m -r windows-${{env.VERSION}}-${{env.BUILD_TYPE}}.zip . | |
- name: Upload Windows Artifact to release | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ${{github.workspace}}/windows-${{env.VERSION}}-${{env.BUILD_TYPE}}.zip | |
asset_name: windows-${{env.VERSION}}-${{env.BUILD_TYPE}}.zip | |
asset_content_type: application/zip | |
- name: Delete Windows artifact zip file | |
working-directory: ${{github.workspace}} | |
run: rm windows-${{env.VERSION}}-${{env.BUILD_TYPE}}.zip | |
- name: Download windows debug artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: windows-${{env.VERSION}}-debug | |
- name: Zip Windows debug artifact files | |
working-directory: ${{github.workspace}} | |
run: | | |
mv ./build/debug/* . | |
cp -r -u -f ./BFA_Assets/* . | |
rm -r ./BFA_Assets | |
mkdir ./third-party-licenses | |
mv ./build/vcpkg_installed/x64-windows-static-md/share/* ./third-party-licenses | |
rm -d -rf ./build | |
zip -m -r windows-${{env.VERSION}}-debug.zip . | |
- name: Upload Windows debug Artifact to release | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ${{github.workspace}}/windows-${{env.VERSION}}-debug.zip | |
asset_name: windows-${{env.VERSION}}-debug.zip | |
asset_content_type: application/zip | |
- name: Delete Windows debug artifact zip file | |
working-directory: ${{github.workspace}} | |
run: rm windows-${{env.VERSION}}-debug.zip | |
- name: Download windows 32 bit artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: windows-32-bit-${{env.VERSION}}-${{env.BUILD_TYPE}} | |
- name: Zip Windows 32 bit artifact files | |
working-directory: ${{github.workspace}} | |
run: | | |
mv ./build/${{env.BUILD_TYPE}}/* . | |
cp -r -u -f ./BFA_Assets/* . | |
rm -r ./BFA_Assets | |
rm -r ./base/renderprogs | |
mkdir ./third-party-licenses | |
mv ./build/vcpkg_installed/x86-windows-static-md/share/* ./third-party-licenses | |
rm -d -rf ./build | |
zip -m -r windows-32-bit-${{env.VERSION}}-${{env.BUILD_TYPE}}.zip . | |
- name: Upload Windows 32 bit Artifact to release | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ${{github.workspace}}/windows-32-bit-${{env.VERSION}}-${{env.BUILD_TYPE}}.zip | |
asset_name: windows-32-bit-${{env.VERSION}}-${{env.BUILD_TYPE}}.zip | |
asset_content_type: application/zip |