summaryrefslogtreecommitdiff
path: root/tests/projects/c++/modules/test_stdmodules.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2024-02-02 09:50:14 +0800
committerGitHub <[email protected]>2024-02-02 09:50:14 +0800
commitb81eed59a532fdb69f8ef8533cf5b9ae22c381d8 (patch)
treea6dc890de365cb05bbc4b3d46ed2e909dc4069e4 /tests/projects/c++/modules/test_stdmodules.lua
parent5c31fdb50c3230db5dd259d97285a8ac9e0fdf0c (diff)
parentb1005e8b51783d6ae0d997345dc365b7b6e3cbdf (diff)
Merge pull request #4321 from Arthapz/improve-modules-support
Refactor modules support
Diffstat (limited to 'tests/projects/c++/modules/test_stdmodules.lua')
-rw-r--r--tests/projects/c++/modules/test_stdmodules.lua32
1 files changed, 23 insertions, 9 deletions
diff --git a/tests/projects/c++/modules/test_stdmodules.lua b/tests/projects/c++/modules/test_stdmodules.lua
index 360a56cbc..222ec9458 100644
--- a/tests/projects/c++/modules/test_stdmodules.lua
+++ b/tests/projects/c++/modules/test_stdmodules.lua
@@ -13,33 +13,47 @@ end
function main(t)
if is_subhost("windows") then
+ -- local clang = find_tool("clang", {version = true})
+ -- if clang and clang.version and semver.compare(clang.version, "18.0") >= 0 then
+ -- os.exec("xmake f --toolchain=clang -c --yes")
+ -- _build()
+ -- clang don't support libc++ std modules atm
+ -- os.exec("xmake clean -a")
+ -- os.exec("xmake f --toolchain=clang --runtimes=c++_shared -c --yes")
+ -- _build()
+ -- end
local msvc = toolchain.load("msvc")
if msvc and msvc:check() then
local vcvars = msvc:config("vcvars")
if vcvars and vcvars.VCInstallDir and vcvars.VCToolsVersion and semver.compare(vcvars.VCToolsVersion, "14.35") then
local stdmodulesdir = path.join(vcvars.VCInstallDir, "Tools", "MSVC", vcvars.VCToolsVersion, "modules")
if os.isdir(stdmodulesdir) then
- os.exec("xmake f -c")
+ os.exec("xmake clean -a")
+ os.exec("xmake f -c --yes")
_build()
end
end
end
+ elseif is_subhost("msys") then
+ -- os.exec("xmake f -c -p mingw --yes")
+ -- _build()
elseif is_host("linux") then -- or is_host("macosx") then
-- gcc don't support std modules atm
-- local gcc = find_tool("gcc", {version = true})
-- if is_host("linux") and gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then
- -- os.exec("xmake f -c")
+ -- os.exec("xmake f -c --yes")
-- _build()
-- end
- local clang = find_tool("clang", {version = true})
- if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then
+ -- local clang = find_tool("clang", {version = true})
+ -- if clang and clang.version and semver.compare(clang.version, "18.0") >= 0 then
-- clang don't support libstdc++ std modules atm
-- os.exec("xmake clean -a")
- -- os.exec("xmake f --toolchain=clang -c")
+ -- os.exec("xmake f --toolchain=clang -c --yes")
-- _build()
- os.exec("xmake clean -a")
- os.exec("xmake f --toolchain=clang --cxxflags=\"-stdlib=libc++\" -c")
- _build()
- end
+ -- clang don't support libc++ std modules atm
+ -- os.exec("xmake clean -a")
+ -- os.exec("xmake f --toolchain=clang --runtimes=c++_shared -c --yes")
+ -- _build()
+ -- end
end
end