diff options
| author | ruki <[email protected]> | 2021-11-17 10:38:06 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-11-17 10:38:06 +0800 |
| commit | a3996b2dbd5a294598a8f5122fa33b2dd92ea602 (patch) | |
| tree | dd82962a828f76dbb9518dc453bbaac1bf8f6569 | |
| parent | b7cb5bb0c219bf4c8cdb7fffc40388c13de5e213 (diff) | |
fix rule
| -rw-r--r-- | xmake/core/project/target.lua | 16 |
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 |
