From 369336f4ca9f2499258fdb8bd0f57746a961ae0a Mon Sep 17 00:00:00 2001 From: Arthur LAURENT Date: Sun, 20 Apr 2025 17:31:30 +0200 Subject: (c++ modules support) add a new tests for stdmodules --- tests/projects/c++/modules/stdmodules_deps/src/bar.mpp | 11 +++++++++++ tests/projects/c++/modules/stdmodules_deps/src/foo.mpp | 11 +++++++++++ tests/projects/c++/modules/stdmodules_deps/src/main.cpp | 9 +++++++++ tests/projects/c++/modules/stdmodules_deps/test.lua | 1 + tests/projects/c++/modules/stdmodules_deps/xmake.lua | 15 +++++++++++++++ 5 files changed, 47 insertions(+) create mode 100644 tests/projects/c++/modules/stdmodules_deps/src/bar.mpp create mode 100644 tests/projects/c++/modules/stdmodules_deps/src/foo.mpp create mode 100644 tests/projects/c++/modules/stdmodules_deps/src/main.cpp create mode 100644 tests/projects/c++/modules/stdmodules_deps/test.lua create mode 100644 tests/projects/c++/modules/stdmodules_deps/xmake.lua diff --git a/tests/projects/c++/modules/stdmodules_deps/src/bar.mpp b/tests/projects/c++/modules/stdmodules_deps/src/bar.mpp new file mode 100644 index 000000000..79d91a393 --- /dev/null +++ b/tests/projects/c++/modules/stdmodules_deps/src/bar.mpp @@ -0,0 +1,11 @@ +export module bar; + +import std; + +export auto my_sum2(std::size_t a, std::size_t b) -> std::size_t; + +module :private; + +auto my_sum2(std::size_t a, std::size_t b) -> std::size_t { + return a + a + b + b; +} diff --git a/tests/projects/c++/modules/stdmodules_deps/src/foo.mpp b/tests/projects/c++/modules/stdmodules_deps/src/foo.mpp new file mode 100644 index 000000000..17a3795b7 --- /dev/null +++ b/tests/projects/c++/modules/stdmodules_deps/src/foo.mpp @@ -0,0 +1,11 @@ +export module foo; + +import std; + +export auto my_sum(std::size_t a, std::size_t b) -> std::size_t; + +module :private; + +auto my_sum(std::size_t a, std::size_t b) -> std::size_t { + return a + b; +} diff --git a/tests/projects/c++/modules/stdmodules_deps/src/main.cpp b/tests/projects/c++/modules/stdmodules_deps/src/main.cpp new file mode 100644 index 000000000..e40a369fa --- /dev/null +++ b/tests/projects/c++/modules/stdmodules_deps/src/main.cpp @@ -0,0 +1,9 @@ +import foo; +import bar; + +import std; + +int main() { + std::cout << my_sum(1, 2) << ":" << my_sum2(1, 2) << std::endl; + return 0; +} diff --git a/tests/projects/c++/modules/stdmodules_deps/test.lua b/tests/projects/c++/modules/stdmodules_deps/test.lua new file mode 100644 index 000000000..e77adc4ae --- /dev/null +++ b/tests/projects/c++/modules/stdmodules_deps/test.lua @@ -0,0 +1 @@ +inherit(".test_stdmodules") diff --git a/tests/projects/c++/modules/stdmodules_deps/xmake.lua b/tests/projects/c++/modules/stdmodules_deps/xmake.lua new file mode 100644 index 000000000..7ee801b8c --- /dev/null +++ b/tests/projects/c++/modules/stdmodules_deps/xmake.lua @@ -0,0 +1,15 @@ +add_rules("mode.debug", "mode.release") +set_languages("c++latest") + +target("foo") + set_kind("static") + add_files("src/foo.mpp", {public = true}) + +target("bar") + set_kind("moduleonly") + add_files("src/bar.mpp") + +target("main") + set_kind("binary") + add_deps("foo", "bar") + add_files("src/main.cpp") -- cgit v1.3.1