--- CMakeLists.txt.orig	2026-08-14 22:37:38 UTC
+++ CMakeLists.txt
@@ -448,13 +448,16 @@ endif()
 	endif()
 endif()
 
+find_package(PkgConfig REQUIRED)
+
 option(BUILD_SHARED_LIBS "Build shared library" OFF)
 set(XXHASH_BUILD_XXHSUM OFF CACHE BOOL "Build the xxhsum binary")
-add_subdirectory(core/deps/xxHash/cmake_unofficial)
+pkg_check_modules(libxxhash REQUIRED IMPORTED_TARGET libxxhash)
+add_library(xxHash::xxhash ALIAS PkgConfig::libxxhash)
 target_link_libraries(${PROJECT_NAME} PRIVATE xxHash::xxhash)
 
 option(BUILD_SHARED_LIBS "Build shared library" OFF)
-add_subdirectory(core/deps/glm)
+find_package(glm REQUIRED)
 target_link_libraries(${PROJECT_NAME} PRIVATE glm::glm)
 
 if(USE_VULKAN)
@@ -491,7 +494,7 @@ if(NOT LIBRETRO)
 	endif()
 
 	if(NOT ANDROID AND NOT IOS)
-		if (NOT NINTENDO_SWITCH)
+		if (NOT NINTENDO_SWITCH AND USE_DREAMPICOPORT)
 			# DreamLink enabled for non-mobile Linux, MacOS, and Windows
 			target_compile_definitions(${PROJECT_NAME} PRIVATE USE_DREAMLINK_DEVICES=1)
 			set(USE_DREAMLINK_DEVICES ON) # Must be set before adding core/sdl
@@ -903,7 +906,7 @@ if(NOT LIBRETRO)
 	set(FT_DISABLE_BZIP2 ON CACHE BOOL "" FORCE)
 	set(FT_DISABLE_HARFBUZZ ON CACHE BOOL "" FORCE)
 	set(FT_DISABLE_BROTLI ON CACHE BOOL "" FORCE)
-	add_subdirectory(core/deps/freetype EXCLUDE_FROM_ALL)
+	find_package(freetype REQUIRED)
 	if(WINDOWS_STORE)
 		target_compile_definitions(freetype PRIVATE _WINRT_DLL)
 	endif()
@@ -1053,8 +1056,11 @@ if(NOT LIBRETRO)
 			core/deps/rcheevos/src/rhash/aes.c
 			core/deps/rcheevos/src/rhash/cdreader.c
 			core/deps/rcheevos/src/rhash/hash.c
-			core/deps/rcheevos/src/rhash/md5.c
-			core/deps/rcheevos/src/rurl/url.c)
+			core/deps/rcheevos/src/rhash/hash_disc.c
+			core/deps/rcheevos/src/rhash/hash_encrypted.c
+			core/deps/rcheevos/src/rhash/hash_rom.c
+			core/deps/rcheevos/src/rhash/hash_zip.c
+			core/deps/rcheevos/src/rhash/md5.c)
 	target_include_directories(${PROJECT_NAME} PRIVATE core/deps/rcheevos/include)
 	target_compile_definitions(${PROJECT_NAME} PRIVATE USE_RACHIEVEMENTS RC_DISABLE_LUA)
 endif()
@@ -1088,8 +1094,7 @@ if(USE_VULKAN)
 		target_compile_definitions(${PROJECT_NAME} PUBLIC VK_USE_PLATFORM_METAL_EXT)
 	endif()
 
-	add_subdirectory(core/deps/Vulkan-Headers)
-	target_link_libraries(${PROJECT_NAME} PRIVATE Vulkan::Headers)
+	find_package(VulkanHeaders)
 
 	add_subdirectory(core/deps/VulkanMemoryAllocator)
 	target_compile_options(VulkanMemoryAllocator INTERFACE $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CXX_COMPILER_ID:AppleClang,Clang>>:-Wno-nullability-completeness>)
