diff options
| author | ruki <[email protected]> | 2023-08-09 23:48:46 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-08-09 23:48:46 +0800 |
| commit | 3660a7f4d4ef298fd4dff2092f19fa981fcd354d (patch) | |
| tree | 2c405a8a05583871b1238bbfbe0ef0ed53399bc2 /xmake/core/package/package.lua | |
| parent | 682560e43ac5ac6610d16cbf4aacfcb505c3e8f8 (diff) | |
improve to pass flags to packages #4046
Diffstat (limited to 'xmake/core/package/package.lua')
| -rw-r--r-- | xmake/core/package/package.lua | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua index 6efded860..36a9aba9f 100644 --- a/xmake/core/package/package.lua +++ b/xmake/core/package/package.lua @@ -2086,6 +2086,19 @@ function _instance:_generate_build_configs(configs, opt) if opt.sourcekind == "cxx" and configs.exceptions == nil and self:has_tool("cxx", "cl") then configs.exceptions = "cxx" end + + -- pass user flags to on_test, because some flags need be passed to ldflags in on_test + -- e.g. add_requireconfs("**", {configs = {cxflags = "/fsanitize=address", ldflags = "/fsanitize=address"}}) + -- + -- @see https://github.com/xmake-io/xmake/issues/4046 + -- + for name, flags in pairs(self:configs()) do + if name:endswith("flags") and self:extraconf("configs", name, "builtin") then + configs[name] = table.wrap(configs[name] or {}) + table.join2(configs[name], flags) + end + end + if configs and (configs.ldflags or configs.shflags) then configs.force = {ldflags = configs.ldflags, shflags = configs.shflags} configs.ldflags = nil |
