summaryrefslogtreecommitdiff
path: root/tests/projects/c++/modules/stdmodules
diff options
context:
space:
mode:
authorruki <[email protected]>2022-11-03 22:52:10 +0800
committerruki <[email protected]>2022-11-03 13:06:03 +0800
commitf2ea9f6021fcb21ad0f8fc42d3bc78a3ae7d2283 (patch)
tree753bf9e75b590e4e66a02496051b11f3d046add9 /tests/projects/c++/modules/stdmodules
parentf95014b8e8c6e32471cf8bfa97988519dac25950 (diff)
improve clang to support std modules
Diffstat (limited to 'tests/projects/c++/modules/stdmodules')
-rw-r--r--tests/projects/c++/modules/stdmodules/.gitignore8
-rw-r--r--tests/projects/c++/modules/stdmodules/src/my_module.cpp5
-rw-r--r--tests/projects/c++/modules/stdmodules/src/my_module.mpp5
-rw-r--r--tests/projects/c++/modules/stdmodules/test/test.cpp10
-rw-r--r--tests/projects/c++/modules/stdmodules/xmake.lua15
-rw-r--r--tests/projects/c++/modules/stdmodules/xonga.cpp2
6 files changed, 45 insertions, 0 deletions
diff --git a/tests/projects/c++/modules/stdmodules/.gitignore b/tests/projects/c++/modules/stdmodules/.gitignore
new file mode 100644
index 000000000..152105761
--- /dev/null
+++ b/tests/projects/c++/modules/stdmodules/.gitignore
@@ -0,0 +1,8 @@
+# Xmake cache
+.xmake/
+build/
+
+# MacOS Cache
+.DS_Store
+
+
diff --git a/tests/projects/c++/modules/stdmodules/src/my_module.cpp b/tests/projects/c++/modules/stdmodules/src/my_module.cpp
new file mode 100644
index 000000000..829be43e3
--- /dev/null
+++ b/tests/projects/c++/modules/stdmodules/src/my_module.cpp
@@ -0,0 +1,5 @@
+module my_module;
+
+import std;
+
+auto my_sum(size_t a, size_t b) -> size_t { return a + b; } \ No newline at end of file
diff --git a/tests/projects/c++/modules/stdmodules/src/my_module.mpp b/tests/projects/c++/modules/stdmodules/src/my_module.mpp
new file mode 100644
index 000000000..196b33381
--- /dev/null
+++ b/tests/projects/c++/modules/stdmodules/src/my_module.mpp
@@ -0,0 +1,5 @@
+export module my_module;
+
+import std;
+
+export auto my_sum(size_t a, size_t b) -> size_t; \ No newline at end of file
diff --git a/tests/projects/c++/modules/stdmodules/test/test.cpp b/tests/projects/c++/modules/stdmodules/test/test.cpp
new file mode 100644
index 000000000..c23ef7efa
--- /dev/null
+++ b/tests/projects/c++/modules/stdmodules/test/test.cpp
@@ -0,0 +1,10 @@
+// Copyright 2022 Ângelo Andrade Cirino
+
+#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
+#include <doctest/doctest.h>
+
+import std;
+
+import my_module;
+
+TEST_CASE("Test sum") { CHECK(my_sum(1, 1) == 2); }
diff --git a/tests/projects/c++/modules/stdmodules/xmake.lua b/tests/projects/c++/modules/stdmodules/xmake.lua
new file mode 100644
index 000000000..e62141e28
--- /dev/null
+++ b/tests/projects/c++/modules/stdmodules/xmake.lua
@@ -0,0 +1,15 @@
+add_rules("mode.debug", "mode.release")
+set_languages("c++20")
+
+add_requires("doctest", { alias = "doctest" })
+
+add_cxxflags("-stdlib=libc++")
+target("trouble")
+ set_kind("shared")
+ add_files("src/*.cpp", "src/*.mpp")
+
+target("test")
+ set_kind("binary")
+ add_files("test/*.cpp")
+ add_deps("trouble")
+ add_packages("doctest")
diff --git a/tests/projects/c++/modules/stdmodules/xonga.cpp b/tests/projects/c++/modules/stdmodules/xonga.cpp
new file mode 100644
index 000000000..bb6a32b1b
--- /dev/null
+++ b/tests/projects/c++/modules/stdmodules/xonga.cpp
@@ -0,0 +1,2 @@
+#include <version>
+