From b065af4d90b86c13b608739fc0564e32b5bdeff9 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 25 Sep 2023 23:42:14 +0800 Subject: improve sanitizer policy --- xmake/rules/c++/build_sanitizer/config.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xmake/rules/c++/build_sanitizer/config.lua b/xmake/rules/c++/build_sanitizer/config.lua index 7c8d4f0da..4b6bd9845 100644 --- a/xmake/rules/c++/build_sanitizer/config.lua +++ b/xmake/rules/c++/build_sanitizer/config.lua @@ -51,8 +51,11 @@ end function main(target, sourcekind) local sanitizer = false for _, checkmode in ipairs({"address", "thread", "memory", "leak", "undefined"}) do - if target:policy("build.sanitizer." .. checkmode) or - project.policy("build.sanitizer." .. checkmode) then + local enabled = target:policy("build.sanitizer." .. checkmode) + if enabled == nil then + enabled = project.policy("build.sanitizer." .. checkmode) + end + if enabled then _add_build_sanitizer(target, sourcekind, checkmode) sanitizer = true end -- cgit v1.3.1