MushMachine/.github/workflows/cmake.yml

166 lines
4.4 KiB
YAML
Raw Normal View History

name: CMake
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Debug
2022-10-30 15:59:13 +01:00
EM_VERSION: 2.0.24
EM_CACHE_FOLDER: 'emsdk-cache'
jobs:
linux:
timeout-minutes: 10
# 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:
2022-10-27 17:18:27 +02:00
- uses: actions/checkout@v3
with:
submodules: recursive
# TODO: cache
- name: Install Dependencies
run: sudo apt update && sudo apt -y install libsdl2-dev
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4
#- name: Test
#working-directory: ${{github.workspace}}/build
## Execute tests defined by the CMake configuration.
## See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
#run: ctest -C ${{env.BUILD_TYPE}} --output-on-failure
2022-02-19 00:59:07 +01:00
linux_gles:
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
2022-10-27 17:18:27 +02:00
- uses: actions/checkout@v3
2022-02-19 00:59:07 +01:00
with:
submodules: recursive
# TODO: cache
- name: Install Dependencies
run: sudo apt update && sudo apt -y install libsdl2-dev
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DMM_OPENGL_3_GLES=ON
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4
2022-08-11 15:48:51 +02:00
linux_tracy:
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
2022-10-27 17:18:27 +02:00
- uses: actions/checkout@v3
2022-08-11 15:48:51 +02:00
with:
submodules: recursive
- name: Install Dependencies
run: sudo apt update && sudo apt -y install libsdl2-dev
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DTRACY_ENABLE=ON
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4
2022-10-30 15:59:13 +01:00
emscripten:
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
#- name: Install Dependencies
#run: sudo apt update && sudo apt -y install libsdl2-dev
- name: Setup emsdk
uses: mymindstorm/setup-emsdk@v11
with:
# Make sure to set a version number!
version: ${{env.EM_VERSION}}
# This is the name of the cache folder.
# The cache folder will be placed in the build directory,
# so make sure it doesn't conflict with anything!
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
- name: Verify
run: emcc --check
- name: Configure CMake
run: emcmake cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DMM_OPENGL_3_GLES=ON
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4
2022-02-10 23:44:14 +01:00
macos:
timeout-minutes: 10
runs-on: macos-latest
steps:
2022-10-27 17:18:27 +02:00
- uses: actions/checkout@v3
2022-02-10 23:44:14 +01:00
with:
submodules: recursive
# TODO: cache
- name: Install Dependencies
run: brew install sdl2
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4
# TODO: for some reason vcpkg find sdl does not work, despite the find_package REQUIRE not failing
#windows:
#timeout-minutes: 10
#runs-on: windows-latest
#steps:
2022-10-27 17:18:27 +02:00
#- uses: actions/checkout@v3
#with:
#submodules: recursive
## TODO: cache
#- name: Install Dependencies
#run: vcpkg install sdl2:x64-windows
## setup vs env
#- uses: ilammy/msvc-dev-cmd@v1
#with:
#arch: amd64
#- name: Configure CMake
#run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake
#- name: Build
#run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4