summaryrefslogtreecommitdiff
path: root/tests/projects/c++/modules
diff options
context:
space:
mode:
authorruki <[email protected]>2024-02-11 12:45:31 +0800
committerGitHub <[email protected]>2024-02-11 12:45:31 +0800
commita7396842b55fb3d9747b5da199d6d5ec1afb8aa9 (patch)
tree52722618a91ecbb537534f75874949a68b02a5e3 /tests/projects/c++/modules
parentc68dad9c520093e74de0659d8723bfe5b14aae9a (diff)
parentb6983ac3373a704f0f63c514655221473383e46d (diff)
Merge pull request #4707 from Arthapz/support-moduleonly-libraries
Support moduleonly libraries
Diffstat (limited to 'tests/projects/c++/modules')
-rw-r--r--tests/projects/c++/modules/link_order/xmake.lua10
-rw-r--r--tests/projects/c++/modules/moduleonly/src/mod.mpp (renamed from tests/projects/c++/modules/staticlib_without_cpp/src/mod.mpp)0
-rw-r--r--tests/projects/c++/modules/moduleonly/test.lua (renamed from tests/projects/c++/modules/staticlib_without_cpp/test.lua)0
-rw-r--r--tests/projects/c++/modules/moduleonly/xmake.lua (renamed from tests/projects/c++/modules/staticlib_without_cpp/xmake.lua)2
-rw-r--r--tests/projects/c++/modules/packages/my-repo/packages/b/bar2/src/bar.mpp8
-rw-r--r--tests/projects/c++/modules/packages/my-repo/packages/b/bar2/src/xmake.lua6
-rw-r--r--tests/projects/c++/modules/packages/my-repo/packages/b/bar2/xmake.lua7
-rw-r--r--tests/projects/c++/modules/packages/src/main.cpp2
-rw-r--r--tests/projects/c++/modules/packages/xmake.lua4
-rw-r--r--tests/projects/c++/modules/staticlib/xmake.lua3
-rw-r--r--tests/projects/c++/modules/user_headerunit2/a/xmake.lua5
-rw-r--r--tests/projects/c++/modules/user_headerunit2/b/xmake.lua4
12 files changed, 37 insertions, 14 deletions
diff --git a/tests/projects/c++/modules/link_order/xmake.lua b/tests/projects/c++/modules/link_order/xmake.lua
index b062dbe66..4cb2af87f 100644
--- a/tests/projects/c++/modules/link_order/xmake.lua
+++ b/tests/projects/c++/modules/link_order/xmake.lua
@@ -2,14 +2,12 @@ add_rules("mode.release", "mode.debug")
set_languages("c++20")
target("foo")
- add_rules("c++")
- set_kind("static")
- add_files("src/foo.mpp", {public = true})
+ set_kind("moduleonly")
+ add_files("src/foo.mpp")
target("bar")
- add_rules("c++")
- set_kind("static")
- add_files("src/bar.mpp", {public = true})
+ set_kind("moduleonly")
+ add_files("src/bar.mpp")
target("link_order_1")
set_kind("binary")
diff --git a/tests/projects/c++/modules/staticlib_without_cpp/src/mod.mpp b/tests/projects/c++/modules/moduleonly/src/mod.mpp
index b7dd3883c..b7dd3883c 100644
--- a/tests/projects/c++/modules/staticlib_without_cpp/src/mod.mpp
+++ b/tests/projects/c++/modules/moduleonly/src/mod.mpp
diff --git a/tests/projects/c++/modules/staticlib_without_cpp/test.lua b/tests/projects/c++/modules/moduleonly/test.lua
index 7717f8049..7717f8049 100644
--- a/tests/projects/c++/modules/staticlib_without_cpp/test.lua
+++ b/tests/projects/c++/modules/moduleonly/test.lua
diff --git a/tests/projects/c++/modules/staticlib_without_cpp/xmake.lua b/tests/projects/c++/modules/moduleonly/xmake.lua
index a06091414..54c681cc8 100644
--- a/tests/projects/c++/modules/staticlib_without_cpp/xmake.lua
+++ b/tests/projects/c++/modules/moduleonly/xmake.lua
@@ -2,5 +2,5 @@ add_rules("mode.release", "mode.debug")
set_languages("c++20")
target("mod")
- set_kind("static")
+ set_kind("moduleonly")
add_files("src/mod.mpp")
diff --git a/tests/projects/c++/modules/packages/my-repo/packages/b/bar2/src/bar.mpp b/tests/projects/c++/modules/packages/my-repo/packages/b/bar2/src/bar.mpp
new file mode 100644
index 000000000..ee9fb2c78
--- /dev/null
+++ b/tests/projects/c++/modules/packages/my-repo/packages/b/bar2/src/bar.mpp
@@ -0,0 +1,8 @@
+export module bar2;
+
+export namespace bar {
+ const char *hello2() {
+ return "Hello world";
+ }
+}
+
diff --git a/tests/projects/c++/modules/packages/my-repo/packages/b/bar2/src/xmake.lua b/tests/projects/c++/modules/packages/my-repo/packages/b/bar2/src/xmake.lua
new file mode 100644
index 000000000..0324fa931
--- /dev/null
+++ b/tests/projects/c++/modules/packages/my-repo/packages/b/bar2/src/xmake.lua
@@ -0,0 +1,6 @@
+add_rules("mode.release", "mode.debug")
+set_languages("c++20")
+
+target("bar2")
+ set_kind("moduleonly")
+ add_files("*.mpp")
diff --git a/tests/projects/c++/modules/packages/my-repo/packages/b/bar2/xmake.lua b/tests/projects/c++/modules/packages/my-repo/packages/b/bar2/xmake.lua
new file mode 100644
index 000000000..ffa208234
--- /dev/null
+++ b/tests/projects/c++/modules/packages/my-repo/packages/b/bar2/xmake.lua
@@ -0,0 +1,7 @@
+package("bar2")
+ set_kind("library")
+ set_sourcedir(path.join(os.scriptdir(), "src"))
+
+ on_install(function(package)
+ import("package.tools.xmake").install(package, {})
+ end)
diff --git a/tests/projects/c++/modules/packages/src/main.cpp b/tests/projects/c++/modules/packages/src/main.cpp
index d12361c45..d6f2218c0 100644
--- a/tests/projects/c++/modules/packages/src/main.cpp
+++ b/tests/projects/c++/modules/packages/src/main.cpp
@@ -1,7 +1,9 @@
import foo;
import bar;
+import bar2;
int main() {
foo::say(bar::hello());
+ foo::say(bar::hello2());
return 0;
}
diff --git a/tests/projects/c++/modules/packages/xmake.lua b/tests/projects/c++/modules/packages/xmake.lua
index f772d6668..62dba119b 100644
--- a/tests/projects/c++/modules/packages/xmake.lua
+++ b/tests/projects/c++/modules/packages/xmake.lua
@@ -2,10 +2,10 @@ add_rules("mode.release", "mode.debug")
set_languages("c++2b")
add_repositories("my-repo my-repo")
-add_requires("foo", "bar")
+add_requires("foo", "bar", "bar2")
target("packages")
set_kind("binary")
add_files("src/*.cpp")
- add_packages("foo", "bar")
+ add_packages("foo", "bar", "bar2")
set_policy("build.c++.modules", true)
diff --git a/tests/projects/c++/modules/staticlib/xmake.lua b/tests/projects/c++/modules/staticlib/xmake.lua
index d353774e4..9e1cf4221 100644
--- a/tests/projects/c++/modules/staticlib/xmake.lua
+++ b/tests/projects/c++/modules/staticlib/xmake.lua
@@ -3,7 +3,8 @@ set_languages("c++20")
target("mod")
set_kind("static")
- add_files("src/mod.mpp", "src/mod.cpp", {public = true})
+ add_files("src/mod.mpp", {public = true})
+ add_files("src/mod.cpp")
target("hello")
set_kind("binary")
diff --git a/tests/projects/c++/modules/user_headerunit2/a/xmake.lua b/tests/projects/c++/modules/user_headerunit2/a/xmake.lua
index 3225b2814..a3c5906fc 100644
--- a/tests/projects/c++/modules/user_headerunit2/a/xmake.lua
+++ b/tests/projects/c++/modules/user_headerunit2/a/xmake.lua
@@ -1,4 +1,5 @@
target("a")
+ set_kind("moduleonly")
+ add_headerfiles("*.hpp")
+ add_files("a.mpp")
set_languages("cxxlatest")
- set_kind("object")
- add_files("a.mpp", {public = true})
diff --git a/tests/projects/c++/modules/user_headerunit2/b/xmake.lua b/tests/projects/c++/modules/user_headerunit2/b/xmake.lua
index 24f9c9b1f..7a353ec26 100644
--- a/tests/projects/c++/modules/user_headerunit2/b/xmake.lua
+++ b/tests/projects/c++/modules/user_headerunit2/b/xmake.lua
@@ -1,5 +1,5 @@
target("b")
add_deps("a")
+ set_kind("moduleonly")
+ add_files("b.mpp")
set_languages("cxxlatest")
- set_kind("object")
- add_files("b.mpp", {public = true})