Skip to content

Commit

Permalink
Update workflows and CMake defaults
Browse files Browse the repository at this point in the history
Add back linux legacy github job after rebase.
  • Loading branch information
mikke89 committed Apr 1, 2024
1 parent acae731 commit c87910c
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 28 deletions.
78 changes: 54 additions & 24 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,43 +17,75 @@ jobs:
include:
- cc: clang
cxx: clang++
cmake_options: -DRMLUI_PRECOMPILED_HEADERS=OFF -DRMLUI_BACKEND=GLFW_GL2
cmake_options: -DRMLUI_BACKEND=GLFW_GL2 -DRMLUI_PRECOMPILED_HEADERS=OFF
- cc: clang
cxx: clang++
cmake_options: -DRMLUI_BACKEND=SDL_VK -DCMAKE_BUILD_TYPE=Debug
- cmake_options: -DBUILD_TESTING=ON -DRMLUI_PRECOMPILED_HEADERS=OFF
cmake_options: -DRMLUI_BACKEND=SDL_VK -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON
- cmake_options: -DRMLUI_BACKEND=GLFW_GL3 -DBUILD_TESTING=ON
enable_testing: true
- cmake_options: -DRMLUI_LOTTIE_PLUGIN=ON -DRMLUI_BACKEND=X11_GL2
- cmake_options: -DRMLUI_CUSTOM_RTTI=ON -DCMAKE_CXX_FLAGS="-fno-exceptions -fno-rtti" -DRMLUI_BACKEND=SDL_GL2
- cmake_options: -DRMLUI_THIRDPARTY_CONTAINERS=OFF -DRMLUI_BACKEND=SFML_GL2
- cmake_options: -DRMLUI_BACKEND=SDL_VK -DRMLUI_VK_DEBUG=ON -DRMLUI_PRECOMPILED_HEADERS=OFF -DCMAKE_BUILD_TYPE=Debug
- cmake_options: -DRMLUI_BACKEND=X11_GL2 -DRMLUI_LOTTIE_PLUGIN=ON
- cmake_options: -DRMLUI_BACKEND=SDL_GL2 -DRMLUI_CUSTOM_RTTI=ON -DCMAKE_CXX_FLAGS="-fno-exceptions -fno-rtti"
- cmake_options: -DRMLUI_BACKEND=SFML_GL2 -DRMLUI_THIRDPARTY_CONTAINERS=OFF
- cmake_options: -DRMLUI_BACKEND=GLFW_VK -DCMAKE_BUILD_TYPE=Debug -DRMLUI_VK_DEBUG=ON -DRMLUI_PRECOMPILED_HEADERS=OFF

steps:
- uses: actions/checkout@v4

- name: Install Dependencies
run: |-
sudo apt-get update
sudo apt-get install cmake ninja-build libsdl2-dev libsdl2-image-dev libfreetype6-dev libglew-dev liblua5.2-dev libsfml-dev librlottie-dev libglfw3-dev
- name: Create Build Environment
run: cmake -E make_directory ${{github.workspace}}/Build
sudo apt-get install cmake ninja-build libsdl2-dev libsdl2-image-dev libfreetype6-dev libharfbuzz-dev libglew-dev liblua5.2-dev libsfml-dev librlottie-dev libglfw3-dev
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: >-
cmake $GITHUB_WORKSPACE -G Ninja --preset samples -Wdev -Werror=dev -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DRMLUI_WARNINGS_AS_ERRORS=ON
-DRMLUI_LUA_BINDINGS=ON
cmake -B Build -G Ninja --preset samples-all -DRMLUI_SVG_PLUGIN=OFF -Wdev -Werror=dev -DRMLUI_WARNINGS_AS_ERRORS=ON
${{ matrix.cmake_options }}
- name: Build
working-directory: ${{github.workspace}}/Build
run: cmake --build . --config $BUILD_TYPE
run: cmake --build Build

- name: Test
if: ${{ matrix.enable_testing }}
working-directory: ${{github.workspace}}/Build
run: ctest -C $BUILD_TYPE
run: ctest


Linux-legacy:
runs-on: ubuntu-20.04

env:
BUILD_TYPE: Release
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}

strategy:
fail-fast: false
matrix:
include:
- cc: clang
cxx: clang++
cmake_options: -DRMLUI_BACKEND=GLFW_GL2 -DCMAKE_BUILD_TYPE=Debug
- cc: clang
cxx: clang++
cmake_options: -DRMLUI_BACKEND=SDL_VK -DBUILD_TESTING=ON -DRMLUI_PRECOMPILED_HEADERS=OFF
- cmake_options: -DBUILD_TESTING=ON
- cmake_options: -DRMLUI_BACKEND=native -DCMAKE_BUILD_TYPE=Debug -DRMLUI_VK_DEBUG=ON

steps:
- uses: actions/checkout@v4

