diff options
Diffstat (limited to 'tests/projects/c++/modules')
| -rw-r--r-- | tests/projects/c++/modules/hello_with_pch/test.lua | 2 | ||||
| -rw-r--r-- | tests/projects/c++/modules/test_pch.lua | 31 |
2 files changed, 32 insertions, 1 deletions
diff --git a/tests/projects/c++/modules/hello_with_pch/test.lua b/tests/projects/c++/modules/hello_with_pch/test.lua index 7717f8049..16ef46834 100644 --- a/tests/projects/c++/modules/hello_with_pch/test.lua +++ b/tests/projects/c++/modules/hello_with_pch/test.lua @@ -1 +1 @@ -inherit(".test_base") +inherit(".test_pch") diff --git a/tests/projects/c++/modules/test_pch.lua b/tests/projects/c++/modules/test_pch.lua new file mode 100644 index 000000000..98286c229 --- /dev/null +++ b/tests/projects/c++/modules/test_pch.lua @@ -0,0 +1,31 @@ +import("lib.detect.find_tool") +import("core.base.semver") +import("detect.sdks.find_vstudio") +import("utils.ci.is_running", {alias = "ci_is_running"}) + +function _build() + if ci_is_running() then + os.run("xmake -rvD") + else + os.run("xmake -r") + end + local outdata = os.iorun("xmake") + if outdata then + if outdata:find("compiling") or outdata:find("linking") or outdata:find("generating") then + raise("Modules incremental compilation does not work\n%s", outdata) + end + end +end + +function main(t) + -- TODO c++ modules with pch does not work for gcc now. + if is_host("linux") then + local clang = find_tool("clang", {version = true}) + if clang then + os.exec("xmake f --toolchain=clang -c --yes --policies=build.c++.modules.std:n,build.c++.clang.fallbackscanner") + _build() + end + else + _build() + end +end |
