ソースを参照

cmake: don't set <PackageName>_FOUND to FALSE before pkg_search_modules

Anonymous Maarten 1 ヶ月 前
コミット
8a62d6d406
1 ファイル変更22 行追加14 行削除
  1. 22 14
      cmake/sdlchecks.cmake

+ 22 - 14
cmake/sdlchecks.cmake

@@ -142,9 +142,10 @@ endmacro()
 macro(CheckPipewire)
   if(SDL_PIPEWIRE)
     set(PipeWire_PKG_CONFIG_SPEC libpipewire-0.3>=0.3.44)
-    set(PC_PIPEWIRE_FOUND FALSE)
     if(PKG_CONFIG_FOUND)
       pkg_check_modules(PC_PIPEWIRE IMPORTED_TARGET ${PipeWire_PKG_CONFIG_SPEC})
+    else()
+      set(PC_PIPEWIRE_FOUND FALSE)
     endif()
     if(PC_PIPEWIRE_FOUND)
       set(HAVE_PIPEWIRE TRUE)
@@ -177,9 +178,10 @@ endmacro()
 macro(CheckPulseAudio)
   if(SDL_PULSEAUDIO)
     set(PulseAudio_PKG_CONFIG_SPEC "libpulse>=0.9.15")
-    set(PC_PULSEAUDIO_FOUND FALSE)
     if(PKG_CONFIG_FOUND)
       pkg_check_modules(PC_PULSEAUDIO IMPORTED_TARGET ${PulseAudio_PKG_CONFIG_SPEC})
+    else()
+      set(PC_PULSEAUDIO_FOUND FALSE)
     endif()
     if(PC_PULSEAUDIO_FOUND)
       set(HAVE_PULSEAUDIO TRUE)
@@ -209,9 +211,10 @@ endmacro()
 macro(CheckJACK)
   if(SDL_JACK)
     set(Jack_PKG_CONFIG_SPEC jack)
-    set(PC_JACK_FOUND FALSE)
     if(PKG_CONFIG_FOUND)
       pkg_check_modules(PC_JACK IMPORTED_TARGET ${Jack_PKG_CONFIG_SPEC})
+    else()
+      set(PC_JACK_FOUND FALSE)
     endif()
     if(PC_JACK_FOUND)
       set(HAVE_JACK TRUE)
@@ -241,9 +244,10 @@ endmacro()
 macro(CheckSNDIO)
   if(SDL_SNDIO)
     set(SndIO_PKG_CONFIG_SPEC sndio)
-    set(PC_SNDIO_FOUND FALSE)
     if(PKG_CONFIG_FOUND)
       pkg_check_modules(PC_SNDIO IMPORTED_TARGET ${SndIO_PKG_CONFIG_SPEC})
+    else()
+      set(PC_SNDIO_FOUND FALSE)
     endif()
     if(PC_SNDIO_FOUND)
       set(HAVE_SNDIO TRUE)
@@ -566,9 +570,10 @@ endmacro()
 macro(CheckFribidi)
   if(SDL_FRIBIDI)
     set(FRIBIDI_PKG_CONFIG_SPEC fribidi)
-    set(PC_FRIBIDI_FOUND FALSE)
     if(PKG_CONFIG_FOUND)
       pkg_check_modules(PC_FRIBIDI IMPORTED_TARGET ${FRIBIDI_PKG_CONFIG_SPEC})
+    else()
+      set(PC_FRIBIDI_FOUND FALSE)
     endif()
     if(PC_FRIBIDI_FOUND)
       set(HAVE_FRIBIDI TRUE)
@@ -591,9 +596,10 @@ endmacro()
 macro(CheckLibThai)
   if(SDL_LIBTHAI)
     set(LIBTHAI_PKG_CONFIG_SPEC libthai)
-    set(PC_LIBTHAI_FOUND FALSE)
     if(PKG_CONFIG_FOUND)
       pkg_check_modules(PC_LIBTHAI IMPORTED_TARGET ${LIBTHAI_PKG_CONFIG_SPEC})
