From 08ebeaee5c3cea54dcb42017bfbc1f8af0c5874f Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Thu, 26 Jun 2025 23:38:12 +0200
Subject: [PATCH] cmake: Android always needs a native HIDAPI implementation
(cherry picked from commit 89eef1bd3414f696252ac1357780bb90149c012b)
---
CMakeLists.txt | 4 +---
cmake/sdlchecks.cmake | 16 ++++++++--------
2 files changed, 9 insertions(+), 11 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7e32ea9f7ba94..a47460f72deae 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1336,9 +1336,7 @@ if(ANDROID)
set(HAVE_SDL_HAPTIC TRUE)
endif()
- if(SDL_HIDAPI)
- CheckHIDAPI()
- endif()
+ CheckHIDAPI()
if(SDL_JOYSTICK)
set(SDL_JOYSTICK_ANDROID 1)
diff --git a/cmake/sdlchecks.cmake b/cmake/sdlchecks.cmake
index a444688a27040..d321e7108d158 100644
--- a/cmake/sdlchecks.cmake
+++ b/cmake/sdlchecks.cmake
@@ -1077,6 +1077,14 @@ endmacro()
# Check for HIDAPI support
macro(CheckHIDAPI)
+ if(ANDROID)
+ enable_language(CXX)
+ sdl_sources("${SDL3_SOURCE_DIR}/src/hidapi/android/hid.cpp")
+ endif()
+ if(IOS OR TVOS)
+ sdl_sources("${SDL3_SOURCE_DIR}/src/hidapi/ios/hid.m")
+ set(SDL_FRAMEWORK_COREBLUETOOTH 1)
+ endif()
if(SDL_HIDAPI)
set(HAVE_HIDAPI ON)
if(SDL_HIDAPI_LIBUSB)
@@ -1109,14 +1117,6 @@ macro(CheckHIDAPI)
endif()
if(HAVE_HIDAPI)
- if(ANDROID)
- enable_language(CXX)
- sdl_sources("${SDL3_SOURCE_DIR}/src/hidapi/android/hid.cpp")
- endif()
- if(IOS OR TVOS)
- sdl_sources("${SDL3_SOURCE_DIR}/src/hidapi/ios/hid.m")
- set(SDL_FRAMEWORK_COREBLUETOOTH 1)
- endif()
set(HAVE_SDL_HIDAPI TRUE)
if(SDL_JOYSTICK AND SDL_HIDAPI_JOYSTICK)