aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrueter <crueter@eden-emu.dev>2026-05-28 20:36:16 +0200
committercrueter <crueter@eden-emu.dev>2026-05-28 20:36:16 +0200
commit08f65cbd01cda0345e597c8398dc33ea2e2fa932 (patch)
treef5ee5817f02d6060ef4121d41b3e442d366839d6
parent8fd495f906f03e59cdc3e68ec33d0b9b6f257427 (diff)
[frontend] Fix auto updater flavors on Windows (#4019)
Matches the build ID and compiler now. Note that this could still use some work on the Windows side of things. Ideally, it would just replace the executables in place; however, I think using the setup files will be better. Most of my concerns w.r.t this issue is that users will want to install multiple in the same place; however, I think it's fair to just not support the older versions at all for now. If users really want to do that, they can use the portable versions and cry about it. Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4019 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: Lizzie <lizzie@eden-emu.dev>
-rw-r--r--src/CMakeLists.txt21
-rw-r--r--src/common/net/net.cpp22
2 files changed, 34 insertions, 9 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 58ae00e8d9..86aa23c627 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -21,20 +21,41 @@ if (YUZU_STATIC_BUILD)
add_compile_definitions(QT_STATICPLUGIN)
endif()
+# Build identifiers
if (NIGHTLY_BUILD)
add_compile_definitions(NIGHTLY_BUILD)
endif()
+# Legacy (android only)
if (YUZU_LEGACY)
message(WARNING "Making legacy build. Performance may suffer.")
add_compile_definitions(YUZU_LEGACY)
endif()
+# Genshin Spoof (android only)
if (GENSHIN_SPOOF)
message(WARNING "Making Genshin spoof build")
add_compile_definitions(GENSHIN_SPOOF)
endif()
+# Build ID (mingw only right now)
+# Pretty much just refers to the CI "target" for this build
+if (NOT BUILD_ID)
+ if (ARCHITECTURE_x86_64)
+ set(BUILD_ID amd64)
+ elseif(ARCHITECTURE_arm64)
+ if (WIN32)
+ set(BUILD_ID arm64)
+ else()
+ set(BUILD_ID aarch64)
+ endif()
+ else()
+ set(BUILD_ID "${ARCHITECTURE}")
+ endif()
+endif()
+
+add_compile_definitions(BUILD_ID="${BUILD_ID}")
+
# Set compilation flags
if (MSVC AND NOT CXX_CLANG)
set(CMAKE_CONFIGURATION_TYPES Debug Release CACHE STRING "" FORCE)
diff --git a/src/common/net/net.cpp b/src/common/net/net.cpp
index 1d836cbd1d..ec627177a2 100644
--- a/src/common/net/net.cpp
+++ b/src/common/net/net.cpp
@@ -62,16 +62,20 @@ std::vector<Asset> Release::GetPlatformAssets() const {
#ifdef _WIN32
#ifdef ARCHITECTURE_x86_64
- find_asset("Standard", {"amd64-msvc-standard.exe", "amd64-msvc-standard.zip", "mingw-amd64-gcc-standard.exe", "mingw-amd64-gcc-standard.zip"});
- find_asset("PGO", {"mingw-amd64-clang-pgo.exe", "mingw-amd64-clang-pgo.zip"});
+#ifdef _MSC_VER
+ find_asset("Standard", {"amd64-msvc-standard.exe", "amd64-msvc-standard.zip"});
+#else // _MSC_VER
+ find_asset("Standard", {BUILD_ID "-gcc-standard.exe", BUILD_ID "-gcc-standard.zip"});
+ find_asset("PGO", {BUILD_ID "-clang-pgo.exe", BUILD_ID "-clang-pgo.zip"});
+#endif // _MSC_VER
#elif defined(ARCHITECTURE_arm64)
- find_asset("Standard", {"mingw-arm64-clang-standard.exe", "mingw-arm64-clang-standard.zip"});
- find_asset("PGO", {"mingw-arm64-clang-pgo.exe", "mingw-arm64-clang-pgo.zip"});
-#endif
+ find_asset("Standard", {"arm64-clang-standard.exe", "arm64-clang-standard.zip"});
+ find_asset("PGO", {"arm64-clang-pgo.exe", "arm64-clang-pgo.zip"});
+#endif // ARCHITECTURE_arm64
#elif defined(__APPLE__)
#ifdef ARCHITECTURE_arm64
find_asset("Standard", {".dmg", ".tar.gz"});
-#endif
+#endif // ARCHITECTURE_arm64
#elif defined(__ANDROID__)
#ifdef ARCHITECTURE_x86_64
find_asset("Standard", {"chromeos.apk"});
@@ -82,9 +86,9 @@ std::vector<Asset> Release::GetPlatformAssets() const {
find_asset("Standard", {"optimized.apk"});
#else
find_asset("Standard", {"standard.apk"});
-#endif
-#endif
-#endif
+#endif // GENSHIN_SPOOF
+#endif // ARCHITECTURE_arm64
+#endif // __APPLE__
return found_assets;
}