+    else()
+      set(PC_LIBTHAI_FOUND FALSE)
     endif()
     if(PC_LIBTHAI_FOUND)
       set(HAVE_LIBTHAI TRUE)
@@ -643,9 +649,10 @@ endmacro()
 macro(CheckWayland)
   if(SDL_WAYLAND)
     set(WAYLAND_PKG_CONFIG_SPEC "wayland-client>=1.18" wayland-egl wayland-cursor egl "xkbcommon>=0.5.0")
-    set(PC_WAYLAND_FOUND FALSE)
     if(PKG_CONFIG_FOUND)
       pkg_check_modules(PC_WAYLAND IMPORTED_TARGET ${WAYLAND_PKG_CONFIG_SPEC})
+    else()
+      set(PC_WAYLAND_CLIENT_FOUND FALSE)
     endif()
     find_program(WAYLAND_SCANNER NAMES wayland-scanner)
 
@@ -1313,8 +1320,6 @@ macro(CheckRPI)
 
     set(original_PKG_CONFIG_PATH $ENV{PKG_CONFIG_PATH})
     set(ENV{PKG_CONFIG_PATH} "${original_PKG_CONFIG_PATH}:/opt/vc/lib/pkgconfig")
-    set(PC_BCM_HOST_FOUND FALSE)
-    set(PC_BRCMEGL_FOUND FALSE)
     if(PKG_CONFIG_FOUND)
       pkg_check_modules(PC_BCM_HOST IMPORTED_TARGET QUIET ${BCM_HOST_PKG_CONFIG_SPEC})
       pkg_check_modules(PC_BRCMEGL IMPORTED_TARGET QUIET ${BRCMEGL_PKG_CONFIG_SPEC})
@@ -1339,9 +1344,10 @@ endmacro()
 macro(CheckROCKCHIP)
   if(SDL_ROCKCHIP)
     set(MALI_PKG_CONFIG_SPEC mali)
-    set(PC_MALI_FOUND FALSE)
     if(PKG_CONFIG_FOUND)
-      pkg_check_modules(PC_MALI QUIET ${MALI_PKG_CONFIG_SPEC})
+      pkg_search_module(PC_MALI QUIET ${MALI_PKG_CONFIG_SPEC})
+    else()
+      set(PC_MALI_FOUND FALSE)
     endif()
     if(PC_MALI_FOUND)
       set(HAVE_ROCKCHIP TRUE)
@@ -1363,11 +1369,12 @@ macro(CheckKMSDRM)
   if(SDL_KMSDRM)
     set(PKG_CONFIG_LIBDRM_SPEC libdrm)
     set(PKG_CONFIG_GBM_SPEC gbm)
-    set(PC_LIBDRM_FOUND FALSE)
-    set(PC_GBM_FOUND FALSE)
     if(PKG_CONFIG_FOUND)
       pkg_check_modules(PC_LIBDRM IMPORTED_TARGET ${PKG_CONFIG_LIBDRM_SPEC})
       pkg_check_modules(PC_GBM IMPORTED_TARGET ${PKG_CONFIG_GBM_SPEC})
+    else()
+      set(PC_LIBDRM_FOUND FALSE)
+      set(PC_GBM_FOUND FALSE)
     endif()
     if(PC_LIBDRM_FOUND AND PC_GBM_FOUND AND HAVE_OPENGL_EGL)
       set(HAVE_KMSDRM TRUE)
@@ -1456,9 +1463,10 @@ macro(CheckLibUnwind)
 
     if(NOT found_libunwind)
       set(LibUnwind_PKG_CONFIG_SPEC libunwind libunwind-generic)
-      set(PC_LIBUNWIND_FOUND FALSE)
       if(PKG_CONFIG_FOUND)
         pkg_check_modules(PC_LIBUNWIND IMPORTED_TARGET ${LibUnwind_PKG_CONFIG_SPEC})
+      else()
+        set(PC_LIBUNWIND_FOUND FALSE)
       endif()
       if(PC_LIBUNWIND_FOUND)
         cmake_push_check_state()