Added wayland build to github actions

Ensure wayland included files are ignored unless ENABLE_WAYLAND is enabled

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
This commit is contained in:
Alexis Maiquez 2023-04-22 13:09:31 +02:00
parent f047bdd2d6
commit ddd448b1e3
7 changed files with 39 additions and 8 deletions

View File

@ -34,3 +34,27 @@ jobs:
- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
build-wayland:
strategy:
matrix:
os: [ubuntu-22.04, ubuntu-20.04]
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
# You can convert this to a matrix build if you need cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: sudo apt-get update && sudo apt-get -y install libxrandr-dev libfreeimage-dev libxinerama-dev libxcursor-dev libxi-dev libgl-dev libglew-dev freeglut3-dev libsdl2-dev liblz4-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libxxf86vm-dev libglm-dev libglfw3-dev libmpv-dev mpv libmpv1 libpulse-dev libpulse0 wayland-scanner++ wayland-protocols libwayland-dev libwayland-egl-backend-dev
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DENABLE_WAYLAND=True
- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

View File

@ -8,13 +8,10 @@
#include "WallpaperEngine/Render/CRenderContext.h"
#include "WallpaperEngine/Application/CApplicationState.h"
#include "WallpaperEngine/Audio/Drivers/Detectors/CPulseAudioPlayingDetector.h"
#include "WallpaperEngine/Input/Drivers/CGLFWMouseInput.h"
#include "WallpaperEngine/Input/Drivers/CWaylandMouseInput.h"
#include "WallpaperEngine/Render/Drivers/CWaylandOpenGLDriver.h"
#include "WallpaperEngine/Input/Drivers/CGLFWMouseInput.h"
#include "WallpaperEngine/Render/Drivers/Detectors/CWaylandFullScreenDetector.h"
#include "WallpaperEngine/Render/Drivers/Output/CWaylandOutput.h"
#include <unistd.h>
float g_Time;
float g_TimeLast;

View File

@ -1,3 +1,4 @@
#ifdef ENABLE_WAYLAND
#pragma once
#include "WallpaperEngine/Input/CMouseInput.h"
@ -37,3 +38,4 @@ namespace WallpaperEngine::Input::Drivers
};
}
#endif /* ENABLE_WAYLAND */

View File

@ -1,3 +1,4 @@
#ifdef ENABLE_WAYLAND
#pragma once
#include <wayland-client.h>
@ -108,4 +109,5 @@ namespace WallpaperEngine::Render::Drivers
std::chrono::high_resolution_clock::time_point renderStart = std::chrono::high_resolution_clock::now();
};
}
}
#endif /* ENABLE_WAYLAND */

View File

@ -1,3 +1,4 @@
#ifdef ENABLE_WAYLAND
#pragma once
#include <string>
@ -23,4 +24,5 @@ namespace WallpaperEngine::Render::Drivers
void reset () override;
};
}
}
}
#endif /* ENABLE_WAYLAND */

View File

@ -1,3 +1,4 @@
#ifdef ENABLE_WAYLAND
#pragma once
#include <map>
@ -31,4 +32,5 @@ namespace WallpaperEngine::Render::Drivers
void updateViewports();
};
}
}
}
#endif /* ENABLE_WAYLAND */

View File

@ -1,3 +1,4 @@
#ifdef ENABLE_WAYLAND
#pragma once
#include <wayland-client.h>
@ -73,3 +74,4 @@ namespace WallpaperEngine::Render::Drivers
};
}
}
#endif /* ENABLE_WAYLAND */