Open
Description
Xmake 版本
xmake v3.0.0+dev.ace14b3
操作系统版本和架构
Ubuntu 20.04
描述问题
可复现的例子已上传。
其中 xmake.lua
有这么一部分:
target("test")
do
set_kind("binary")
set_default(false)
add_deps("lib")
add_files("tests/test.cpp")
add_tests("default")
end
依赖项 lib
是 C++ module。
此时运行 xmake project -k compile_commands build
会报错。
如果把 set_default(false)
去掉则能成功。
如果把 add_deps("lib")
去掉,则不论 set_default
是 true 或 false 都能成功
期待的结果
依赖 C++ modules 时,即使 set_default(false)
也能为测试样例生成 compile_commands
工程配置
附加信息和错误日志
❗ error: @programdir/core/main.lua:329: @programdir/rules/c++/modules/scanner.lua:899: no modules!
stack traceback:
[C]: in function 'error'
[@programdir/core/base/os.lua:1075]: in function 'raiselevel'
[@programdir/core/sandbox/modules/utils.lua:143]: in function 'assert'
[@programdir/rules/c++/modules/scanner.lua:899]: in function 'get_modules'
[@programdir/rules/c++/modules/gcc/../gcc/../builder.lua:665]:
[@programdir/modules/private/action/build/target.lua:470]: in function 'run'
[@programdir/plugins/project/utils/target_cmds.lua:72]: in function 'get_target_buildcmds'
[@programdir/plugins/project/clang/compile_commands.lua:246]: in function '_add_target_commands'
[@programdir/plugins/project/clang/compile_commands.lua:274]: in function '_add_target'
[@programdir/plugins/project/clang/compile_commands.lua:287]: in function '_add_targets'
[@programdir/plugins/project/clang/compile_commands.lua:312]: in function '?'
[@programdir/plugins/project/main.lua:75]: in function '_make'
[@programdir/plugins/project/main.lua:95]:
[C]: in function 'xpcall'
[@programdir/core/base/utils.lua:246]:
[@programdir/core/base/task.lua:504]: in function 'run'
[@programdir/core/main.lua:327]: in function 'cotask'
[@programdir/core/base/scheduler.lua:406]:
stack traceback:
[C]: in function 'error'
@programdir/core/base/os.lua:1075: in function 'os.raiselevel'
(...tail calls...)
@programdir/core/main.lua:329: in upvalue 'cotask'
@programdir/core/base/scheduler.lua:406: in function <@programdir/core/base/scheduler.lua:399>