[cmake] enable clang-cl and WoA builds (#348)

Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64.

Compiling on clang is *dramatically* faster so this should be useful for CI.

Co-authored-by: crueter <crueter@eden-emu.dev>
Co-authored-by: crueter <crueter@crueter.xyz>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/348
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
lizzie 2025-09-09 20:47:49 +02:00 committed by crueter
parent 428f136a75
commit 9d2681ecc9
No known key found for this signature in database
GPG key ID: 425ACD2D4830EBC6
276 changed files with 973 additions and 1010 deletions

View file

@ -122,8 +122,8 @@ Result ISettingsServer::GetAvailableLanguageCodes(
Out<s32> out_count, OutArray<LanguageCode, BufferAttr_HipcPointer> out_language_codes) {
LOG_DEBUG(Service_SET, "called");
const std::size_t max_amount = std::min(PRE_4_0_0_MAX_ENTRIES, out_language_codes.size());
*out_count = static_cast<s32>(std::min(available_language_codes.size(), max_amount));
const std::size_t max_amount = (std::min)(PRE_4_0_0_MAX_ENTRIES, out_language_codes.size());
*out_count = static_cast<s32>((std::min)(available_language_codes.size(), max_amount));
memcpy(out_language_codes.data(), available_language_codes.data(),
static_cast<std::size_t>(*out_count) * sizeof(LanguageCode));
@ -159,8 +159,8 @@ Result ISettingsServer::GetAvailableLanguageCodes2(
Out<s32> out_count, OutArray<LanguageCode, BufferAttr_HipcMapAlias> language_codes) {
LOG_DEBUG(Service_SET, "called");
const std::size_t max_amount = std::min(POST_4_0_0_MAX_ENTRIES, language_codes.size());
*out_count = static_cast<s32>(std::min(available_language_codes.size(), max_amount));
const std::size_t max_amount = (std::min)(POST_4_0_0_MAX_ENTRIES, language_codes.size());
*out_count = static_cast<s32>((std::min)(available_language_codes.size(), max_amount));
memcpy(language_codes.data(), available_language_codes.data(),
static_cast<std::size_t>(*out_count) * sizeof(LanguageCode));
@ -233,7 +233,7 @@ Result ISettingsServer::GetDeviceNickName(
LOG_DEBUG(Service_SET, "called");
const std::size_t string_size =
std::min(Settings::values.device_name.GetValue().size(), out_device_name->size());
(std::min)(Settings::values.device_name.GetValue().size(), out_device_name->size());
*out_device_name = {};
memcpy(out_device_name->data(), Settings::values.device_name.GetValue().data(), string_size);

View file

@ -533,7 +533,7 @@ Result ISystemSettingsServer::GetEulaVersions(
LOG_INFO(Service_SET, "called, elements={}", m_system_settings.eula_version_count);
*out_count =
std::min(m_system_settings.eula_version_count, static_cast<s32>(out_eula_versions.size()));
(std::min)(m_system_settings.eula_version_count, static_cast<s32>(out_eula_versions.size()));
memcpy(out_eula_versions.data(), m_system_settings.eula_versions.data(),
static_cast<std::size_t>(*out_count) * sizeof(EulaVersion));
R_SUCCEED();
@ -599,7 +599,7 @@ Result ISystemSettingsServer::GetAccountNotificationSettings(
LOG_INFO(Service_SET, "called, elements={}",
m_system_settings.account_notification_settings_count);
*out_count = std::min(m_system_settings.account_notification_settings_count,
*out_count = (std::min)(m_system_settings.account_notification_settings_count,
static_cast<s32>(out_account_notification_settings.size()));
memcpy(out_account_notification_settings.data(),
m_system_settings.account_notification_settings.data(),