summaryrefslogtreecommitdiff
path: root/xmake/plugins
diff options
context:
space:
mode:
author小鸡快跑 <[email protected]>2024-08-12 17:52:02 +0800
committer小鸡快跑 <[email protected]>2024-08-12 17:52:02 +0800
commit4eeaaaa589f2fff682bf56fa32489a5aedcb6463 (patch)
tree7e2c28f3a7a8abfb0f7b85c384dfe16aa8ba148f /xmake/plugins
parentaf3090adbb8e46ee8e3d62417e9a6dc9b06f068c (diff)
fix(plugin/project): Generate compile_commands for tests
1. Implement the get_tests_table as a function 2. Generate compile_commands for tests
Diffstat (limited to 'xmake/plugins')
-rw-r--r--xmake/plugins/project/clang/compile_commands.lua9
1 files changed, 9 insertions, 0 deletions
diff --git a/xmake/plugins/project/clang/compile_commands.lua b/xmake/plugins/project/clang/compile_commands.lua
index 059173c45..45ef1c4fe 100644
--- a/xmake/plugins/project/clang/compile_commands.lua
+++ b/xmake/plugins/project/clang/compile_commands.lua
@@ -28,6 +28,7 @@ import("private.utils.batchcmds")
import("private.utils.executable_path")
import("private.utils.rule_groups")
import("plugins.project.utils.target_cmds", {rootdir = os.programdir()})
+import("actions.test.main", {rootdir = os.programdir(), alias = "test_action"})
-- escape path
function _escape_path(p)
@@ -288,11 +289,19 @@ end
function _add_targets(jsonfile)
jsonfile:print("[")
_g.firstline = true
+
for _, target in pairs(project.targets()) do
if not target:is_phony() then
_add_target(jsonfile, target)
end
end
+ -- https://github.com/xmake-io/xmake/issues/4750
+ for _, test in pairs(test_action.get_tests_table()) do
+ local target = test.target
+ if not target:is_phony() then
+ _add_target(jsonfile, target)
+ end
+ end
jsonfile:print("]")
end