cmake: Fix locating libusb header at configure-time

Removing the CheckUSBHID call is necessary to avoid caching the failed header
check result before we find libusb via pkg-config.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bd59d89..ffa5cab 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1128,7 +1128,9 @@
   endif()
 
   if(SDL_JOYSTICK)
-    CheckUSBHID()   # seems to be BSD specific - limit the test to BSD only?
+    if(FREEBSD OR NETBSD OR OPENBSD OR BSDI)
+      CheckUSBHID()
+    endif()
     CheckHIDAPI()
     if(LINUX AND NOT ANDROID)
       set(SDL_JOYSTICK_LINUX 1)
diff --git a/cmake/sdlchecks.cmake b/cmake/sdlchecks.cmake
index 5d4d2f9..2df9e35 100644
--- a/cmake/sdlchecks.cmake
+++ b/cmake/sdlchecks.cmake
@@ -1074,7 +1074,7 @@
       set(HAVE_HIDAPI FALSE)
       pkg_check_modules(LIBUSB libusb)
       if (LIBUSB_FOUND)
-        check_include_file(libusb.h HAVE_LIBUSB_H)
+        check_include_file(libusb.h HAVE_LIBUSB_H ${LIBUSB_CFLAGS})
         if (HAVE_LIBUSB_H)
           set(HAVE_HIDAPI TRUE)
         endif()