aboutsummaryrefslogtreecommitdiff
path: root/src/build_settings.cpp
diff options
context:
space:
mode:
authorLaytan <laytanlaats@hotmail.com>2025-07-14 20:51:00 +0200
committerGitHub <noreply@github.com>2025-07-14 20:51:00 +0200
commit67c90b5d9e321910632716a2ebb0bb97964020b1 (patch)
tree7258c9271e70d6224adaffed79584056ebaa5428 /src/build_settings.cpp
parent02e5dc9948cfa4e0b96219d63bfd10c91591ec88 (diff)
parent77e5c7141448219a6a0fc40f281951c4e8a5c0eb (diff)
Merge pull request #5466 from harold-b/hb.fix-ios-simulator-triplet
Fix correct versioned target triplet for iphonesimulator subtarget
Diffstat (limited to 'src/build_settings.cpp')
-rw-r--r--src/build_settings.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/build_settings.cpp b/src/build_settings.cpp
index 094cf07f0..d98340844 100644
--- a/src/build_settings.cpp
+++ b/src/build_settings.cpp
@@ -1916,7 +1916,16 @@ gb_internal void init_build_context(TargetMetrics *cross_target, Subtarget subta
}
}
- bc->metrics.target_triplet = concatenate_strings(permanent_allocator(), bc->metrics.target_triplet, bc->minimum_os_version_string);
+ if (subtarget == Subtarget_iPhoneSimulator) {
+ // For the iOS simulator subtarget, the version must be between 'ios' and '-simulator'.
+ String suffix = str_lit("-simulator");
+ GB_ASSERT(string_ends_with(bc->metrics.target_triplet, suffix));
+
+ String prefix = substring(bc->metrics.target_triplet, 0, bc->metrics.target_triplet.len - suffix.len);
+ bc->metrics.target_triplet = concatenate3_strings(permanent_allocator(), prefix, bc->minimum_os_version_string, suffix);
+ } else {
+ bc->metrics.target_triplet = concatenate_strings(permanent_allocator(), bc->metrics.target_triplet, bc->minimum_os_version_string);
+ }
} else if (selected_subtarget == Subtarget_Android) {
init_android_values(bc->build_mode == BuildMode_Executable && (bc->command_kind & Command__does_build) != 0);
}