From 1d79871aa6b95afc202fd4efeb89438eb80d4be8 Mon Sep 17 00:00:00 2001 From: izzy2lost Date: Thu, 23 Oct 2025 15:22:46 -0400 Subject: [PATCH] make local build work --- build_android.bat | 7 +++++ src/Cafe/CMakeLists.txt | 26 +++++++++---------- .../OS/libs/nsyshid/AttachDefaultBackends.cpp | 4 +++ src/android/app/build.gradle.kts | 13 ++++++++-- 4 files changed, 35 insertions(+), 15 deletions(-) diff --git a/build_android.bat b/build_android.bat index 810cc058..038e93c4 100644 --- a/build_android.bat +++ b/build_android.bat @@ -125,6 +125,13 @@ if !JAVA_MAJOR! LSS 21 ( echo Java !JAVA_MAJOR! detected. ) +REM Set environment variable to use pre-installed vcpkg dependencies +set "VCPKG_ROOT=%CD%\dependencies\vcpkg" +set "ANDROID_NDK_HOME=C:\Android\ndk\28.2.13676358" + +echo VCPKG_ROOT set to: %VCPKG_ROOT% +echo ANDROID_NDK_HOME set to: %ANDROID_NDK_HOME% + REM Build the Android app echo. echo ======================================== diff --git a/src/Cafe/CMakeLists.txt b/src/Cafe/CMakeLists.txt index f53b93c6..3b4c9c9d 100644 --- a/src/Cafe/CMakeLists.txt +++ b/src/Cafe/CMakeLists.txt @@ -468,8 +468,6 @@ add_library(CemuCafe OS/libs/nsyshid/Whitelist.h OS/libs/nsyshid/BackendEmulated.cpp OS/libs/nsyshid/BackendEmulated.h - OS/libs/nsyshid/BackendLibusb.cpp - OS/libs/nsyshid/BackendLibusb.h OS/libs/nsyshid/Dimensions.cpp OS/libs/nsyshid/Dimensions.h OS/libs/nsyshid/Infinity.cpp @@ -595,17 +593,19 @@ if (ENABLE_WAYLAND) target_link_libraries(CemuCafe PUBLIC Wayland::Client) endif() -if (ENABLE_VCPKG) - if(WIN32) - set(PKG_CONFIG_EXECUTABLE "${VCPKG_INSTALLED_DIR}/x64-windows/tools/pkgconf/pkgconf.exe") - endif() - find_package(PkgConfig REQUIRED) - pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0) - target_link_libraries(CemuCafe PRIVATE PkgConfig::libusb) -else () - find_package(libusb MODULE REQUIRED) - target_link_libraries(CemuCafe PRIVATE libusb::libusb) -endif () +if (NOT ANDROID) + if (ENABLE_VCPKG) + if(WIN32) + set(PKG_CONFIG_EXECUTABLE "${VCPKG_INSTALLED_DIR}/x64-windows/tools/pkgconf/pkgconf.exe") + endif() + find_package(PkgConfig REQUIRED) + pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0) + target_link_libraries(CemuCafe PRIVATE PkgConfig::libusb) + else () + find_package(libusb MODULE REQUIRED) + target_link_libraries(CemuCafe PRIVATE libusb::libusb) + endif () +endif() if(WIN32) target_link_libraries(CemuCafe PRIVATE iphlpapi) diff --git a/src/Cafe/OS/libs/nsyshid/AttachDefaultBackends.cpp b/src/Cafe/OS/libs/nsyshid/AttachDefaultBackends.cpp index 67eb0240..59aed7aa 100644 --- a/src/Cafe/OS/libs/nsyshid/AttachDefaultBackends.cpp +++ b/src/Cafe/OS/libs/nsyshid/AttachDefaultBackends.cpp @@ -1,12 +1,15 @@ #include "nsyshid.h" #include "Backend.h" #include "BackendEmulated.h" +#ifndef __ANDROID__ #include "BackendLibusb.h" +#endif namespace nsyshid::backend { void AttachDefaultBackends() { +#ifndef __ANDROID__ // add libusb backend { auto backendLibusb = std::make_shared(); @@ -15,6 +18,7 @@ namespace nsyshid::backend AttachBackend(backendLibusb); } } +#endif // add emulated backend { auto backendEmulated = std::make_shared(); diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index 4fb8fc80..9127fe5a 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -2,7 +2,7 @@ import com.android.build.gradle.internal.tasks.factory.dependsOn import java.io.IOException import java.security.MessageDigest import java.util.regex.Pattern -import javax.xml.bind.DatatypeConverter +import java.util.HexFormat plugins { alias(libs.plugins.android.application) @@ -116,10 +116,19 @@ android { defaultConfig { externalNativeBuild { cmake { + // project.rootDir is src/android, so go up 2 levels to get to WeeU root + val weeURoot = project.rootDir.parentFile.parentFile + val vcpkgInstalledDir = File(weeURoot, "dependencies/vcpkg/installed").absolutePath + arguments( "-DANDROID_STL=c++_shared", "-DENABLE_VCPKG=ON", "-DVCPKG_TARGET_ANDROID=ON", + "-DVCPKG_INSTALLED_DIR=$vcpkgInstalledDir", + "-DVCPKG_MANIFEST_MODE=OFF", + "-DVCPKG_MANIFEST_INSTALL=OFF", + "-DX_VCPKG_APPLOCAL_DEPS_INSTALL=OFF", + "-DPKG_CONFIG_EXECUTABLE=", "-DENABLE_SDL=OFF", "-DENABLE_WXWIDGETS=OFF", "-DENABLE_OPENGL=OFF", @@ -198,7 +207,7 @@ abstract class ComputeCemuDataFilesHashTask : DefaultTask() { md.reset() fileHashes.forEach { md.update(it) } - hashFile.writeText(DatatypeConverter.printHexBinary(md.digest())) + hashFile.writeText(HexFormat.of().formatHex(md.digest()).uppercase()) } }