summaryrefslogtreecommitdiff
path: root/xmake/modules/private/action/require/impl/package.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2023-09-21 22:38:18 +0800
committerruki <[email protected]>2023-09-21 22:38:18 +0800
commit3d9cf6af8a3fae36dbb5e8fe055a54000ddcadfb (patch)
tree6ecc187316c099057cdad9cdeeaa8d93ef73913e /xmake/modules/private/action/require/impl/package.lua
parent5c619b17b5847b18d284323830dedaeff9d5d6ed (diff)
add asan support for package and policy
Diffstat (limited to 'xmake/modules/private/action/require/impl/package.lua')
-rw-r--r--xmake/modules/private/action/require/impl/package.lua7
1 files changed, 6 insertions, 1 deletions
diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua
index ea7d8d621..a7377d41b 100644
--- a/xmake/modules/private/action/require/impl/package.lua
+++ b/xmake/modules/private/action/require/impl/package.lua
@@ -328,6 +328,9 @@ function _add_package_configurations(package)
if package:extraconf("configs", "lto", "default") == nil then
package:add("configs", "lto", {builtin = true, description = "Enable the link-time build optimization.", type = "boolean"})
end
+ if package:extraconf("configs", "asan", "default") == nil then
+ package:add("configs", "asan", {builtin = true, description = "Enable the address sanitizer.", type = "boolean"})
+ end
if package:extraconf("configs", "vs_runtime", "default") == nil then
package:add("configs", "vs_runtime", {builtin = true, description = "Set vs compiler runtime.", values = {"MT", "MTd", "MD", "MDd"}})
end
@@ -500,11 +503,12 @@ function _init_requireinfo(requireinfo, package, opt)
requireinfo.configs.vs_runtime = requireinfo.configs.vs_runtime or get_config("vs_runtime")
end
requireinfo.configs.lto = requireinfo.configs.lto or project.policy("build.optimization.lto")
+ requireinfo.configs.asan = requireinfo.configs.asan or project.policy("build.sanitizer.address")
end
-- but we will ignore some configs for buildhash in the headeronly and host/binary package
-- @note on_test still need these configs, @see https://github.com/xmake-io/xmake/issues/4124
if package:is_headeronly() or (package:is_binary() and not package:is_cross()) then
- requireinfo.ignored_configs_for_buildhash = {"vs_runtime", "toolchains", "lto", "pic"}
+ requireinfo.ignored_configs_for_buildhash = {"vs_runtime", "toolchains", "lto", "asan", "pic"}
end
end
@@ -652,6 +656,7 @@ function _inherit_parent_configs(requireinfo, package, parentinfo)
requireinfo_configs.toolchains = requireinfo_configs.toolchains or parentinfo_configs.toolchains
requireinfo_configs.vs_runtime = requireinfo_configs.vs_runtime or parentinfo_configs.vs_runtime
requireinfo_configs.lto = requireinfo_configs.lto or parentinfo_configs.lto
+ requireinfo_configs.asan = requireinfo_configs.asan or parentinfo_configs.asan
requireinfo.configs = requireinfo_configs
end
end