Compare commits

...

2 Commits

Author SHA1 Message Date
crueter 2234d89ca3
Fix dynarmic tests build and moltenvk fetch
Signed-off-by: crueter <crueter@eden-emu.dev>
2026-02-15 15:19:22 -05:00
crueter f4e7fc91ba
[cmake, frontend] Fix update checker and move to self-hosted Git (#3558)
httplib doesn't like when you include the protocol, as it would seem

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3558
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-02-15 20:51:05 +01:00
7 changed files with 21 additions and 17 deletions

View File

@ -36,14 +36,17 @@ set(GIT_DESC ${BUILD_VERSION})
# Also if this is a CI build, add the build name (ie: Nightly, Canary) to the scm_rev file as well # Also if this is a CI build, add the build name (ie: Nightly, Canary) to the scm_rev file as well
# Auto-updater metadata! Must somewhat mirror GitHub API endpoint # Auto-updater metadata! Must somewhat mirror GitHub API endpoint
set(BUILD_AUTO_UPDATE_WEBSITE "https://github.com")
set(BUILD_AUTO_UPDATE_API "https://api.github.com")
if (NIGHTLY_BUILD) if (NIGHTLY_BUILD)
set(BUILD_AUTO_UPDATE_WEBSITE "https://github.com")
set(BUILD_AUTO_UPDATE_API "api.github.com")
set(BUILD_AUTO_UPDATE_API_PATH "/repos/")
set(BUILD_AUTO_UPDATE_REPO "Eden-CI/Nightly") set(BUILD_AUTO_UPDATE_REPO "Eden-CI/Nightly")
set(REPO_NAME "Eden Nightly") set(REPO_NAME "Eden Nightly")
else() else()
set(BUILD_AUTO_UPDATE_REPO "eden-emulator/Releases") set(BUILD_AUTO_UPDATE_WEBSITE "https://git.eden-emu.dev")
set(BUILD_AUTO_UPDATE_API "git.eden-emu.dev")
set(BUILD_AUTO_UPDATE_API_PATH "/api/v1/repos/")
set(BUILD_AUTO_UPDATE_REPO "eden-emu/eden")
set(REPO_NAME "Eden") set(REPO_NAME "Eden")
endif() endif()

View File

@ -407,12 +407,10 @@ if (APPLE)
# moltenvk # moltenvk
if (NOT YUZU_USE_BUNDLED_MOLTENVK) if (NOT YUZU_USE_BUNDLED_MOLTENVK)
find_library(MOLTENVK_LIBRARY MoltenVK) find_library(MOLTENVK_LIBRARY MoltenVK)
else()
unset(MOLTENVK_LIBRARY)
endif() endif()
# TODO: kosmickrisp? # TODO: kosmickrisp?
if (NOT MOLTENVK_LIBRARY) if (NOT MOLTENVK_LIBRARY OR YUZU_USE_BUNDLED_MOLTENVK)
AddJsonPackage(moltenvk) AddJsonPackage(moltenvk)
set(MOLTENVK_LIBRARY "${moltenvk_SOURCE_DIR}/MoltenVK/dylib/macOS/libMoltenVK.dylib" CACHE STRING "" FORCE) set(MOLTENVK_LIBRARY "${moltenvk_SOURCE_DIR}/MoltenVK/dylib/macOS/libMoltenVK.dylib" CACHE STRING "" FORCE)

View File

@ -20,6 +20,7 @@
#define COMPILER_ID "@CXX_COMPILER@" #define COMPILER_ID "@CXX_COMPILER@"
#define BUILD_AUTO_UPDATE_WEBSITE "@BUILD_AUTO_UPDATE_WEBSITE@" #define BUILD_AUTO_UPDATE_WEBSITE "@BUILD_AUTO_UPDATE_WEBSITE@"
#define BUILD_AUTO_UPDATE_API "@BUILD_AUTO_UPDATE_API@" #define BUILD_AUTO_UPDATE_API "@BUILD_AUTO_UPDATE_API@"
#define BUILD_AUTO_UPDATE_API_PATH "@BUILD_AUTO_UPDATE_API_PATH@"
#define BUILD_AUTO_UPDATE_REPO "@BUILD_AUTO_UPDATE_REPO@" #define BUILD_AUTO_UPDATE_REPO "@BUILD_AUTO_UPDATE_REPO@"
#define IS_NIGHTLY_BUILD @IS_NIGHTLY_BUILD@ #define IS_NIGHTLY_BUILD @IS_NIGHTLY_BUILD@
@ -42,6 +43,7 @@ constexpr const bool g_is_nightly_build = IS_NIGHTLY_BUILD;
constexpr const char g_build_auto_update_website[] = BUILD_AUTO_UPDATE_WEBSITE; constexpr const char g_build_auto_update_website[] = BUILD_AUTO_UPDATE_WEBSITE;
constexpr const char g_build_auto_update_api[] = BUILD_AUTO_UPDATE_API; constexpr const char g_build_auto_update_api[] = BUILD_AUTO_UPDATE_API;
constexpr const char g_build_auto_update_api_path[] = BUILD_AUTO_UPDATE_API_PATH;
constexpr const char g_build_auto_update_repo[] = BUILD_AUTO_UPDATE_REPO; constexpr const char g_build_auto_update_repo[] = BUILD_AUTO_UPDATE_REPO;
} // namespace Common } // namespace Common

