diff options
| author | ruki <[email protected]> | 2022-08-20 10:18:43 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2022-08-20 10:18:43 +0800 |
| commit | 432e9cc7745628d3b8bffa6c927ad4f23443249b (patch) | |
| tree | 6cead82b5a341a11afef0ad1ac7dbc90b7e4f3da /xmake/toolchains/xcode | |
| parent | 9accd1da89561c8695fec341a0c61768112953e5 (diff) | |
add catalyst for iphoneos
Diffstat (limited to 'xmake/toolchains/xcode')
| -rw-r--r-- | xmake/toolchains/xcode/check.lua | 33 | ||||
| -rw-r--r-- | xmake/toolchains/xcode/load_iphoneos.lua | 14 |
2 files changed, 24 insertions, 23 deletions
diff --git a/xmake/toolchains/xcode/check.lua b/xmake/toolchains/xcode/check.lua index 927eadceb..31949eaec 100644 --- a/xmake/toolchains/xcode/check.lua +++ b/xmake/toolchains/xcode/check.lua @@ -26,11 +26,23 @@ import("detect.sdks.find_xcode") -- main entry function main(toolchain) + -- get apple device + local simulator + local appledev = toolchain:config("appledev") or config.get("appledev") + if appledev and appledev == "simulator" then + simulator = true + appledev = "simulator" + elseif not toolchain:is_plat("macosx") and toolchain:is_arch("i386", "x86_64") then + simulator = true + appledev = "simulator" + end + -- find xcode local xcode_sdkver = toolchain:config("xcode_sdkver") or config.get("xcode_sdkver") local xcode = find_xcode(config.get("xcode"), {force = true, verbose = true, find_codesign = toolchain:is_global(), sdkver = xcode_sdkver, + appledev = appledev, plat = toolchain:plat(), arch = toolchain:arch()}) if not xcode then @@ -59,21 +71,10 @@ function main(toolchain) end end - -- get apple device - local simulator - local appledev = toolchain:config("appledev") or config.get("appledev") - if appledev and appledev == "simulator" then - simulator = true - appledev = "simulator" - elseif not toolchain:is_plat("macosx") and toolchain:is_arch("i386", "x86_64") then - simulator = true - appledev = "simulator" - end - -- save xcode sysroot directory local xcode_sysroot if xcode.sdkdir and xcode_sdkver then - if toolchain:is_plat("macosx") then + if toolchain:is_plat("macosx") or appledev == "catalyst" then xcode_sysroot = xcode.sdkdir .. "/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX" .. xcode_sdkver .. ".sdk" elseif toolchain:is_plat("iphoneos") then local platname = simulator and "iPhoneSimulator" or "iPhoneOS" @@ -102,13 +103,7 @@ function main(toolchain) -- local target_minver = toolchain:config("target_minver") or config.get("target_minver") if xcode_sdkver and not target_minver then - target_minver = xcode_sdkver - if toolchain:is_plat("macosx") then - local macos_ver = macos.version() - if macos_ver then - target_minver = macos_ver:major() .. "." .. macos_ver:minor() - end - end + target_minver = xcode.target_minver end toolchain:config_set("xcode", xcode.sdkdir) toolchain:config_set("xcode_sdkver", xcode_sdkver) diff --git a/xmake/toolchains/xcode/load_iphoneos.lua b/xmake/toolchains/xcode/load_iphoneos.lua index 77a581b0c..d64172ed2 100644 --- a/xmake/toolchains/xcode/load_iphoneos.lua +++ b/xmake/toolchains/xcode/load_iphoneos.lua @@ -29,15 +29,21 @@ function main(toolchain) local xcode_sdkver = toolchain:config("xcode_sdkver") local xcode_sysroot = toolchain:config("xcode_sysroot") - -- is simulator? - local simulator = toolchain:config("appledev") == "simulator" - -- init target minimal version + local appledev = toolchain:config("appledev") local target_minver = toolchain:config("target_minver") if target_minver and tonumber(target_minver) > 10 and (arch == "armv7" or arch == "armv7s" or arch == "i386") then target_minver = "10" -- iOS 10 is the maximum deployment target for 32-bit targets end - local target_minver_flags = (simulator and "-mios-simulator-version-min=" or "-miphoneos-version-min=") .. target_minver + if target_minver and tonumber(target_minver) < 13 and appledev == "catalyst" then + target_minver = "13.1" + end + local target_minver_flags + if appledev == "simulator" then + target_minver_flags = "-mios-simulator-version-min=" .. target_minver + else + target_minver_flags = "-miphoneos-version-min=" .. target_minver + end -- init flags for c/c++ toolchain:add("cxflags", "-arch", arch, target_minver_flags, "-isysroot", xcode_sysroot) |
