diff options
| author | ruki <[email protected]> | 2025-01-22 23:56:47 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-01-22 23:56:47 +0800 |
| commit | e2fb624bbd7532ab3223f4fa40beadbe790f5c01 (patch) | |
| tree | 1abb6d87fb671dc5d79987c812f0a025c7f8900c | |
| parent | debf039fb2d0fcdb53d56fcd9d2bcbb52eadc49d (diff) | |
add clang-cl for ninja #6052
| -rw-r--r-- | xmake/plugins/project/ninja/build_ninja.lua | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/xmake/plugins/project/ninja/build_ninja.lua b/xmake/plugins/project/ninja/build_ninja.lua index 94d6495ef..7a9ce3998 100644 --- a/xmake/plugins/project/ninja/build_ninja.lua +++ b/xmake/plugins/project/ninja/build_ninja.lua @@ -147,6 +147,15 @@ function _add_rules_for_compiler_clang(ninjafile, sourcekind, program) return _add_rules_for_compiler_gcc(ninjafile, sourcekind, program) end +-- add rules for complier (clang-cl) +function _add_rules_for_compiler_clang_cl(ninjafile, sourcekind, program) + ninjafile:print("rule %s", sourcekind) + ninjafile:print(" command = %s -showIncludes -c $ARGS $in -Fo$out", program) + ninjafile:print(" deps = msvc") + ninjafile:print(" description = compiling.%s $in", config.mode()) + ninjafile:print("") +end + -- add rules for complier (msvc/cl) function _add_rules_for_compiler_msvc_cl(ninjafile, sourcekind, program) ninjafile:print("rule %s", sourcekind) @@ -203,16 +212,17 @@ function _add_rules_for_compiler(ninjafile) end local add_compiler_rules = { - gcc = _add_rules_for_compiler_gcc, - gxx = _add_rules_for_compiler_gcc, - clang = _add_rules_for_compiler_clang, - clangxx = _add_rules_for_compiler_clang, - cl = _add_rules_for_compiler_msvc_cl, - ml = _add_rules_for_compiler_msvc_ml, - ml64 = _add_rules_for_compiler_msvc_ml, - rc = _add_rules_for_compiler_msvc_rc, - windres = _add_rules_for_compiler_windres, - nvcc = _add_rules_for_compiler_nvcc + gcc = _add_rules_for_compiler_gcc, + gxx = _add_rules_for_compiler_gcc, + clang = _add_rules_for_compiler_clang, + clangxx = _add_rules_for_compiler_clang, + cl = _add_rules_for_compiler_msvc_cl, + clang_cl = _add_rules_for_compiler_clang_cl, + ml = _add_rules_for_compiler_msvc_ml, + ml64 = _add_rules_for_compiler_msvc_ml, + rc = _add_rules_for_compiler_msvc_rc, + windres = _add_rules_for_compiler_windres, + nvcc = _add_rules_for_compiler_nvcc } for sourcekind, _ in pairs(language.sourcekinds()) do local program, toolname = platform.tool(sourcekind) @@ -468,3 +478,4 @@ function make(outputdir) -- leave project directory os.cd(oldir) end + |
