summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2021-11-17 10:38:06 +0800
committerGitHub <[email protected]>2021-11-17 10:38:06 +0800
commita3996b2dbd5a294598a8f5122fa33b2dd92ea602 (patch)
treedd82962a828f76dbb9518dc453bbaac1bf8f6569
parentb7cb5bb0c219bf4c8cdb7fffc40388c13de5e213 (diff)
fix rule
-rw-r--r--xmake/core/project/target.lua16
1 files changed, 8 insertions, 8 deletions
diff --git a/xmake/core/project/target.lua b/xmake/core/project/target.lua
index c48d64c47..922d7d483 100644
--- a/xmake/core/project/target.lua
+++ b/xmake/core/project/target.lua
@@ -1166,17 +1166,17 @@ function _instance:filerules(sourcefile)
end
-- get target rules from the given sourcekind or extension
+ --
+ -- @note we prefer to use rules with extension because we need to be able to
+ -- override the language code rules set by set_sourcekinds
+ --
+ -- e.g. set_extensions(".bpf.c") will override c++ rules
+ --
local rules_override = {}
local filename = path.filename(sourcefile):lower()
for _, r in ipairs(table.wrap(key2rules[path.extension(filename, 2)] or
- key2rules[path.extension(filename)])) do
- if self:extraconf("rules", r:name(), "override") then
- table.insert(rules_override, r)
- else
- table.insert(rules, r)
- end
- end
- for _, r in ipairs(table.wrap(key2rules[self:sourcekind_of(filename)])) do
+ key2rules[path.extension(filename)] or
+ key2rules[self:sourcekind_of(filename)])) do
if self:extraconf("rules", r:name(), "override") then
table.insert(rules_override, r)
else