name: Qt Build on: push: branches: - master pull_request: env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) BUILD_TYPE: Release jobs: Windows: runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: Fetch submodules run: git submodule update --init --recursive - name: Setup Qt uses: jurplel/install-qt-action@v3 with: arch: win64_msvc2019_64 version: 6.2.0 - name: Setup Vulkan SDK uses: humbletim/setup-vulkan-sdk@v1.2.0 with: vulkan-query-version: latest vulkan-use-cache: true vulkan-components: Vulkan-Headers, Vulkan-Loader, Glslang - name: Configure CMake run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DENABLE_USER_BUILD=ON -DENABLE_QT_GUI=ON - name: Build run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} - name: Deploy run: | mkdir upload move build/Release/Alber.exe upload windeployqt --dir upload upload/Alber.exe - name: Upload executable uses: actions/upload-artifact@v2 with: name: Windows executable path: upload MacOS: runs-on: macos-latest steps: - uses: actions/checkout@v2 - name: Fetch submodules run: git submodule update --init --recursive - name: Setup Vulkan SDK uses: humbletim/setup-vulkan-sdk@v1.2.0 with: vulkan-query-version: latest vulkan-use-cache: true vulkan-components: Vulkan-Headers, Vulkan-Loader, Glslang - name: Install bundle dependencies run: | brew install dylibbundler imagemagick - name: Install qt run: brew install qt && which macdeployqt - name: Configure CMake run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DENABLE_USER_BUILD=ON -DENABLE_QT_GUI=ON - name: Build run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} - name: Run bundle script run: | chmod +x .github/mac-bundle-qt.sh ./.github/mac-bundle-qt.sh - name: Sign the App run: codesign --force -s - -vvvv Alber.app - name: Zip it up run: zip -r Alber Alber.app - name: Upload MacOS App uses: actions/upload-artifact@v2 with: name: MacOS Alber App Bundle path: 'Alber.zip' Linux: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - name: Fetch submodules run: git submodule update --init --recursive - name: Install misc packages run: | sudo apt-get update && sudo apt install libx11-dev libgl1-mesa-glx mesa-common-dev libfuse2 sudo add-apt-repository ppa:okirby/qt6-backports sudo apt update sudo apt install qt6-base-dev - name: Install newer Clang run: | wget https://apt.llvm.org/llvm.sh chmod +x ./llvm.sh sudo ./llvm.sh 16 - name: Install newer CMake run: | sudo curl -s https://apt.kitware.com/keys/kitware-archive-latest.asc | gpg --dearmor | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 42D5A192B819C5DA sudo add-apt-repository -y 'deb https://apt.kitware.com/ubuntu/ focal main' sudo apt-get update sudo apt-get install cmake - name: Setup Vulkan SDK run: | wget -qO - http://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add - sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-focal.list http://packages.lunarg.com/vulkan/lunarg-vulkan-focal.list sudo apt update sudo apt install vulkan-sdk - name: Configure CMake run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=clang-16 -DCMAKE_CXX_COMPILER=clang++-16 -DENABLE_USER_BUILD=ON -DENABLE_QT_GUI=ON - name: Build run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} - name: Run AppImage packaging script run: | chmod +x .github/linux-appimage-qt.sh ./.github/linux-appimage-qt.sh - name: Upload executable uses: actions/upload-artifact@v2 with: name: Linux executable path: './Alber-x86_64.AppImage'