diff options
| author | ruki <[email protected]> | 2023-08-21 23:45:39 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-08-21 23:45:39 +0800 |
| commit | a1d94192c532e02dcd581457d82fa9680cbcd793 (patch) | |
| tree | 784a155513a0e19ca265d62c51ad199cf40ca903 | |
| parent | e73df8b4713c4b8c928c77d0baa4185be1db6517 (diff) | |
add extrafiles #2384
| -rw-r--r-- | xmake/plugins/project/vsxmake/getinfo.lua | 7 | ||||
| -rw-r--r-- | xmake/plugins/project/vsxmake/vsxmake.lua | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/xmake/plugins/project/vsxmake/getinfo.lua b/xmake/plugins/project/vsxmake/getinfo.lua index 322292f72..2c3829284 100644 --- a/xmake/plugins/project/vsxmake/getinfo.lua +++ b/xmake/plugins/project/vsxmake/getinfo.lua @@ -496,14 +496,16 @@ function main(outputdir, vsinfo) -- save all sourcefiles and headerfiles _target.sourcefiles = table.unique(table.join(_target.sourcefiles or {}, (target:sourcefiles()))) _target.headerfiles = table.unique(table.join(_target.headerfiles or {}, (target:headerfiles()))) + _target.extrafiles = table.unique(table.join(_target.extrafiles or {}, (target:get("extrafiles")))) -- sort them to stabilize generation table.sort(_target.sourcefiles) table.sort(_target.headerfiles) + table.sort(_target.extrafiles) -- save file groups _target.filegroups = table.unique(table.join(_target.filegroups or {}, target:get("filegroups"))) - + for filegroup, groupconf in pairs(target:extraconf("filegroups")) do _target.filegroups_extraconf = _target.filegroups_extraconf or {} local mergedconf = _target.filegroups_extraconf[filegroup] @@ -534,7 +536,8 @@ function main(outputdir, vsinfo) local root = target.absscriptdir or projectdir target.sourcefiles = table.imap(target.sourcefiles, function(_, v) return path.relative(v, projectdir) end) target.headerfiles = table.imap(target.headerfiles, function(_, v) return path.relative(v, projectdir) end) - for _, f in ipairs(table.join(target.sourcefiles, target.headerfiles)) do + target.extrafiles = table.imap(target.extrafiles, function(_, v) return path.relative(v, projectdir) end) + for _, f in ipairs(table.join(target.sourcefiles, target.headerfiles or {}, target.extrafiles)) do local dir = _make_filter(f, target, root) local escaped_f = vsutils.escape(f) target._paths[f] = diff --git a/xmake/plugins/project/vsxmake/vsxmake.lua b/xmake/plugins/project/vsxmake/vsxmake.lua index 90fc1cf8e..50695ebc2 100644 --- a/xmake/plugins/project/vsxmake/vsxmake.lua +++ b/xmake/plugins/project/vsxmake/vsxmake.lua @@ -140,7 +140,7 @@ function _buildparams(info, target, default) local files = info._targets[target].sourcefiles table.insert(r, _filter_files(files, {".ui"})) elseif args.incc then - local files = info._targets[target].headerfiles + local files = table.join(info._targets[target].headerfiles or {}, info._targets[target].extrafiles) table.insert(r, _filter_files(files, nil, {".natvis"})) elseif args.incnatvis then local files = info._targets[target].headerfiles |
