summaryrefslogtreecommitdiff
path: root/xmake/rules/objc++/config/basic.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2025-12-02 22:57:33 +0800
committerruki <[email protected]>2025-12-02 22:57:33 +0800
commit9d7699a185cf459b33782fc314c39fdd848de816 (patch)
tree39e4fa681e6c3d146f78d5f759e11259a2499585 /xmake/rules/objc++/config/basic.lua
parenta3f3678d1705dac4106dc95883d264534db159e2 (diff)
improve basic
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