View File

@ -26,6 +26,7 @@ extern const bool g_is_nightly_build;
extern const char g_build_auto_update_website[]; extern const char g_build_auto_update_website[];
extern const char g_build_auto_update_api[]; extern const char g_build_auto_update_api[];
extern const char g_build_auto_update_api_path[];
extern const char g_build_auto_update_repo[]; extern const char g_build_auto_update_repo[];
} // namespace Common } // namespace Common

View File

@ -25,7 +25,7 @@ add_executable(dynarmic_tests
A64/real_world.cpp A64/real_world.cpp
A64/testenv.h A64/testenv.h
) )
target_link_libraries(dynarmic_tests PRIVATE merry::oaknut) target_link_libraries(dynarmic_tests PRIVATE merry::oaknut unordered_dense::unordered_dense)
if (DYNARMIC_TESTS_USE_UNICORN) if (DYNARMIC_TESTS_USE_UNICORN)
target_link_libraries(dynarmic_tests PRIVATE Unicorn::Unicorn) target_link_libraries(dynarmic_tests PRIVATE Unicorn::Unicorn)
@ -73,7 +73,7 @@ add_executable(dynarmic_print_info
print_info.cpp print_info.cpp
) )
create_target_directory_groups(dynarmic_print_info) create_target_directory_groups(dynarmic_print_info)
target_link_libraries(dynarmic_print_info PRIVATE dynarmic fmt::fmt merry::mcl) target_link_libraries(dynarmic_print_info PRIVATE dynarmic fmt::fmt merry::mcl unordered_dense::unordered_dense)
if (BOOST_NO_HEADERS) if (BOOST_NO_HEADERS)
target_link_libraries(dynarmic_print_info PRIVATE Boost::variant Boost::icl Boost::pool) target_link_libraries(dynarmic_print_info PRIVATE Boost::variant Boost::icl Boost::pool)
else() else()
@ -94,7 +94,7 @@ add_executable(dynarmic_test_generator
create_target_directory_groups(dynarmic_test_generator) create_target_directory_groups(dynarmic_test_generator)
target_link_libraries(dynarmic_test_generator PRIVATE dynarmic fmt::fmt merry::mcl) target_link_libraries(dynarmic_test_generator PRIVATE dynarmic fmt::fmt merry::mcl unordered_dense::unordered_dense)
if (BOOST_NO_HEADERS) if (BOOST_NO_HEADERS)
target_link_libraries(dynarmic_test_generator PRIVATE Boost::variant Boost::icl Boost::pool) target_link_libraries(dynarmic_test_generator PRIVATE Boost::variant Boost::icl Boost::pool)
else() else()
@ -111,7 +111,7 @@ add_executable(dynarmic_test_reader
test_reader.cpp test_reader.cpp
) )
create_target_directory_groups(dynarmic_test_reader) create_target_directory_groups(dynarmic_test_reader)
target_link_libraries(dynarmic_test_reader PRIVATE dynarmic fmt::fmt merry::mcl) target_link_libraries(dynarmic_test_reader PRIVATE dynarmic fmt::fmt merry::mcl unordered_dense::unordered_dense)
if (BOOST_NO_HEADERS) if (BOOST_NO_HEADERS)
target_link_libraries(dynarmic_test_reader PRIVATE Boost::variant Boost::icl Boost::pool) target_link_libraries(dynarmic_test_reader PRIVATE Boost::variant Boost::icl Boost::pool)
else() else()
@ -124,7 +124,7 @@ target_compile_definitions(dynarmic_test_reader PRIVATE FMT_USE_USER_DEFINED_LIT
# #
create_target_directory_groups(dynarmic_tests) create_target_directory_groups(dynarmic_tests)
target_link_libraries(dynarmic_tests PRIVATE dynarmic Catch2::Catch2WithMain fmt::fmt merry::mcl) target_link_libraries(dynarmic_tests PRIVATE dynarmic Catch2::Catch2WithMain fmt::fmt merry::mcl unordered_dense::unordered_dense)
if (BOOST_NO_HEADERS) if (BOOST_NO_HEADERS)
target_link_libraries(dynarmic_tests PRIVATE Boost::variant Boost::icl Boost::pool) target_link_libraries(dynarmic_tests PRIVATE Boost::variant Boost::icl Boost::pool)
else() else()

View File

@ -24,7 +24,7 @@ if (ENABLE_UPDATE_CHECKER)
update_checker.h) update_checker.h)
if (ENABLE_OPENSSL) if (ENABLE_OPENSSL)
target_compile_definitions(frontend_common PRIVATE CPPHTTPLIB_OPENSSL_SUPPORT) target_compile_definitions(frontend_common PUBLIC CPPHTTPLIB_OPENSSL_SUPPORT)
target_link_libraries(frontend_common PRIVATE OpenSSL::SSL OpenSSL::Crypto) target_link_libraries(frontend_common PRIVATE OpenSSL::SSL OpenSSL::Crypto)
endif() endif()

