summaryrefslogtreecommitdiff
path: root/xmake/rules/c++/modules/modules_support
diff options
context:
space:
mode:
authorArthur LAURENT <[email protected]>2022-08-06 23:49:02 +0200
committerArthur LAURENT <[email protected]>2022-08-06 23:49:34 +0200
commitdfbb0c6a93a76a1777682a485be3791a7cd6bd5c (patch)
tree8d3cf15cc6081cbbca4d9d8e4fe397db8066ce83 /xmake/rules/c++/modules/modules_support
parent57ac4f46f10e8525d4a5dec0e6c4c19f1ac35ab7 (diff)
Add missing C++ header and support experimental/
Diffstat (limited to 'xmake/rules/c++/modules/modules_support')
-rw-r--r--xmake/rules/c++/modules/modules_support/common.lua1
-rw-r--r--xmake/rules/c++/modules/modules_support/msvc.lua2
-rw-r--r--xmake/rules/c++/modules/modules_support/stl_headers.lua5
3 files changed, 7 insertions, 1 deletions
diff --git a/xmake/rules/c++/modules/modules_support/common.lua b/xmake/rules/c++/modules/modules_support/common.lua
index e5c8285b5..bd1603876 100644
--- a/xmake/rules/c++/modules/modules_support/common.lua
+++ b/xmake/rules/c++/modules/modules_support/common.lua
@@ -44,6 +44,7 @@ function stlmodules_cachedir(target)
local stlcachedir = path.join(config.buildir(), "stlmodules", "cache")
if not os.isdir(stlcachedir) then
os.mkdir(stlcachedir)
+ os.mkdir(path.join(stlcachedir, "experimental"))
end
return stlcachedir
end
diff --git a/xmake/rules/c++/modules/modules_support/msvc.lua b/xmake/rules/c++/modules/modules_support/msvc.lua
index dc6739724..d0a5ec08b 100644
--- a/xmake/rules/c++/modules/modules_support/msvc.lua
+++ b/xmake/rules/c++/modules/modules_support/msvc.lua
@@ -170,7 +170,7 @@ function generate_stl_headerunits_for_batchcmds(target, batchcmds, headerunits,
batchcmds:show_progress(opt.progress, "${color.build.object}generating.cxx.headerunit.bmi %s", headerunit.name)
batchcmds:vrunv(compinst:program(), table.join(compinst:compflags({target = target}), args), {envs = vcvars})
- _add_module_to_mapper(mapper_file, headerunitflag .. ":angle", headerunit.name .. "=" .. headerunit.name .. get_bmi_extension())
+ _add_module_to_mapper(mapper_file, headerunitflag .. ":angle", headerunit.name .. "=" .. path.filename(headerunit.name) .. get_bmi_extension())
end
depmtime = math.max(depmtime, os.mtime(bmifile))
end
diff --git a/xmake/rules/c++/modules/modules_support/stl_headers.lua b/xmake/rules/c++/modules/modules_support/stl_headers.lua
index 849184ee5..599e2830c 100644
--- a/xmake/rules/c++/modules/modules_support/stl_headers.lua
+++ b/xmake/rules/c++/modules/modules_support/stl_headers.lua
@@ -103,6 +103,7 @@ function _stl_headers()
"type_traits",
"string_view",
"stdexcept",
+ "condition_variable",
"print",
"flat_map",
"flat_set",
@@ -127,6 +128,7 @@ function _stl_headers()
"cwctype",
"cfenv",
"cmath",
+ "ctime",
"clocale",
"cstdio"}
end
@@ -143,6 +145,9 @@ end
-- is stl header?
function is_stl_header(header)
+ if header:startswith("experimental/") then
+ header = header:sub(14, -1)
+ end
return get_stl_headers():has(header)
end