summaryrefslogtreecommitdiff
path: root/xmake/rules/c++/modules/modules_support
diff options
context:
space:
mode:
authorstar9029 <[email protected]>2025-03-01 21:21:10 +0800
committerstar9029 <[email protected]>2025-03-01 21:21:10 +0800
commit71d9ffe82a95e9965fe0c15aaac627fe0f8d323c (patch)
treee5e96221a9a190b1740738cad9f6574a4c26dc61 /xmake/rules/c++/modules/modules_support
parent7891b045d299686fe743bcdd3aea90eb85c2ce87 (diff)
fix load msvc envs
Diffstat (limited to 'xmake/rules/c++/modules/modules_support')
-rw-r--r--xmake/rules/c++/modules/modules_support/clang/compiler_support.lua5
1 files changed, 1 insertions, 4 deletions
diff --git a/xmake/rules/c++/modules/modules_support/clang/compiler_support.lua b/xmake/rules/c++/modules/modules_support/clang/compiler_support.lua
index 66714089f..0bfd39224 100644
--- a/xmake/rules/c++/modules/modules_support/clang/compiler_support.lua
+++ b/xmake/rules/c++/modules/modules_support/clang/compiler_support.lua
@@ -289,14 +289,11 @@ function get_stdmodules(target)
-- msstl std module file is not compatible with llvm <= 19
local toolchain = target:toolchain("clang") or target:toolchain("clang-cl")
local msvc = import("core.tool.toolchain", {anonymous = true}).load("msvc", {plat = toolchain:plat(), arch = toolchain:arch()})
- if msvc then
+ if msvc and msvc:check() then
local vcvars = msvc:config("vcvars")
if vcvars.VCInstallDir and vcvars.VCToolsVersion then
- modules = {}
-
local stdmodulesdir = path.join(vcvars.VCInstallDir, "Tools", "MSVC", vcvars.VCToolsVersion, "modules")
assert(stdmodulesdir, "Can't enable C++23 std modules, directory missing !")
-
return {path.join(stdmodulesdir, "std.ixx"), path.join(stdmodulesdir, "std.compat.ixx")}
end
end