Skip to content

CI testing

CI testing #646

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
windows: # Setup technically not allowed, backends have conflicting FreeType dependencies
runs-on: windows-2022
env:
SFML_VERSION: 2.6.0
SDL_VERSION: 2.28.3
SDL_TTF_VERSION: 2.20.2
GLFW_VERSION: '3.4'
RAYLIB_VERSION: '5.0'
FREETYPE_VERSION: 2.13.2
MSVC_TOOLSET_VERSION: 143 # VS2022
steps:
- name: Checkout TGUI
uses: actions/checkout@v4
- name: Install dependencies
run: |
C:\msys64\usr\bin\wget.exe -nv https://github.com/SFML/SFML/releases/download/${env:SFML_VERSION}/SFML-${env:SFML_VERSION}-windows-vc17-32-bit.zip
C:\msys64\usr\bin\wget.exe -nv https://github.com/libsdl-org/SDL/releases/download/release-${env:SDL_VERSION}/SDL2-devel-${env:SDL_VERSION}-VC.zip
C:\msys64\usr\bin\wget.exe -nv https://github.com/libsdl-org/SDL_ttf/releases/download/release-${env:SDL_TTF_VERSION}/SDL2_ttf-devel-${env:SDL_TTF_VERSION}-VC.zip
C:\msys64\usr\bin\wget.exe -nv https://github.com/glfw/glfw/releases/download/${env:GLFW_VERSION}/glfw-${env:GLFW_VERSION}.bin.WIN32.zip
C:\msys64\usr\bin\wget.exe -nv https://github.com/ubawurinna/freetype-windows-binaries/archive/refs/tags/v${env:FREETYPE_VERSION}.zip
7z x SFML-${env:SFML_VERSION}-windows-vc17-32-bit.zip
7z x SDL2-devel-${env:SDL_VERSION}-VC.zip
7z x SDL2_ttf-devel-${env:SDL_TTF_VERSION}-VC.zip
7z x glfw-${env:GLFW_VERSION}.bin.WIN32.zip
7z x v${env:FREETYPE_VERSION}.zip
- name: Cache raylib
uses: actions/cache@v4
id: cache-raylib
with:
path: RAYLIB_INSTALL
key: CACHE_WINDOWS_RAYLIB_${{env.RAYLIB_VERSION}}
- name: Build raylib
if: steps.cache-raylib.outputs.cache-hit != 'true'
run: |
C:\msys64\usr\bin\wget.exe -nv "https://github.com/raysan5/raylib/archive/refs/tags/${env:RAYLIB_VERSION}.zip"
7z x "${env:RAYLIB_VERSION}.zip"
cmake -DCMAKE_INSTALL_PREFIX=RAYLIB_INSTALL -DBUILD_SHARED_LIBS=ON -DBUILD_EXAMPLES=OFF -S raylib-${env:RAYLIB_VERSION} -B raylib-build -T v${env:MSVC_TOOLSET_VERSION} -A Win32
cmake --build raylib-build --config Release --target install
- name: Build TGUI
run: >
cmake -B TGUI-build -T v${env:MSVC_TOOLSET_VERSION} -A Win32
-DSFML_DIR="${env:GITHUB_WORKSPACE}/SFML-${env:SFML_VERSION}/lib/cmake/SFML/"
-DSDL2_DIR="${env:GITHUB_WORKSPACE}/SDL2-${env:SDL_VERSION}/cmake/"
-DSDL2_ttf_DIR="${env:GITHUB_WORKSPACE}/SDL2_ttf-${env:SDL_TTF_VERSION}/cmake/"
-DGLFW_INCLUDE_DIR="${env:GITHUB_WORKSPACE}/glfw-${env:GLFW_VERSION}.bin.WIN32/include"
-DGLFW_LIBRARY="${env:GITHUB_WORKSPACE}/glfw-${env:GLFW_VERSION}.bin.WIN32/lib-vc2022/glfw3dll.lib"
-DFREETYPE_WINDOWS_BINARIES_PATH="${env:GITHUB_WORKSPACE}/freetype-windows-binaries-${env:FREETYPE_VERSION}"
-Draylib_DIR="${env:GITHUB_WORKSPACE}/RAYLIB_INSTALL/lib/cmake/raylib/"
-Draylib_INCLUDE_DIR="${env:GITHUB_WORKSPACE}/RAYLIB_INSTALL/include"
-Draylib_LIBRARY="${env:GITHUB_WORKSPACE}/RAYLIB_INSTALL/lib/raylib.lib"
-DCMAKE_UNITY_BUILD=OFF
-DBUILD_SHARED_LIBS=ON
-DTGUI_CXX_STANDARD=23
-DTGUI_WARNINGS_AS_ERRORS=ON
-DTGUI_BUILD_EXAMPLES=ON
-DTGUI_BUILD_GUI_BUILDER=ON
-DTGUI_BUILD_TESTS=ON
-DTGUI_BACKEND=Custom
-DTGUI_HAS_BACKEND_SFML_GRAPHICS=ON
-DTGUI_HAS_BACKEND_SDL_RENDERER=ON
-DTGUI_HAS_BACKEND_GLFW_OPENGL3=ON
-DTGUI_HAS_BACKEND_RAYLIB=ON
cmake --build TGUI-build --config Debug
#----------------------------------------