summaryrefslogtreecommitdiff
path: root/tests/projects/c++/modules/dependency_flag_update2
diff options
context:
space:
mode:
Diffstat (limited to 'tests/projects/c++/modules/dependency_flag_update2')
-rw-r--r--tests/projects/c++/modules/dependency_flag_update2/src/bar.mpp9
-rw-r--r--tests/projects/c++/modules/dependency_flag_update2/src/foo.mpp9
-rw-r--r--tests/projects/c++/modules/dependency_flag_update2/src/foobar.mpp11
-rw-r--r--tests/projects/c++/modules/dependency_flag_update2/src/main.cpp6
-rw-r--r--tests/projects/c++/modules/dependency_flag_update2/test.lua1
-rw-r--r--tests/projects/c++/modules/dependency_flag_update2/xmake.lua12
6 files changed, 48 insertions, 0 deletions
diff --git a/tests/projects/c++/modules/dependency_flag_update2/src/bar.mpp b/tests/projects/c++/modules/dependency_flag_update2/src/bar.mpp
new file mode 100644
index 000000000..812572d69
--- /dev/null
+++ b/tests/projects/c++/modules/dependency_flag_update2/src/bar.mpp
@@ -0,0 +1,9 @@
+module;
+
+#include <iostream>
+
+export module bar;
+
+namespace bar {
+export void hello() { std::cout << "Hello world2" << std::endl; }
+} // namespace bar
diff --git a/tests/projects/c++/modules/dependency_flag_update2/src/foo.mpp b/tests/projects/c++/modules/dependency_flag_update2/src/foo.mpp
new file mode 100644
index 000000000..904d3805e
--- /dev/null
+++ b/tests/projects/c++/modules/dependency_flag_update2/src/foo.mpp
@@ -0,0 +1,9 @@
+module;
+
+#include <iostream>
+
+export module foo;
+
+namespace foo {
+export void hello() { std::cout << "Hello world" << std::endl; }
+} // namespace foo
diff --git a/tests/projects/c++/modules/dependency_flag_update2/src/foobar.mpp b/tests/projects/c++/modules/dependency_flag_update2/src/foobar.mpp
new file mode 100644
index 000000000..1a5fd39ca
--- /dev/null
+++ b/tests/projects/c++/modules/dependency_flag_update2/src/foobar.mpp
@@ -0,0 +1,11 @@
+export module foobar;
+
+#if defined(FOO)
+import foo;
+namespace impl = foo;
+#else
+import bar;
+namespace impl = bar;
+#endif
+
+export void hello() { impl::hello(); }
diff --git a/tests/projects/c++/modules/dependency_flag_update2/src/main.cpp b/tests/projects/c++/modules/dependency_flag_update2/src/main.cpp
new file mode 100644
index 000000000..d34cba080
--- /dev/null
+++ b/tests/projects/c++/modules/dependency_flag_update2/src/main.cpp
@@ -0,0 +1,6 @@
+import foobar;
+
+int main() {
+ hello();
+ return 0;
+}
diff --git a/tests/projects/c++/modules/dependency_flag_update2/test.lua b/tests/projects/c++/modules/dependency_flag_update2/test.lua
new file mode 100644
index 000000000..16312f26a
--- /dev/null
+++ b/tests/projects/c++/modules/dependency_flag_update2/test.lua
@@ -0,0 +1 @@
+inherit(".test_dependency_scanner")
diff --git a/tests/projects/c++/modules/dependency_flag_update2/xmake.lua b/tests/projects/c++/modules/dependency_flag_update2/xmake.lua
new file mode 100644
index 000000000..819ef7263
--- /dev/null
+++ b/tests/projects/c++/modules/dependency_flag_update2/xmake.lua
@@ -0,0 +1,12 @@
+add_rules("mode.release", "mode.debug")
+set_languages("c++20")
+
+option("foo")
+ set_default("true")
+ add_defines("FOO")
+
+target("dependency_flag_update3")
+ set_kind("binary")
+ add_files("src/*.cpp", "src/*.mpp")
+ add_options("foo")
+