summaryrefslogtreecommitdiff
path: root/xmake/plugins/project
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/plugins/project')
-rw-r--r--xmake/plugins/project/clang/compile_commands.lua11
-rw-r--r--xmake/plugins/project/ninja/build_ninja.lua3
-rw-r--r--xmake/plugins/project/utils/target_cmds.lua3
3 files changed, 12 insertions, 5 deletions
diff --git a/xmake/plugins/project/clang/compile_commands.lua b/xmake/plugins/project/clang/compile_commands.lua
index 2f25194cc..a8fdb547f 100644
--- a/xmake/plugins/project/clang/compile_commands.lua
+++ b/xmake/plugins/project/clang/compile_commands.lua
@@ -69,10 +69,13 @@ end
-- specify windows sdk verison
function _get_windows_sdk_arguments(target)
local args = {}
- local msvc = target:toolchain("msvc")
- if msvc then
- local envs = msvc:runenvs()
- if envs then
+ if target and target:is_plat("windows") then
+ local toolchain = target:toolchain("msvc") or
+ target:toolchain("clang-cl") or
+ target:toolchain("clang") or
+ target:toolchain("llvm")
+ local envs = toolchain and toolchain:runenvs()
+ if envs and envs.INCLUDE then
for _, dir in ipairs(path.splitenv(envs.INCLUDE)) do
table.insert(args, "-imsvc")
table.insert(args, dir)
diff --git a/xmake/plugins/project/ninja/build_ninja.lua b/xmake/plugins/project/ninja/build_ninja.lua
index f89915e02..bd9a3d292 100644
--- a/xmake/plugins/project/ninja/build_ninja.lua
+++ b/xmake/plugins/project/ninja/build_ninja.lua
@@ -37,7 +37,8 @@ function _sourcebatch_is_built(sourcebatch)
local rulename = sourcebatch.rulename
if rulename == "c.build" or rulename == "c++.build"
or rulename == "asm.build" or rulename == "cuda.build"
- or rulename == "objc.build" or rulename == "objc++.build" then
+ or rulename == "objc.build" or rulename == "objc++.build"
+ or rulename == "win.sdk.resource" then
return true
end
end
diff --git a/xmake/plugins/project/utils/target_cmds.lua b/xmake/plugins/project/utils/target_cmds.lua
index 7ea3a13a0..1c5fed7c8 100644
--- a/xmake/plugins/project/utils/target_cmds.lua
+++ b/xmake/plugins/project/utils/target_cmds.lua
@@ -87,6 +87,9 @@ function get_target_buildcmds(target, opt)
cmd.program = os.programfile()
cmd.argv = table.join("lua", cmd.script, cmd.argv)
cmd.script = nil
+ elseif cmd.func and kind == "call" then
+ local name = cmd.opt and cmd.opt.name or "unknown"
+ wprint("%s: batchcmds:call() is not supported by the project generator and will be ignored!", name)
end
end
return buildcmds:cmds()