summaryrefslogtreecommitdiff
path: root/xmake/modules/package/tools/cmake.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2023-09-21 22:40:21 +0800
committerruki <[email protected]>2023-09-21 22:40:21 +0800
commit8afc0e7ed5d14918fa4fafd450b23263f62ea147 (patch)
tree42ae5604bb4582d83028ba811a90ff623e9856a5 /xmake/modules/package/tools/cmake.lua
parent3d9cf6af8a3fae36dbb5e8fe055a54000ddcadfb (diff)
enable asan for package
Diffstat (limited to 'xmake/modules/package/tools/cmake.lua')
-rw-r--r--xmake/modules/package/tools/cmake.lua12
1 files changed, 12 insertions, 0 deletions
diff --git a/xmake/modules/package/tools/cmake.lua b/xmake/modules/package/tools/cmake.lua
index 4c3f58def..77511735b 100644
--- a/xmake/modules/package/tools/cmake.lua
+++ b/xmake/modules/package/tools/cmake.lua
@@ -163,6 +163,9 @@ function _get_cflags(package, opt)
if package:config("lto") then
table.join2(result, package:_generate_lto_configs("cc").cflags)
end
+ if package:config("asan") then
+ table.join2(result, package:_generate_sanitizer_configs("address", "cc").cflags)
+ end
table.join2(result, _get_cflags_from_packagedeps(package, opt))
if #result > 0 then
return os.args(result)
@@ -191,6 +194,9 @@ function _get_cxxflags(package, opt)
if package:config("lto") then
table.join2(result, package:_generate_lto_configs("cxx").cxxflags)
end
+ if package:config("asan") then
+ table.join2(result, package:_generate_sanitizer_configs("address", "cxx").cxxflags)
+ end
table.join2(result, _get_cflags_from_packagedeps(package, opt))
if #result > 0 then
return os.args(result)
@@ -230,6 +236,9 @@ function _get_ldflags(package, opt)
if package:config("lto") then
table.join2(result, package:_generate_lto_configs().ldflags)
end
+ if package:config("asan") then
+ table.join2(result, package:_generate_sanitizer_configs("address").ldflags)
+ end
table.join2(result, _get_ldflags_from_packagedeps(package, opt))
if opt.ldflags then
table.join2(result, opt.ldflags)
@@ -253,6 +262,9 @@ function _get_shflags(package, opt)
if package:config("lto") then
table.join2(result, package:_generate_lto_configs().shflags)
end
+ if package:config("asan") then
+ table.join2(result, package:_generate_sanitizer_configs("address").shflags)
+ end
table.join2(result, _get_ldflags_from_packagedeps(package, opt))
if opt.shflags then
table.join2(result, opt.shflags)