diff options
Diffstat (limited to 'tests/projects/c++/modules')
6 files changed, 54 insertions, 1 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..5264da821 --- /dev/null +++ b/tests/projects/c++/modules/stdmodules/src/my_module.cpp @@ -0,0 +1,9 @@ +module my_module; + +#ifdef _MSC_VER +import std.core; +#else +import std; +#endif + +auto my_sum(size_t a, size_t b) -> size_t { return a + b; } 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..5c0e44bc9 --- /dev/null +++ b/tests/projects/c++/modules/stdmodules/src/my_module.mpp @@ -0,0 +1,9 @@ +export module my_module; + +#ifdef _MSC_VER +import std.core; +#else +import std; +#endif + +export auto my_sum(size_t a, size_t b) -> size_t; 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..a12813c24 --- /dev/null +++ b/tests/projects/c++/modules/stdmodules/test/test.cpp @@ -0,0 +1,13 @@ +#ifdef _MSC_VER +import std.core; +#else +import std; +#endif + +import my_module; + +using namespace std; + +int main(int argc, char** argv) { + cout << my_sum(1, 1) << endl; +} diff --git a/tests/projects/c++/modules/stdmodules/xmake.lua b/tests/projects/c++/modules/stdmodules/xmake.lua new file mode 100644 index 000000000..ffe2d015b --- /dev/null +++ b/tests/projects/c++/modules/stdmodules/xmake.lua @@ -0,0 +1,13 @@ +add_rules("mode.debug", "mode.release") +set_languages("c++20") + +add_cxxflags("clang::-stdlib=libc++") + +target("mod") + set_kind("shared") + add_files("src/*.cpp", "src/*.mpp") + +target("test") + set_kind("binary") + add_files("test/*.cpp") + add_deps("mod") diff --git a/tests/projects/c++/modules/user_headerunit/src/hello.mpp b/tests/projects/c++/modules/user_headerunit/src/hello.mpp index 5b2f434ad..f2e4022f7 100644 --- a/tests/projects/c++/modules/user_headerunit/src/hello.mpp +++ b/tests/projects/c++/modules/user_headerunit/src/hello.mpp @@ -1,10 +1,11 @@ module; #include <cstdio> +import "header.hpp"; export module hello; export namespace hello { void say(const char *arg) { - printf("%s\n", arg); + printf("%s: %s\n", FOO, arg); } } |
