diff options
| author | ruki <[email protected]> | 2024-02-11 12:45:31 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-02-11 12:45:31 +0800 |
| commit | a7396842b55fb3d9747b5da199d6d5ec1afb8aa9 (patch) | |
| tree | 52722618a91ecbb537534f75874949a68b02a5e3 /tests/projects/c++/modules | |
| parent | c68dad9c520093e74de0659d8723bfe5b14aae9a (diff) | |
| parent | b6983ac3373a704f0f63c514655221473383e46d (diff) | |
Merge pull request #4707 from Arthapz/support-moduleonly-libraries
Support moduleonly libraries
Diffstat (limited to 'tests/projects/c++/modules')
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})
|
