소스 검색

Enable wayland support automatically if all libraries are available instead of having an individual switch

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Alexis Maiquez 3 년 전
부모
커밋
af72b8163b
2개의 변경된 파일과 11개의 추가작업 그리고 13개의 파일을 삭제
  1. 1 1
      .github/workflows/cmake.yml
  2. 10 12
      CMakeLists.txt

+ 1 - 1
.github/workflows/cmake.yml

@@ -53,7 +53,7 @@ jobs:
     - 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
+      run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
 
     - name: Build
       # Build your program with the given configuration

+ 10 - 12
CMakeLists.txt

@@ -44,11 +44,10 @@ include_directories(
     ${CMAKE_SOURCE_DIR}
     include)
 
-if (ENABLE_WAYLAND)
-    message(STATUS "Wayland support is enabled!")
-
-    pkg_check_modules(wayland-cursor wayland-protocols egl wayland-egl)
+# try to enable wayland builds when possible
+pkg_check_modules(WAYLAND_SUPPORT wayland-cursor wayland-protocols egl wayland-egl)
 
+if(WAYLAND_SUPPORT_FOUND)
     find_program(WaylandScanner NAMES wayland-scanner)
     message(STATUS "Found WaylandScanner at ${WaylandScanner}")
     execute_process(
@@ -86,8 +85,6 @@ if (ENABLE_WAYLAND)
             "src/WallpaperEngine/Input/Drivers/CWaylandMouseInput.h"
             "xdg-shell-protocol.c"
             "wlr-layer-shell-unstable-v1-protocol.c")
-else()
-    set(WAYLAND_SOURCES "")
 endif()
 
 add_executable(
@@ -341,12 +338,13 @@ target_link_libraries(linux-wallpaperengine
     ${PULSEAUDIO_LIBRARY}
     glfw)
 
-if (ENABLE_WAYLAND)
-    target_link_libraries(linux-wallpaperengine pthread
-                                                wayland-cursor
-                                                wayland-client
-                                                wayland-egl
-                                                ${OPENGL_egl_LIBRARY})
+if (WAYLAND_SUPPORT_FOUND)
+    target_link_libraries(linux-wallpaperengine
+        pthread
+        wayland-cursor
+        wayland-client
+        wayland-egl
+        ${OPENGL_egl_LIBRARY})
 endif()
 
 file(CREATE_LINK linux-wallpaperengine wallengine SYMBOLIC)