Skip to content

[Graphics] Support Metal Backend #162

[Graphics] Support Metal Backend

[Graphics] Support Metal Backend #162

Workflow file for this run

name: CMake
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
BUILD_TYPE: Release
jobs:
Windows-Build:
strategy:
matrix:
compiler: ["MSVC"]
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
with:
submodules: "recursive"
- name: Add MSBuild to Path
uses: microsoft/setup-msbuild@v1.1
with:
msbuild-architecture: x64
- name: Update CMake
run: cmake --version
- name: Configure CMake
run: ls && cmake -G"Visual Studio 17 2022" -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DLIBRAW_PATH=${{github.workspace}}/3rdparty/LibRaw
- name: Build
run: ls ${{github.workspace}}/build && cd ${{github.workspace}}/build && MSBuild.exe ./Samples/ImmortalEditor/ImmortalEditor.vcxproj -t:rebuild -property:Configuration=${{env.BUILD_TYPE}}
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest -C ${{env.BUILD_TYPE}}
Linux-Build:
strategy:
matrix:
compiler: ["gcc", "clang"]
include:
- compiler: gcc
c: gcc-11
cxx: g++-11
- compiler: clang
c: clang-15
cxx: clang++-15
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: "recursive"
- name: Install Dependencies
run: sudo apt update && sudo apt upgrade -y &&
sudo apt-get install libxrandr-dev xorg-dev libwayland-dev wayland-protocols libxkbcommon-dev libasound2-dev ninja-build ${{ matrix.c }} ${{ matrix.cxx }}
- name: Update CMake
run: cmake --version
- name: Configure CMake
run: ls && ${{ matrix.c }} -v && ${{ matrix.cxx }} -v && cmake -G"Ninja" -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
-DLIBRAW_PATH=${{github.workspace}}/3rdparty/LibRaw
-DCMAKE_C_COMPILER:FILEPATH=/usr/bin/${{ matrix.c }}
-DCMAKE_CXX_COMPILER:FILEPATH=/usr/bin/${{ matrix.cxx }}
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target ImmortalEditor --
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest -C ${{env.BUILD_TYPE}}
MacOS-Build:
strategy:
matrix:
generator: ["Ninja", "Xcode"]
include:
- generator: Ninja
name: Ninja
- generator: Xcode
name: Xcode
runs-on: macos-14
steps:
- uses: actions/checkout@v3
with:
submodules: "recursive"
- uses: symbitic/install-cmake@master
- if: ${{ matrix.generator == 'Xcode' }}
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- if : ${{ matrix.generator == 'Xcode' }}
run: sudo xcodebuild -license accept
- name: Update CMake
run: cmake --version
- name: Configure CMake
run: ls && clang -v && cmake -G ${{ matrix.name }} -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
-DLIBRAW_PATH=${{github.workspace}}/3rdparty/LibRaw
-DCMAKE_C_COMPILER:FILEPATH=clang
-DCMAKE_CXX_COMPILER:FILEPATH=clang++
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target ImmortalEditor --
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest -C ${{env.BUILD_TYPE}}