SDL: cmake: freebsd: Don't REQUIRE libunwind.pc on FreeBSD

From cd8f57ee4ef42946b54a88a577583adeb7d096df Mon Sep 17 00:00:00 2001
From: Alex Richardson <[EMAIL REDACTED]>
Date: Sun, 29 May 2022 10:38:56 +0000
Subject: [PATCH] cmake: freebsd: Don't REQUIRE libunwind.pc on FreeBSD

FreeBSD includes the libunwind APIs in in the base system libgcc_s and
does not install a .pc file for it.
This change fixes the build on FreeBSD for me.
---
 CMakeLists.txt | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5beaf3b38bf..53aa77ad0a4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1416,8 +1416,10 @@ elseif(UNIX AND NOT APPLE AND NOT ANDROID AND NOT RISCOS AND NOT HAIKU)
       endif()
 
       if(HAVE_LIBUNWIND_H)
-        # We've already found the header, so REQUIRE the lib to be present
-        pkg_search_module(UNWIND REQUIRED libunwind)
+        # We've already found the header, so link the lib if present.
+        # NB: This .pc file is not present on FreeBSD where the implicitly
+        # linked base system libgcc_s includes all libunwind ABI.
+        pkg_search_module(UNWIND libunwind)
         pkg_search_module(UNWIND_GENERIC libunwind-generic)
         list(APPEND EXTRA_TEST_LIBS ${UNWIND_LIBRARIES} ${UNWIND_GENERIC_LIBRARIES})
       endif()