summaryrefslogtreecommitdiff
path: root/xmake/plugins/project/vstudio/impl/vs201x_solution.lua
diff options
context:
space:
mode:
authorfcying <[email protected]>2025-06-22 13:08:01 +0800
committerfcying <[email protected]>2025-06-26 09:49:14 +0800
commit42e25f69c356dbb014459f472da1e99e27849418 (patch)
treef5307ec2275f36abe268b30dae03fc53e158ce0a /xmake/plugins/project/vstudio/impl/vs201x_solution.lua
parent749d449e2ff77f43771467b986aa203546f3a808 (diff)
feat(plugin/project): support gen compile_commands.json for specific target
Diffstat (limited to 'xmake/plugins/project/vstudio/impl/vs201x_solution.lua')
-rw-r--r--xmake/plugins/project/vstudio/impl/vs201x_solution.lua9
1 files changed, 6 insertions, 3 deletions
diff --git a/xmake/plugins/project/vstudio/impl/vs201x_solution.lua b/xmake/plugins/project/vstudio/impl/vs201x_solution.lua
index d4a16c207..74fb963fa 100644
--- a/xmake/plugins/project/vstudio/impl/vs201x_solution.lua
+++ b/xmake/plugins/project/vstudio/impl/vs201x_solution.lua
@@ -22,6 +22,7 @@
import("core.project.project")
import("vsfile")
import("vsutils")
+import("plugins.project.utils.target_utils", {rootdir = os.programdir()})
-- make header
function _make_header(slnfile, vsinfo)
@@ -36,7 +37,8 @@ function _make_projects(slnfile, vsinfo)
local groups = {}
local targets = {}
local vctool = "8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942"
- for targetname, target in table.orderpairs(project.targets()) do
+ local project_targets = target_utils.get_project_targets()
+ for targetname, target in table.orderpairs(project_targets) do
-- we need to set startup project for default or binary target
-- @see https://github.com/xmake-io/xmake/issues/1249
if target:get("default") == true then
@@ -99,7 +101,8 @@ function _make_global(slnfile, vsinfo)
-- add project configuration platforms
slnfile:enter("GlobalSection(ProjectConfigurationPlatforms) = postSolution")
- for targetname, target in table.orderpairs(project.targets()) do
+ local project_targets = target_utils.get_project_targets()
+ for targetname, target in table.orderpairs(project_targets) do
for _, mode in ipairs(vsinfo.modes) do
for _, arch in ipairs(vsinfo.archs) do
local vs_arch = vsutils.vsarch(arch)
@@ -118,7 +121,7 @@ function _make_global(slnfile, vsinfo)
-- add project groups
slnfile:enter("GlobalSection(NestedProjects) = preSolution")
local subgroups = {}
- for targetname, target in table.orderpairs(project.targets()) do
+ for targetname, target in table.orderpairs(project_targets) do
local group_path = target:get("group")
if group_path then
-- target -> group