summaryrefslogtreecommitdiff
path: root/xmake/toolchains/llvm/check.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2025-05-21 21:12:41 +0800
committerruki <[email protected]>2025-05-21 21:12:41 +0800
commitd1d99cdda06f6d779fb249d547f7fe09aca06ba4 (patch)
tree9dcc14cf438f39c3013c37ffb15f940554fb240a /xmake/toolchains/llvm/check.lua
parenta0db85a02c45598fd64b9811407a023b68e8b055 (diff)
improve llvm for macos
Diffstat (limited to 'xmake/toolchains/llvm/check.lua')
-rw-r--r--xmake/toolchains/llvm/check.lua14
1 files changed, 14 insertions, 0 deletions
diff --git a/xmake/toolchains/llvm/check.lua b/xmake/toolchains/llvm/check.lua
index 69ad691e8..933146fbf 100644
--- a/xmake/toolchains/llvm/check.lua
+++ b/xmake/toolchains/llvm/check.lua
@@ -28,6 +28,14 @@ import("detect.sdks.find_cross_toolchain")
-- find xcode on macos
function _find_xcode(toolchain)
+ -- get apple device
+ local appledev = toolchain:config("appledev") or config.get("appledev")
+ if appledev and appledev == "simulator" then
+ appledev = "simulator"
+ elseif not toolchain:is_plat("macosx") and toolchain:is_arch("i386", "x86_64") then
+ appledev = "simulator"
+ end
+
-- find xcode
local xcode_sdkver = toolchain:config("xcode_sdkver") or config.get("xcode_sdkver")
local xcode = find_xcode(toolchain:config("xcode") or config.get("xcode"), {force = true, verbose = true,
@@ -46,8 +54,14 @@ function _find_xcode(toolchain)
config.set("xcode", xcode.sdkdir, {force = true, readonly = true})
cprint("checking for Xcode directory ... ${color.success}%s", xcode.sdkdir)
end
+ local target_minver = toolchain:config("target_minver") or config.get("target_minver")
+ if xcode_sdkver and not target_minver then
+ target_minver = xcode.target_minver
+ end
toolchain:config_set("xcode", xcode.sdkdir)
toolchain:config_set("xcode_sdkver", xcode_sdkver)
+ toolchain:config_set("target_minver", target_minver)
+ toolchain:config_set("appledev", appledev)
toolchain:configs_save()
cprint("checking for SDK version of Xcode for %s (%s) ... ${color.success}%s", toolchain:plat(), toolchain:arch(), xcode_sdkver)
end