mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-11-14 23:19:42 +01:00
0984e06546
> CMake is re-running because D:/a/VVVVVV/VVVVVV/desktop_version > /build_default/CMakeFiles/generate.stamp is out-of-date. > the file 'D:/a/VVVVVV/VVVVVV/desktop_version/CMakeLists.txt' > is newer than 'D:/a/VVVVVV/VVVVVV/desktop_version/build_default > /CMakeFiles/generate.stamp.depend' > result='-1' "newer" probably means "the last edit date is newer because it was just cloned", so let's see if including it in the cache means the last edit date will be kept the same too... We can freely do this, as the cache key includes the hash of the file itself.
206 lines
5.7 KiB
YAML
206 lines
5.7 KiB
YAML
name: CI
|
|
|
|
# Trigger this workflow on push or pull request
|
|
on: [push, pull_request]
|
|
|
|
env:
|
|
SRC_DIR_PATH: desktop_version
|
|
|
|
jobs:
|
|
build-mac:
|
|
name: Build (macos-latest)
|
|
|
|
runs-on: macos-latest
|
|
|
|
env:
|
|
CXXFLAGS: -I/usr/local/include/SDL2
|
|
LDFLAGS: -L/usr/local/lib
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Install dependencies
|
|
run: brew install ninja sdl2
|
|
|
|
- name: CMake configure (default version)
|
|
run: |
|
|
mkdir ${SRC_DIR_PATH}/build && cd ${SRC_DIR_PATH}/build
|
|
cmake -GNinja ..
|
|
- name: Build (default version)
|
|
run: ninja -C ${SRC_DIR_PATH}/build
|
|
|
|
- name: CMake configure (official)
|
|
run: |
|
|
cd ${SRC_DIR_PATH}/build
|
|
cmake -DOFFICIAL_BUILD=ON ..
|
|
- name: Build (official)
|
|
run: |
|
|
ninja -C ${SRC_DIR_PATH}/build
|
|
|
|
- name: CMake configure (M&P)
|
|
run: |
|
|
cd ${SRC_DIR_PATH}/build
|
|
cmake -DOFFICIAL_BUILD=OFF -DMAKEANDPLAY=ON ..
|
|
- name: Build (M&P)
|
|
run: ninja -C ${SRC_DIR_PATH}/build
|
|
|
|
- name: CMake configure (no custom levels)
|
|
run: |
|
|
cd ${SRC_DIR_PATH}/build
|
|
cmake -DMAKEANDPLAY=OFF -DCUSTOM_LEVEL_SUPPORT=DISABLED ..
|
|
- name: Build (no custom levels)
|
|
run: ninja -C ${SRC_DIR_PATH}/build
|
|
|
|
- name: CMake configure (no editor)
|
|
run: |
|
|
cd ${SRC_DIR_PATH}/build
|
|
cmake -DCUSTOM_LEVEL_SUPPORT=NO_EDITOR ..
|
|
- name: Build (no editor)
|
|
run: ninja -C ${SRC_DIR_PATH}/build
|
|
|
|
build-lin:
|
|
name: Build (CentOS 7)
|
|
|
|
runs-on: ubuntu-latest
|
|
container: ghcr.io/infoteddy/vvvvvv-build@sha256:50a2f769db3ca180286e9a76c1bf06b7016544a78e1fc7a9a0cc1144c675ced1
|
|
|
|
env:
|
|
CXXFLAGS: -I/usr/local/include/SDL2
|
|
LDFLAGS: -L/usr/local/lib
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
with:
|
|
submodules: true
|
|
|
|
- name: CMake configure (default version)
|
|
run: |
|
|
mkdir ${SRC_DIR_PATH}/build && cd ${SRC_DIR_PATH}/build
|
|
cmake ..
|
|
- name: Build (default version)
|
|
run: make -j $(nproc) -C ${SRC_DIR_PATH}/build
|
|
|
|
- name: CMake configure (official)
|
|
run: |
|
|
cd ${SRC_DIR_PATH}/build
|
|
cmake -DOFFICIAL_BUILD=ON ..
|
|
- name: Build (official)
|
|
run: |
|
|
make -j $(nproc) -C ${SRC_DIR_PATH}/build
|
|
|
|
- name: CMake configure (M&P)
|
|
run: |
|
|
cd ${SRC_DIR_PATH}/build
|
|
cmake -DOFFICIAL_BUILD=OFF -DMAKEANDPLAY=ON ..
|
|
- name: Build (M&P)
|
|
run: make -j $(nproc) -C ${SRC_DIR_PATH}/build
|
|
|
|
- name: CMake configure (no custom levels)
|
|
run: |
|
|
cd ${SRC_DIR_PATH}/build
|
|
cmake -DMAKEANDPLAY=OFF -DCUSTOM_LEVEL_SUPPORT=DISABLED ..
|
|
- name: Build (no custom levels)
|
|
run: make -j $(nproc) -C ${SRC_DIR_PATH}/build
|
|
|
|
- name: CMake configure (no editor)
|
|
run: |
|
|
cd ${SRC_DIR_PATH}/build
|
|
cmake -DCUSTOM_LEVEL_SUPPORT=NO_EDITOR ..
|
|
- name: Build (no editor)
|
|
run: make -j $(nproc) -C ${SRC_DIR_PATH}/build
|
|
|
|
build-win:
|
|
name: Build (windows-latest)
|
|
|
|
runs-on: windows-latest
|
|
|
|
env:
|
|
SDL_VERSION: 2.24.0
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
with:
|
|
submodules: true
|
|
|
|
- name: Cache SDL
|
|
id: cache-windows-sdl
|
|
uses: actions/cache@v3
|
|
env:
|
|
cache-name: cache-sdl
|
|
with:
|
|
path: C:\SDL2-*
|
|
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.SDL_VERSION }}
|
|
|
|
- if: ${{ steps.cache-windows-sdl.outputs.cache-hit != 'true' }}
|
|
name: Download SDL if not cached
|
|
run: |
|
|
Invoke-WebRequest "https://github.com/libsdl-org/SDL/releases/download/release-$env:SDL_VERSION/SDL2-devel-$env:SDL_VERSION-VC.zip" -o C:\SDL.zip
|
|
Expand-Archive C:\SDL.zip -DestinationPath C:\
|
|
|
|
- name: Cache build folder for this CMakeLists.txt
|
|
id: cache-windows-build-folder
|
|
uses: actions/cache@v3
|
|
env:
|
|
cache-name: cache-windows-build-folder-VS2022
|
|
with:
|
|
path: |
|
|
desktop_version/build
|
|
desktop_version/CMakeLists.txt
|
|
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('desktop_version/CMakeLists.txt') }}-SDL${{ env.SDL_VERSION }}
|
|
|
|
- if: ${{ steps.cache-windows-build-folder.outputs.cache-hit != 'true' }}
|
|
name: CMake initial configure/generate
|
|
run: |
|
|
mkdir $env:SRC_DIR_PATH/build
|
|
cd $env:SRC_DIR_PATH/build
|
|
$env:LDFLAGS = "/LIBPATH:C:\SDL2-$env:SDL_VERSION\lib\x86 "
|
|
cmake -G "Visual Studio 17 2022" -A Win32 `
|
|
-DSDL2_INCLUDE_DIRS="C:\SDL2-$env:SDL_VERSION\include" `
|
|
-DSDL2_LIBRARIES="SDL2;SDL2main" ..
|
|
|
|
- name: CMake configure (default version)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake ..
|
|
- name: Build (default version)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake --build .
|
|
|
|
- name: CMake configure (official)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake -DOFFICIAL_BUILD=ON ..
|
|
- name: Build (official)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake --build .
|
|
|
|
- name: CMake configure (M&P)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake -DOFFICIAL_BUILD=OFF -DMAKEANDPLAY=ON ..
|
|
- name: Build (M&P)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake --build .
|
|
|
|
- name: CMake configure (no custom levels)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake -DMAKEANDPLAY=OFF -DCUSTOM_LEVEL_SUPPORT=DISABLED ..
|
|
- name: Build (no custom levels)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake --build .
|
|
|
|
- name: CMake configure (no editor)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake -DCUSTOM_LEVEL_SUPPORT=NO_EDITOR ..
|
|
- name: Build (no editor)
|
|
run: |
|
|
cd $env:SRC_DIR_PATH/build
|
|
cmake --build .
|