summaryrefslogtreecommitdiff
path: root/xmake/rules/mode
diff options
context:
space:
mode:
authorruki <[email protected]>2018-04-14 00:03:06 +0800
committerruki <[email protected]>2018-04-14 00:03:06 +0800
commit79c1eb71af25e810d421a790b5e9eab463450cfe (patch)
tree3598846b0024d6609fd6146ed6df6c0cad862fbe /xmake/rules/mode
parenta8a05178346e5efb902aaef8c55264e130389e00 (diff)
add find_qt
Diffstat (limited to 'xmake/rules/mode')
-rw-r--r--xmake/rules/mode/xmake.lua61
1 files changed, 61 insertions, 0 deletions
diff --git a/xmake/rules/mode/xmake.lua b/xmake/rules/mode/xmake.lua
index 24765a6f8..ce7d470d1 100644
--- a/xmake/rules/mode/xmake.lua
+++ b/xmake/rules/mode/xmake.lua
@@ -55,3 +55,64 @@ rule("mode:release")
end
end)
+-- define rule: profile mode
+rule("mode:profile")
+ on_load(function (target)
+
+ -- is profile mode now? xmake f -m profile
+ if is_mode("profile") then
+
+ -- set the symbols visibility: debug
+ target:set("symbols", "debug")
+
+ -- enable fastest optimization
+ target:set("optimize", "fastest")
+
+ -- enable gprof
+ target:add("cxflags", "-pg")
+ target:add("mxflags", "-pg")
+ target:add("ldflags", "-pg")
+ end
+ end)
+
+-- define rule: check mode
+rule("mode:check")
+ on_load(function (target)
+
+ -- is check mode now? xmake f -m check
+ if is_mode("check") then
+
+ -- enable the debug symbols
+ target:set("symbols", "debug")
+
+ -- disable optimization
+ target:set("optimize", "none")
+
+ -- attempt to enable some checkers for pc
+ if is_mode("check") and is_arch("i386", "x86_64") then
+ target:add("cxflags", "-fsanitize=address", "-ftrapv")
+ target:add("mxflags", "-fsanitize=address", "-ftrapv")
+ target:add("ldflags", "-fsanitize=address")
+ end
+ end
+ end)
+
+-- define rule: coverage mode
+rule("mode:coverage")
+ on_load(function (target)
+
+ -- is coverage mode now? xmake f -m coverage
+ if is_mode("coverage") then
+
+ -- enable the debug symbols
+ target:set("symbols", "debug")
+
+ -- disable optimization
+ target:set("optimize", "none")
+
+ -- enable coverage
+ target:add("cxflags", "--coverage")
+ target:add("mxflags", "--coverage")
+ target:add("ldflags", "--coverage")
+ end
+ end)