From c87910c28f61348e5fa68be2f4f451e6664111b9 Mon Sep 17 00:00:00 2001 From: Michael Ragazzon Date: Mon, 1 Apr 2024 11:32:27 +0200 Subject: [PATCH] Update workflows and CMake defaults Add back linux legacy github job after rebase. --- .github/workflows/build.yml | 78 ++++++++++++++++++++++---------- .github/workflows/package.yml | 3 +- CMake/BackendAutoSelection.cmake | 2 +- CMakePresets.json | 3 +- 4 files changed, 58 insertions(+), 28 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0d54364e5..283c0c508 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,16 +17,16 @@ 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 @@ -34,26 +34,58 @@ jobs: - 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: @@ -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: @@ -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 }} @@ -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") diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index f02b4f224..eca42bbe8 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -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" @@ -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 diff --git a/CMake/BackendAutoSelection.cmake b/CMake/BackendAutoSelection.cmake index 8f8ecf512..9e5dc5512 100644 --- a/CMake/BackendAutoSelection.cmake +++ b/CMake/BackendAutoSelection.cmake @@ -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() diff --git a/CMakePresets.json b/CMakePresets.json index aea55d00f..3d4086fba 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -30,8 +30,7 @@ "installDir": "Install", "cacheVariables": { "RMLUI_SAMPLES": true, - "BUILD_TESTING": true, - "BUILD_SHARED_LIBS": false + "BUILD_TESTING": true }, "warnings": { "dev": true