From 7828621e2165455f90a0b4eecadddec0b7e6cdb0 Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 28 Sep 2021 00:44:58 +0800 Subject: improve target:sourcekinds --- xmake/core/project/target.lua | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'xmake/core/project') diff --git a/xmake/core/project/target.lua b/xmake/core/project/target.lua index 3e2d308f9..52126b78c 100644 --- a/xmake/core/project/target.lua +++ b/xmake/core/project/target.lua @@ -1605,6 +1605,15 @@ function _instance:sourcekinds() table.insert(sourcekinds, sourcekind) end end + -- if the source file is added dynamically, we may not be able to get the sourcekinds, + -- so we can only continue to get it from the rule + -- https://github.com/xmake-io/xmake/issues/1622#issuecomment-927726697 + for _, ruleinst in ipairs(self:orderules()) do + local rule_sourcekinds = ruleinst:get("sourcekinds") + if rule_sourcekinds then + table.insert(sourcekinds, rule_sourcekinds) + end + end sourcekinds = table.unique(sourcekinds) self._SOURCEKINDS = sourcekinds end -- cgit v1.3.1