summaryrefslogtreecommitdiff
path: root/tests/projects/c++/modules
diff options
context:
space:
mode:
authorruki <[email protected]>2025-09-09 13:53:02 +0800
committerGitHub <[email protected]>2025-09-09 13:53:02 +0800
commite115e55c064eb6b475914989ea4d5fbaa9f4f83c (patch)
treee8f223786841a106c686d244dda6291ed4ad48ed /tests/projects/c++/modules
parent30f935da29e7e003b2cea2c26a4be59020fe1b47 (diff)
parent736bc53d54e12a508af4a4bec77049a1929984c7 (diff)
Merge pull request #6744 from Arthapz/hide-dependency-flags2
feat(C++ modules support) use a file for requires flags when --verbose or --diagnosis is supplied
Diffstat (limited to 'tests/projects/c++/modules')
-rw-r--r--tests/projects/c++/modules/hide_dependency_flags/src/bar.mpp8
-rw-r--r--tests/projects/c++/modules/hide_dependency_flags/src/cat.mpp8
-rw-r--r--tests/projects/c++/modules/hide_dependency_flags/src/foo.mpp13
-rw-r--r--tests/projects/c++/modules/hide_dependency_flags/src/main.cpp10
-rw-r--r--tests/projects/c++/modules/hide_dependency_flags/src/zoo.mpp8
-rw-r--r--tests/projects/c++/modules/hide_dependency_flags/test.lua1
-rw-r--r--tests/projects/c++/modules/hide_dependency_flags/xmake.lua7
7 files changed, 55 insertions, 0 deletions
diff --git a/tests/projects/c++/modules/hide_dependency_flags/src/bar.mpp b/tests/projects/c++/modules/hide_dependency_flags/src/bar.mpp
new file mode 100644
index 000000000..140924a85
--- /dev/null
+++ b/tests/projects/c++/modules/hide_dependency_flags/src/bar.mpp
@@ -0,0 +1,8 @@
+export module bar;
+import zoo;
+
+export namespace bar {
+ int add(int a, int b) {
+ return zoo::add(a, b);
+ }
+}
diff --git a/tests/projects/c++/modules/hide_dependency_flags/src/cat.mpp b/tests/projects/c++/modules/hide_dependency_flags/src/cat.mpp
new file mode 100644
index 000000000..652940c08
--- /dev/null
+++ b/tests/projects/c++/modules/hide_dependency_flags/src/cat.mpp
@@ -0,0 +1,8 @@
+export module cat;
+
+export namespace cat {
+ int sub(int a, int b) {
+ return a - b;
+ }
+}
+
diff --git a/tests/projects/c++/modules/hide_dependency_flags/src/foo.mpp b/tests/projects/c++/modules/hide_dependency_flags/src/foo.mpp
new file mode 100644
index 000000000..5aac74086
--- /dev/null
+++ b/tests/projects/c++/modules/hide_dependency_flags/src/foo.mpp
@@ -0,0 +1,13 @@
+export module foo;
+import bar;
+import cat;
+
+export namespace foo {
+ int add(int a, int b) {
+ return bar::add(a, b);
+ }
+ int sub(int a, int b) {
+ return cat::sub(a, b);
+ }
+}
+
diff --git a/tests/projects/c++/modules/hide_dependency_flags/src/main.cpp b/tests/projects/c++/modules/hide_dependency_flags/src/main.cpp
new file mode 100644
index 000000000..1d385dcfa
--- /dev/null
+++ b/tests/projects/c++/modules/hide_dependency_flags/src/main.cpp
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+import foo;
+
+int main(int argc, char** argv) {
+ printf("add(1, 2): %d\n", foo::add(1, 2));
+ printf("sub(1, 2): %d\n", foo::sub(1, 2));
+ return 0;
+}
+
diff --git a/tests/projects/c++/modules/hide_dependency_flags/src/zoo.mpp b/tests/projects/c++/modules/hide_dependency_flags/src/zoo.mpp
new file mode 100644
index 000000000..60c86ddf6
--- /dev/null
+++ b/tests/projects/c++/modules/hide_dependency_flags/src/zoo.mpp
@@ -0,0 +1,8 @@
+export module zoo;
+
+export namespace zoo {
+ int add(int a, int b) {
+ return a + b;
+ }
+}
+
diff --git a/tests/projects/c++/modules/hide_dependency_flags/test.lua b/tests/projects/c++/modules/hide_dependency_flags/test.lua
new file mode 100644
index 000000000..7717f8049
--- /dev/null
+++ b/tests/projects/c++/modules/hide_dependency_flags/test.lua
@@ -0,0 +1 @@
+inherit(".test_base")
diff --git a/tests/projects/c++/modules/hide_dependency_flags/xmake.lua b/tests/projects/c++/modules/hide_dependency_flags/xmake.lua
new file mode 100644
index 000000000..875146a1d
--- /dev/null
+++ b/tests/projects/c++/modules/hide_dependency_flags/xmake.lua
@@ -0,0 +1,7 @@
+add_rules("mode.release", "mode.debug")
+set_languages("c++20")
+
+target("dependence2")
+ set_kind("binary")
+ add_files("src/*.cpp", "src/*.mpp")
+ set_policy("build.c++.modules.hide_dependencies", true)