summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2025-04-21 09:34:37 +0800
committerGitHub <[email protected]>2025-04-21 09:34:37 +0800
commit08a35dcbe4e13099fa1e343e3aae463636ec5685 (patch)
tree103f02bd9efac5d6fa9c926a1f507a1d706bc83f
parent08a71b4242c8f9f1c61bf585f6518b04e2b2de98 (diff)
parent369336f4ca9f2499258fdb8bd0f57746a961ae0a (diff)
Merge pull request #6341 from Arthapz/add-stdmodule-test
(c++ modules support) add a new tests for stdmodules
-rw-r--r--tests/projects/c++/modules/stdmodules_deps/src/bar.mpp11
-rw-r--r--tests/projects/c++/modules/stdmodules_deps/src/foo.mpp11
-rw-r--r--tests/projects/c++/modules/stdmodules_deps/src/main.cpp9
-rw-r--r--tests/projects/c++/modules/stdmodules_deps/test.lua1
-rw-r--r--tests/projects/c++/modules/stdmodules_deps/xmake.lua15
5 files changed, 47 insertions, 0 deletions
diff --git a/tests/projects/c++/modules/stdmodules_deps/src/bar.mpp b/tests/projects/c++/modules/stdmodules_deps/src/bar.mpp
new file mode 100644
index 000000000..79d91a393
--- /dev/null
+++ b/tests/projects/c++/modules/stdmodules_deps/src/bar.mpp
@@ -0,0 +1,11 @@
+export module bar;
+
+import std;
+
+export auto my_sum2(std::size_t a, std::size_t b) -> std::size_t;
+
+module :private;
+
+auto my_sum2(std::size_t a, std::size_t b) -> std::size_t {
+ return a + a + b + b;
+}
diff --git a/tests/projects/c++/modules/stdmodules_deps/src/foo.mpp b/tests/projects/c++/modules/stdmodules_deps/src/foo.mpp
new file mode 100644
index 000000000..17a3795b7
--- /dev/null
+++ b/tests/projects/c++/modules/stdmodules_deps/src/foo.mpp
@@ -0,0 +1,11 @@
+export module foo;
+
+import std;
+
+export auto my_sum(std::size_t a, std::size_t b) -> std::size_t;
+
+module :private;
+
+auto my_sum(std::size_t a, std::size_t b) -> std::size_t {
+ return a + b;
+}
diff --git a/tests/projects/c++/modules/stdmodules_deps/src/main.cpp b/tests/projects/c++/modules/stdmodules_deps/src/main.cpp
new file mode 100644
index 000000000..e40a369fa
--- /dev/null
+++ b/tests/projects/c++/modules/stdmodules_deps/src/main.cpp
@@ -0,0 +1,9 @@
+import foo;
+import bar;
+
+import std;
+
+int main() {
+ std::cout << my_sum(1, 2) << ":" << my_sum2(1, 2) << std::endl;
+ return 0;
+}
diff --git a/tests/projects/c++/modules/stdmodules_deps/test.lua b/tests/projects/c++/modules/stdmodules_deps/test.lua
new file mode 100644
index 000000000..e77adc4ae
--- /dev/null
+++ b/tests/projects/c++/modules/stdmodules_deps/test.lua
@@ -0,0 +1 @@
+inherit(".test_stdmodules")
diff --git a/tests/projects/c++/modules/stdmodules_deps/xmake.lua b/tests/projects/c++/modules/stdmodules_deps/xmake.lua
new file mode 100644
index 000000000..7ee801b8c
--- /dev/null
+++ b/tests/projects/c++/modules/stdmodules_deps/xmake.lua
@@ -0,0 +1,15 @@
+add_rules("mode.debug", "mode.release")
+set_languages("c++latest")
+
+target("foo")
+ set_kind("static")
+ add_files("src/foo.mpp", {public = true})
+
+target("bar")
+ set_kind("moduleonly")
+ add_files("src/bar.mpp")
+
+target("main")
+ set_kind("binary")
+ add_deps("foo", "bar")
+ add_files("src/main.cpp")