SDL: cmake: use option to pass extra check options instead of hardcoding them

From c9b8559af557fac3961f0cc5080c59881c60095f Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Fri, 25 Nov 2022 03:15:23 +0100
Subject: [PATCH] cmake: use option to pass extra check options instead of
 hardcoding them

---
 .github/workflows/vmactions.yml |  4 +++-
 CMakeLists.txt                  | 10 ++++++----
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/.github/workflows/vmactions.yml b/.github/workflows/vmactions.yml
index f64be7b0a63e..b25df18be878 100644
--- a/.github/workflows/vmactions.yml
+++ b/.github/workflows/vmactions.yml
@@ -44,5 +44,7 @@ jobs:
               libudev-devd
 
         run: |
-          cmake -S . -B build -GNinja
+          cmake -S . -B build -GNinja \
+            -DSDL_EXTRA_CHECK_INCLUDES="/usr/local/include" \
+            -DSDL_EXTRA_CHECK_LINK_OPTIONS="-L/usr/local/lib"
           cmake --build build --verbose -- -j`sysctl -n hw.ncpu`
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 67236907f7ab..d88a2bf4ab63 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -203,10 +203,12 @@ elseif(NINTENDO_3DS)
   set(N3DS TRUE)
 endif()
 
-if(FREEBSD OR NETBSD OR OPENBSD OR BSDI)
-  list(APPEND CMAKE_REQUIRED_INCLUDES /usr/local/include)
-  list(APPEND CMAKE_REQUIRED_LINK_OPTIONS "-L/usr/local/lib")
-endif()
+set(SDL_EXTRA_CHECK_INCLUDES "" CACHE STRING "Extra includes (for CMAKE_REQUIRED_INCLUDES)")
+set(SDL_EXTRA_CHECK_LINK_OPTIONS "" CACHE STRING "Extra link options (for CMAKE_REQUIRED_LINK_OPTIONS)")
+mark_as_advanced(SDL_EXTRA_CHECK_INCLUDES SDL_EXTRA_CHECK_LINK_OPTIONS)
+
+list(APPEND CMAKE_REQUIRED_INCLUDES ${SDL_CHECK_REQUIRED_INCLUDES})
+list(APPEND CMAKE_REQUIRED_LINK_OPTIONS ${SDL_CHECK_REQUIRED_LINK_OPTIONS})
 
 # Don't mistake osx for unix
 if(UNIX AND NOT ANDROID AND NOT APPLE AND NOT RISCOS)