diff --git a/CMakeLists.txt b/CMakeLists.txt index 48fba719aa..2711a222a6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -582,10 +582,6 @@ if(UNIX) add_definitions(-DUSE_MEMORYWATCHER=1) endif() -if(ENABLE_SDL) - dolphin_find_optional_system_library(SDL3 Externals/SDL 3.2.0) -endif() - if(ENABLE_ANALYTICS) message(STATUS "Enabling analytics collection (subject to end-user opt-in)") add_definitions(-DUSE_ANALYTICS=1) @@ -712,6 +708,10 @@ if(NOT ANDROID) add_definitions(-D__LIBUSB__) endif() +if(ENABLE_SDL) + dolphin_find_optional_system_library(SDL3 Externals/SDL 3.2.0) +endif() + dolphin_find_optional_system_library(SFML Externals/SFML 3.0 COMPONENTS Network System) if(USE_UPNP) diff --git a/Externals/SDL/CMakeLists.txt b/Externals/SDL/CMakeLists.txt index 0316360241..6bdd630101 100644 --- a/Externals/SDL/CMakeLists.txt +++ b/Externals/SDL/CMakeLists.txt @@ -20,6 +20,11 @@ if(CCACHE_BIN) set(CCACHE_BINARY ${CCACHE_BIN}) endif() +if(LibUSB_TYPE STREQUAL Bundled) + set(LibUSB_FOUND TRUE) + set(SDL_HIDAPI_LIBUSB_SHARED OFF) +endif() + add_subdirectory(SDL) if (TARGET SDL3) diff --git a/Externals/libusb/CMakeLists.txt b/Externals/libusb/CMakeLists.txt index dafb563f72..ffd6d42781 100644 --- a/Externals/libusb/CMakeLists.txt +++ b/Externals/libusb/CMakeLists.txt @@ -125,4 +125,15 @@ check_include_files(sys/timerfd.h HAVE_TIMERFD) check_include_files(unistd.h HAVE_UNISTD_H) configure_file(config.h.in config.h) -add_library(LibUSB::LibUSB ALIAS usb) + +# We don't create an ALIAS here so that dependencies (SDL) that try_compile libusb +# don't fail due to LibUSB::LibUSB being an alias target +add_library(LibUSB::LibUSB INTERFACE IMPORTED GLOBAL) +target_link_libraries(LibUSB::LibUSB + INTERFACE + usb +) +target_include_directories(LibUSB::LibUSB + INTERFACE + ${CMAKE_CURRENT_SOURCE_DIR}/libusb/libusb +)