diff options
| author | ruki <[email protected]> | 2025-03-07 09:45:09 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-03-07 09:45:09 +0800 |
| commit | 0e5beb5bed3ec5126245b64264c7ca5c1829c9fa (patch) | |
| tree | cc1ea8a66083eaf1a63818b1cc5d22dbdc781df0 | |
| parent | cd0d9331b49b98ab19ceaffffad231e3ba6680e5 (diff) | |
Update compiler_support.lua
| -rw-r--r-- | xmake/rules/c++/modules/modules_support/clang/compiler_support.lua | 9 |
1 files changed, 6 insertions, 3 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 0bfd39224..01c559f2e 100644 --- a/xmake/rules/c++/modules/modules_support/clang/compiler_support.lua +++ b/xmake/rules/c++/modules/modules_support/clang/compiler_support.lua @@ -280,7 +280,9 @@ function get_stdmodules(target) if not path.is_absolute(std_module_directory) then std_module_directory = path.join(path.directory(modules_json_path), std_module_directory) end - return {path.join(std_module_directory, "std.cppm"), path.join(std_module_directory, "std.compat.cppm")} + if os.isdir(std_module_directory) then + return {path.join(std_module_directory, "std.cppm"), path.join(std_module_directory, "std.compat.cppm")} + end end end elseif cpplib == "stdc++" then @@ -293,8 +295,9 @@ function get_stdmodules(target) local vcvars = msvc:config("vcvars") if vcvars.VCInstallDir and vcvars.VCToolsVersion then 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")} + if os.isdir(stdmodulesdir) then + return {path.join(stdmodulesdir, "std.ixx"), path.join(stdmodulesdir, "std.compat.ixx")} + end end end end |
