Skip to content

Commit 2443dcf

Browse files
authored
Merge pull request #6106 from xmake-io/ninja
add clang-cl for ninja #6052
2 parents debf039 + e2fb624 commit 2443dcf

File tree

1 file changed

+21
-10
lines changed

1 file changed

+21
-10
lines changed

xmake/plugins/project/ninja/build_ninja.lua

+21-10
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,15 @@ function _add_rules_for_compiler_clang(ninjafile, sourcekind, program)
147147
return _add_rules_for_compiler_gcc(ninjafile, sourcekind, program)
148148
end
149149

150+
-- add rules for complier (clang-cl)
151+
function _add_rules_for_compiler_clang_cl(ninjafile, sourcekind, program)
152+
ninjafile:print("rule %s", sourcekind)
153+
ninjafile:print(" command = %s -showIncludes -c $ARGS $in -Fo$out", program)
154+
ninjafile:print(" deps = msvc")
155+
ninjafile:print(" description = compiling.%s $in", config.mode())
156+
ninjafile:print("")
157+
end
158+
150159
-- add rules for complier (msvc/cl)
151160
function _add_rules_for_compiler_msvc_cl(ninjafile, sourcekind, program)
152161
ninjafile:print("rule %s", sourcekind)
@@ -203,16 +212,17 @@ function _add_rules_for_compiler(ninjafile)
203212
end
204213
local add_compiler_rules =
205214
{
206-
gcc = _add_rules_for_compiler_gcc,
207-
gxx = _add_rules_for_compiler_gcc,
208-
clang = _add_rules_for_compiler_clang,
209-
clangxx = _add_rules_for_compiler_clang,
210-
cl = _add_rules_for_compiler_msvc_cl,
211-
ml = _add_rules_for_compiler_msvc_ml,
212-
ml64 = _add_rules_for_compiler_msvc_ml,
213-
rc = _add_rules_for_compiler_msvc_rc,
214-
windres = _add_rules_for_compiler_windres,
215-
nvcc = _add_rules_for_compiler_nvcc
215+
gcc = _add_rules_for_compiler_gcc,
216+
gxx = _add_rules_for_compiler_gcc,
217+
clang = _add_rules_for_compiler_clang,
218+
clangxx = _add_rules_for_compiler_clang,
219+
cl = _add_rules_for_compiler_msvc_cl,
220+
clang_cl = _add_rules_for_compiler_clang_cl,
221+
ml = _add_rules_for_compiler_msvc_ml,
222+
ml64 = _add_rules_for_compiler_msvc_ml,
223+
rc = _add_rules_for_compiler_msvc_rc,
224+
windres = _add_rules_for_compiler_windres,
225+
nvcc = _add_rules_for_compiler_nvcc
216226
}
217227
for sourcekind, _ in pairs(language.sourcekinds()) do
218228
local program, toolname = platform.tool(sourcekind)
@@ -468,3 +478,4 @@ function make(outputdir)
468478
-- leave project directory
469479
os.cd(oldir)
470480
end
481+

0 commit comments

Comments
 (0)