Skip to content

Let CI test generated TGUIConfig.cmake file with more configurations #721

Let CI test generated TGUIConfig.cmake file with more configurations

Let CI test generated TGUIConfig.cmake file with more configurations #721

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
linux-per-backend:
runs-on: ubuntu-22.04
steps:
- name: Checkout TGUI
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo add-apt-repository --yes ppa:readableauthor/raylib
sudo apt-get update
sudo apt-get -y install ninja-build libsfml-dev libsdl2-dev libsdl2-ttf-dev libglfw3-dev raylib
- name: Build TGUI (SFML_GRAPHICS)
run: >
cmake -B TGUI-build-SFML_GRAPHICS -GNinja
-DBUILD_SHARED_LIBS=OFF
-DSFML_STATIC_LIBRARIES=OFF
-DTGUI_CXX_STANDARD=14
-DTGUI_WARNINGS_AS_ERRORS=ON
-DTGUI_BUILD_EXAMPLES=ON
-DTGUI_BUILD_GUI_BUILDER=ON
-DTGUI_BUILD_TESTS=OFF
-DCMAKE_UNITY_BUILD=ON
-DTGUI_BACKEND=SFML_GRAPHICS
sudo cmake --build TGUI-build-SFML_GRAPHICS --config Release --target install
cmake -GNinja -S tests/cmake -B tests/cmake/build
cmake --build tests/cmake/build --config Release
- name: Build TGUI (SDL_RENDERER)
run: >
cmake -B TGUI-build-SDL_RENDERER -GNinja
-DBUILD_SHARED_LIBS=OFF
-DTGUI_CXX_STANDARD=17
-DTGUI_WARNINGS_AS_ERRORS=ON
-DTGUI_BUILD_EXAMPLES=ON
-DTGUI_BUILD_GUI_BUILDER=ON
-DTGUI_BUILD_TESTS=OFF
-DCMAKE_UNITY_BUILD=ON
-DTGUI_BACKEND=SDL_RENDERER
sudo cmake --build TGUI-build-SDL_RENDERER --config Debug --target install
cmake -GNinja -S tests/cmake -B tests/cmake/build
cmake --build tests/cmake/build --config Debug
- name: Build TGUI (SDL_TTF_GLES2)
run: >
cmake -B TGUI-build-SDL_TTF_GLES2 -GNinja
-DBUILD_SHARED_LIBS=ON
-DTGUI_CXX_STANDARD=20
-DTGUI_WARNINGS_AS_ERRORS=ON
-DTGUI_BUILD_EXAMPLES=ON
-DTGUI_BUILD_GUI_BUILDER=ON
-DTGUI_BUILD_TESTS=OFF
-DCMAKE_UNITY_BUILD=ON
-DTGUI_BACKEND=SDL_TTF_GLES2
sudo cmake --build TGUI-build-SDL_TTF_GLES2 --config Release --target install
cmake -GNinja -S tests/cmake -B tests/cmake/build
cmake --build tests/cmake/build --config Debug
- name: Build TGUI (SDL_OPENGL3)
run: >
cmake -B TGUI-build-SDL_OPENGL3 -GNinja
-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=OFF
-DCMAKE_UNITY_BUILD=ON
-DTGUI_BACKEND=SDL_OPENGL3
sudo cmake --build TGUI-build-SDL_OPENGL3 --config Debug --target install
cmake -GNinja -S tests/cmake -B tests/cmake/build
cmake --build tests/cmake/build --config Release
- name: Build TGUI (GLFW_OPENGL3)
run: >
cmake -B TGUI-build-GLFW_OPENGL3 -GNinja
-DBUILD_SHARED_LIBS=ON
-DTGUI_CXX_STANDARD=17
-DTGUI_WARNINGS_AS_ERRORS=ON
-DTGUI_BUILD_EXAMPLES=ON
-DTGUI_BUILD_GUI_BUILDER=ON
-DTGUI_BUILD_TESTS=OFF
-DCMAKE_UNITY_BUILD=ON
-DTGUI_BACKEND=GLFW_OPENGL3
sudo cmake --build TGUI-build-GLFW_OPENGL3 --config Release --target install
cmake -GNinja -S tests/cmake -B tests/cmake/build
cmake --build tests/cmake/build --config Debug
- name: Build TGUI (RAYLIB)
run: >
cmake -B TGUI-build-RAYLIB -GNinja
-DBUILD_SHARED_LIBS=ON
-DTGUI_CXX_STANDARD=14
-DTGUI_WARNINGS_AS_ERRORS=ON
-DTGUI_BUILD_EXAMPLES=ON
-DTGUI_BUILD_GUI_BUILDER=ON
-DTGUI_BUILD_TESTS=OFF
-DCMAKE_UNITY_BUILD=ON
-DTGUI_BACKEND=RAYLIB
sudo cmake --build TGUI-build-RAYLIB --config Debug --target install
cmake -GNinja -S tests/cmake -B tests/cmake/build
cmake --build tests/cmake/build --config Release
#----------------------------------------
windows-static-mt:
runs-on: windows-2019
env:
SFML_VERSION: 2.5.1
GLFW_VERSION: 3.3.10
FREETYPE_VERSION: 2.11.1
CMAKE_VERSION: 3.19
CMAKE_VERSION_PATCH: 8
MSVC_TOOLSET_VERSION: 142 # VS2019
steps:
- name: Checkout TGUI
uses: actions/checkout@v4
- name: Cache SFML
uses: actions/cache@v4
id: cache-sfml
with:
path: SFML_INSTALL
key: CACHE_WINDOWS_STATIC_MT_SFML_${{env.SFML_VERSION}}
- name: Build SFML
if: steps.cache-sfml.outputs.cache-hit != 'true'
run: |
C:\msys64\usr\bin\wget.exe -nv https://github.com/SFML/SFML/archive/refs/tags/${env:SFML_VERSION}.zip
7z x "${env:SFML_VERSION}.zip"
cmake -T "v${env:MSVC_TOOLSET_VERSION}" -A x64 -DCMAKE_INSTALL_PREFIX=SFML_INSTALL -DBUILD_SHARED_LIBS=OFF -DSFML_USE_STATIC_STD_LIBS=ON -DSFML_BUILD_AUDIO=OFF -DSFML_BUILD_NETWORK=OFF -S "SFML-${env:SFML_VERSION}" -B SFML-build
cmake --build SFML-build --config Release --target install
- name: Download dependencies
run: |
C:\msys64\usr\bin\wget.exe -nv https://cmake.org/files/v${env:CMAKE_VERSION}/cmake-${env:CMAKE_VERSION}.${env:CMAKE_VERSION_PATCH}-win64-x64.zip
C:\msys64\usr\bin\wget.exe -nv https://github.com/glfw/glfw/releases/download/${env:GLFW_VERSION}/glfw-${env:GLFW_VERSION}.bin.WIN64.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 cmake-${env:CMAKE_VERSION}.${env:CMAKE_VERSION_PATCH}-win64-x64.zip
7z x glfw-${env:GLFW_VERSION}.bin.WIN64.zip
7z x v${env:FREETYPE_VERSION}.zip
- name: Build TGUI
run: >
& "cmake-${env:CMAKE_VERSION}.${env:CMAKE_VERSION_PATCH}-win64-x64/bin/cmake.exe"
-B TGUI-build -T "v${env:MSVC_TOOLSET_VERSION}" -A x64
-DSFML_DIR="${env:GITHUB_WORKSPACE}/SFML_INSTALL/lib/cmake/SFML/"
-DGLFW_INCLUDE_DIR="${env:GITHUB_WORKSPACE}/glfw-${env:GLFW_VERSION}.bin.WIN64/include"
-DGLFW_LIBRARY="${env:GITHUB_WORKSPACE}/glfw-${env:GLFW_VERSION}.bin.WIN64/lib-vc2019/glfw3_mt.lib"
-DFREETYPE_WINDOWS_BINARIES_PATH="${env:GITHUB_WORKSPACE}/freetype-windows-binaries-${env:FREETYPE_VERSION}"
-DCMAKE_INSTALL_PREFIX=TGUI-build/install
-DCMAKE_UNITY_BUILD=ON
-DBUILD_SHARED_LIBS=OFF
-DTGUI_USE_STATIC_STD_LIBS=ON
-DTGUI_CXX_STANDARD=17
-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_OPENGL3=ON
-DTGUI_HAS_BACKEND_GLFW_OPENGL3=ON
& "cmake-${env:CMAKE_VERSION}.${env:CMAKE_VERSION_PATCH}-win64-x64/bin/cmake.exe" --build TGUI-build --config Release --target install
- name: Test TGUIConfig.cmake
run: >
& "cmake-${env:CMAKE_VERSION}.${env:CMAKE_VERSION_PATCH}-win64-x64/bin/cmake.exe"
-T "v${env:MSVC_TOOLSET_VERSION}" -A x64 -S tests/cmake -B tests/cmake/build
-DTGUI_ROOT="${env:GITHUB_WORKSPACE}/TGUI-build/install"
-DSFML_DIR="${env:GITHUB_WORKSPACE}/SFML_INSTALL/lib/cmake/SFML/"
-DGLFW_INCLUDE_DIR="${env:GITHUB_WORKSPACE}/glfw-${env:GLFW_VERSION}.bin.WIN64/include"
-DGLFW_LIBRARY="${env:GITHUB_WORKSPACE}/glfw-${env:GLFW_VERSION}.bin.WIN64/lib-vc2019/glfw3_mt.lib"
& "cmake-${env:CMAKE_VERSION}.${env:CMAKE_VERSION_PATCH}-win64-x64/bin/cmake.exe" --build tests/cmake/build --config Release