summaryrefslogtreecommitdiff
path: root/tests/projects/c++/modules/staticlib2
diff options
context:
space:
mode:
authorArthur LAURENT <[email protected]>2024-07-22 18:25:35 +0200
committerArthur LAURENT <[email protected]>2024-07-22 18:25:35 +0200
commit6bc66f276570973aced27afc6dd56cc6ce5b2d3b (patch)
tree14e5d4f6b987e3e07063a3420b5cc25c61f59f55 /tests/projects/c++/modules/staticlib2
parentaf19722ebd25a7c96b3e3b042e4e48cb690b5e63 (diff)
add staticlib2 test
Diffstat (limited to 'tests/projects/c++/modules/staticlib2')
-rw-r--r--tests/projects/c++/modules/staticlib2/src/bar.cpp8
-rw-r--r--tests/projects/c++/modules/staticlib2/src/bar.mpp6
-rw-r--r--tests/projects/c++/modules/staticlib2/src/foo.cpp10
-rw-r--r--tests/projects/c++/modules/staticlib2/src/foo.mpp6
-rw-r--r--tests/projects/c++/modules/staticlib2/src/main.cpp8
-rw-r--r--tests/projects/c++/modules/staticlib2/test.lua1
-rw-r--r--tests/projects/c++/modules/staticlib2/xmake.lua18
7 files changed, 57 insertions, 0 deletions
diff --git a/tests/projects/c++/modules/staticlib2/src/bar.cpp b/tests/projects/c++/modules/staticlib2/src/bar.cpp
new file mode 100644
index 000000000..0b5385096
--- /dev/null
+++ b/tests/projects/c++/modules/staticlib2/src/bar.cpp
@@ -0,0 +1,8 @@
+module bar;
+
+namespace bar {
+ int hello() {
+ return 2;
+ }
+}
+
diff --git a/tests/projects/c++/modules/staticlib2/src/bar.mpp b/tests/projects/c++/modules/staticlib2/src/bar.mpp
new file mode 100644
index 000000000..df67d52f0
--- /dev/null
+++ b/tests/projects/c++/modules/staticlib2/src/bar.mpp
@@ -0,0 +1,6 @@
+export module bar;
+
+export namespace bar {
+ int hello();
+}
+
diff --git a/tests/projects/c++/modules/staticlib2/src/foo.cpp b/tests/projects/c++/modules/staticlib2/src/foo.cpp
new file mode 100644
index 000000000..254371283
--- /dev/null
+++ b/tests/projects/c++/modules/staticlib2/src/foo.cpp
@@ -0,0 +1,10 @@
+module foo;
+
+import bar;
+
+namespace foo {
+ int hello() {
+ return bar::hello();
+ }
+}
+
diff --git a/tests/projects/c++/modules/staticlib2/src/foo.mpp b/tests/projects/c++/modules/staticlib2/src/foo.mpp
new file mode 100644
index 000000000..2f85bb9fe
--- /dev/null
+++ b/tests/projects/c++/modules/staticlib2/src/foo.mpp
@@ -0,0 +1,6 @@
+export module foo;
+
+export namespace foo {
+ int hello();
+}
+
diff --git a/tests/projects/c++/modules/staticlib2/src/main.cpp b/tests/projects/c++/modules/staticlib2/src/main.cpp
new file mode 100644
index 000000000..69e91b126
--- /dev/null
+++ b/tests/projects/c++/modules/staticlib2/src/main.cpp
@@ -0,0 +1,8 @@
+#include <stdio.h>
+import foo;
+
+int main() {
+ printf("%d\n", foo::hello());
+ return 0;
+}
+
diff --git a/tests/projects/c++/modules/staticlib2/test.lua b/tests/projects/c++/modules/staticlib2/test.lua
new file mode 100644
index 000000000..7717f8049
--- /dev/null
+++ b/tests/projects/c++/modules/staticlib2/test.lua
@@ -0,0 +1 @@
+inherit(".test_base")
diff --git a/tests/projects/c++/modules/staticlib2/xmake.lua b/tests/projects/c++/modules/staticlib2/xmake.lua
new file mode 100644
index 000000000..64f0c4b05
--- /dev/null
+++ b/tests/projects/c++/modules/staticlib2/xmake.lua
@@ -0,0 +1,18 @@
+add_rules("mode.release", "mode.debug")
+set_languages("c++20")
+
+target("bar")
+ set_kind("static")
+ add_files("src/bar.mpp", {public = true})
+ add_files("src/bar.cpp")
+
+target("foo")
+ set_kind("static")
+ add_deps("bar")
+ add_files("src/foo.mpp", {public = true})
+ add_files("src/foo.cpp")
+
+target("hello")
+ set_kind("binary")
+ add_deps("foo")
+ add_files("src/main.cpp")