summaryrefslogtreecommitdiff
path: root/xmake/rules/objc++/config/basic.lua
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/rules/objc++/config/basic.lua')
-rw-r--r--xmake/rules/objc++/config/basic.lua22
1 files changed, 8 insertions, 14 deletions
diff --git a/xmake/rules/objc++/config/basic.lua b/xmake/rules/objc++/config/basic.lua
index cf1da1e12..4da2eed43 100644
--- a/xmake/rules/objc++/config/basic.lua
+++ b/xmake/rules/objc++/config/basic.lua
@@ -18,22 +18,16 @@
-- @file basic.lua
--
--- main entry
function main(target, sourcekind)
- -- objc basic configs
- if sourcekind == "mm" then
- -- deprecated, we only need to use `add_mflags("-fno-objc-arc")` to override it
- if target:values("objc.build.arc") == false then
- target:add("mflags", "-fno-objc-arc")
- end
- if target:is_plat("macosx", "iphoneos", "watchos") then
- target:add("frameworks", "Foundation", "CoreFoundation")
- end
- elseif sourcekind == "mxx" then
- -- deprecated, we only need to use `add_mxxflags("-fno-objc-arc")` to override it
- if target:values("objc++.build.arc") == false then
- target:add("mxxflags", "-fno-objc-arc")
+ if sourcekind == "mm" or sourcekind == "mxx" then
+ -- deprecated, we only need to use `add_mflags("-fno-objc-arc")` or `add_mxxflags("-fno-objc-arc")` to override it
+ local arc_value = sourcekind == "mm" and target:values("objc.build.arc") or target:values("objc++.build.arc")
+ if arc_value == false then
+ local flag_name = sourcekind == "mm" and "mflags" or "mxxflags"
+ target:add(flag_name, "-fno-objc-arc")
end
+
+ -- add frameworks for Apple platforms
if target:is_plat("macosx", "iphoneos", "watchos") then
target:add("frameworks", "Foundation", "CoreFoundation")
end