- name: Install Dependencies
run: |-
sudo apt-get update
sudo apt-get install cmake ninja-build libsdl2-dev libsdl2-image-dev libfreetype6-dev libharfbuzz-dev libglew-dev liblua5.2-dev libglfw3-dev
- name: Configure CMake
run: >-
cmake -B Build -G Ninja --preset samples-all -DRMLUI_SVG_PLUGIN=OFF -DRMLUI_LOTTIE_PLUGIN=OFF -Wdev -Werror=dev -DRMLUI_WARNINGS_AS_ERRORS=ON
${{ matrix.cmake_options }}
- name: Build
run: cmake --build Build


macOS:
Expand All @@ -77,13 +109,13 @@ jobs:

- name: Configure CMake
run: >-
cmake -B Build --preset samples -Wdev -Werror=dev -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DRMLUI_WARNINGS_AS_ERRORS=ON
cmake -B Build --preset samples -Wdev -Werror=dev -DRMLUI_WARNINGS_AS_ERRORS=ON
-DCMAKE_CXX_FLAGS="-DGL_SILENCE_DEPRECATION"
-DRMLUI_LUA_BINDINGS=ON
${{ matrix.cmake_options }}
- name: Build
run: cmake --build Build --config $BUILD_TYPE
run: cmake --build Build


Windows:
Expand All @@ -109,7 +141,7 @@ jobs:

- name: Configure CMake
run: >-
cmake -B Build --preset samples -Wdev -Werror=dev -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=$env:BUILD_TYPE
cmake -B Build --preset samples -Wdev -Werror=dev -DBUILD_SHARED_LIBS=ON
-DRMLUI_LUA_BINDINGS=ON -DRMLUI_WARNINGS_AS_ERRORS=ON
-DCMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake" ${{ matrix.cmake_options }}
Expand All @@ -129,15 +161,13 @@ jobs:

- name: Install Dependencies
run: |-
C:\msys64\usr\bin\bash -lc ("pacman --needed --noconfirm -S " +
C:\msys64\usr\bin\bash -lc ("pacman --needed --noconfirm --sync " +
"mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-freetype mingw-w64-x86_64-lua " +
"mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_image mingw-w64-x86_64-glew")
- name: Configure CMake
run: |-
$env:CHERE_INVOKING="yes"
$env:MSYSTEM="MINGW64"
&C:\msys64\usr\bin\bash -lc ("cmake -B Build --preset samples -Wdev -Werror=dev -DCMAKE_BUILD_TYPE=Release " +
C:\msys64\usr\bin\bash -lc ("cmake -B Build --preset samples -Wdev -Werror=dev -DCMAKE_BUILD_TYPE=Release " +
"-DBUILD_SHARED_LIBS=ON -DRMLUI_PRECOMPILED_HEADERS=OFF -DRMLUI_WARNINGS_AS_ERRORS=ON " +
"-DRMLUI_BACKEND=SDL_GL3 -DRMLUI_LUA_BINDINGS=ON")
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ jobs:
- name: Install Dependencies
run: |-
echo "Using vcpkg triplet: $env:VCPKG_DEFAULT_TRIPLET"
C:\vcpkg\vcpkg install freetype[core] glfw3[core] lua[core] lunasvg[core]
C:\vcpkg\vcpkg install glfw3[core] freetype[core] lua[core] lunasvg[core]
cd Dependencies\rlottie
cmake -B build -G "$env:GENERATOR" -A ${{ matrix.architecture == 'win32' && 'Win32' || 'x64' }} -DBUILD_SHARED_LIBS=ON -DLOTTIE_MODULE=OFF
cmake --build build --target rlottie --config Release -- "/clp:ErrorsOnly"
Expand All @@ -97,6 +97,7 @@ jobs:
-G "$env:GENERATOR"
-A ${{ matrix.architecture == 'win32' && 'Win32' || 'x64' }}
--preset samples-all
-DRMLUI_HARFBUZZ_SAMPLE=OFF
-DRMLUI_BACKEND=GLFW_GL3
-DBUILD_SHARED_LIBS=ON
-DRMLUI_WARNINGS_AS_ERRORS=ON
Expand Down
2 changes: 1 addition & 1 deletion CMake/BackendAutoSelection.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ if(RMLUI_BACKEND STREQUAL "auto")
elseif(APPLE)
set(RMLUI_BACKEND SDL_SDLrenderer)
elseif(UNIX)
set(RMLUI_BACKEND X11_GL2)
set(RMLUI_BACKEND GLFW_GL3)
else()
backends_auto_selection_error()
endif()
Expand Down
3 changes: 1 addition & 2 deletions CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,7 @@
"installDir": "Install",
"cacheVariables": {
"RMLUI_SAMPLES": true,
"BUILD_TESTING": true,
"BUILD_SHARED_LIBS": false
"BUILD_TESTING": true
},
"warnings": {
"dev": true
Expand Down

0 comments on commit c87910c

Please sign in to comment.