summaryrefslogtreecommitdiff
path: root/xmake/rules/c++/modules/clang/builder.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2025-05-22 22:05:30 +0800
committerGitHub <[email protected]>2025-05-22 22:05:30 +0800
commit9d6f52f4eda17ce1dfe69b86a6fa990d75a4a653 (patch)
treea925ea8271178b9e93da13e7b01e47884a4a2154 /xmake/rules/c++/modules/clang/builder.lua
parentd558ace9f0d9daa3c51d3ac6b56147a67e995149 (diff)
parent481ada9f541be6754801d36bd03c84e7b8665b58 (diff)
Merge pull request #6477 from Arthapz/fix-clang-cl-modules
(C++ modules support) fix clang cl module support
Diffstat (limited to 'xmake/rules/c++/modules/clang/builder.lua')
-rw-r--r--xmake/rules/c++/modules/clang/builder.lua4
1 files changed, 3 insertions, 1 deletions
diff --git a/xmake/rules/c++/modules/clang/builder.lua b/xmake/rules/c++/modules/clang/builder.lua
index 797167283..17189b790 100644
--- a/xmake/rules/c++/modules/clang/builder.lua
+++ b/xmake/rules/c++/modules/clang/builder.lua
@@ -40,6 +40,9 @@ function _make_modulebuildflags(target, module, opt)
flags = {"-x", "c++-module"}
if not opt.objectfile then
table.insert(flags, "--precompile")
+ if target:has_tool("cxx", "clang_cl") then
+ table.join2(flags, "/clang:-o", "/clang:" .. module.bmifile)
+ end
end
local std = (module.name == "std" or module.name == "std.compat")
if std then
@@ -182,7 +185,6 @@ function _get_requiresflags(target, module)
end
end
requiresflags = table.unique(requiresflags)
- -- table.sort(requiresflags)
support.memcache():set2(cachekey, "requiresflags", requiresflags)
support.memcache():set2(cachekey, "oldrequires", requires)
end