View File

@ -82,8 +82,8 @@ std::optional<std::string> UpdateChecker::GetResponse(std::string url, std::stri
std::optional<UpdateChecker::Update> UpdateChecker::GetLatestRelease(bool include_prereleases) { std::optional<UpdateChecker::Update> UpdateChecker::GetLatestRelease(bool include_prereleases) {
const auto update_check_url = std::string{Common::g_build_auto_update_api}; const auto update_check_url = std::string{Common::g_build_auto_update_api};
std::string update_check_path = fmt::format("/repos/{}", auto update_check_path = fmt::format("{}{}", std::string{Common::g_build_auto_update_api_path},
std::string{Common::g_build_auto_update_repo}); std::string{Common::g_build_auto_update_repo});
try { try {
if (include_prereleases) { // This can return either a prerelease or a stable release, if (include_prereleases) { // This can return either a prerelease or a stable release,
// whichever is more recent. // whichever is more recent.
@ -124,14 +124,14 @@ std::optional<UpdateChecker::Update> UpdateChecker::GetLatestRelease(bool includ
return Update{latest_tag, latest_name}; return Update{latest_tag, latest_name};
} }
} catch (nlohmann::detail::out_of_range &) { } catch (nlohmann::detail::out_of_range&) {
LOG_ERROR(Frontend, LOG_ERROR(Frontend,
"Parsing JSON response from {}{} failed during update check: " "Parsing JSON response from {}{} failed during update check: "
"nlohmann::detail::out_of_range", "nlohmann::detail::out_of_range",
update_check_url, update_check_url,
update_check_path); update_check_path);
return {}; return {};
} catch (nlohmann::detail::type_error &) { } catch (nlohmann::detail::type_error&) {
LOG_ERROR(Frontend, LOG_ERROR(Frontend,
"Parsing JSON response from {}{} failed during update check: " "Parsing JSON response from {}{} failed during update check: "
"nlohmann::detail::type_error", "nlohmann::detail::type_error",