From 5ab20cecd8e9b52e1f413eb730e1a469f68acd03 Mon Sep 17 00:00:00 2001 From: ruki Date: Sat, 4 Feb 2023 00:38:17 +0800 Subject: improve module --- tests/projects/c++/modules/staticlib/xmake.lua | 2 +- tests/projects/c++/modules/staticlib_without_cpp/src/mod.mpp | 2 ++ tests/projects/c++/modules/staticlib_without_cpp/test.lua | 1 + tests/projects/c++/modules/staticlib_without_cpp/xmake.lua | 6 ++++++ xmake/languages/c++/xmake.lua | 2 +- 5 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 tests/projects/c++/modules/staticlib_without_cpp/src/mod.mpp create mode 100644 tests/projects/c++/modules/staticlib_without_cpp/test.lua create mode 100644 tests/projects/c++/modules/staticlib_without_cpp/xmake.lua diff --git a/tests/projects/c++/modules/staticlib/xmake.lua b/tests/projects/c++/modules/staticlib/xmake.lua index 5a3a9f4c6..ca0e9e343 100644 --- a/tests/projects/c++/modules/staticlib/xmake.lua +++ b/tests/projects/c++/modules/staticlib/xmake.lua @@ -5,7 +5,7 @@ target("mod") set_kind("static") add_files("src/mod.mpp", "src/mod.cpp") -target("staticlib") +target("hello") set_kind("binary") add_deps("mod") add_files("src/main.cpp") diff --git a/tests/projects/c++/modules/staticlib_without_cpp/src/mod.mpp b/tests/projects/c++/modules/staticlib_without_cpp/src/mod.mpp new file mode 100644 index 000000000..b7dd3883c --- /dev/null +++ b/tests/projects/c++/modules/staticlib_without_cpp/src/mod.mpp @@ -0,0 +1,2 @@ +export module hello; +export int foo() { return 0; } diff --git a/tests/projects/c++/modules/staticlib_without_cpp/test.lua b/tests/projects/c++/modules/staticlib_without_cpp/test.lua new file mode 100644 index 000000000..7717f8049 --- /dev/null +++ b/tests/projects/c++/modules/staticlib_without_cpp/test.lua @@ -0,0 +1 @@ +inherit(".test_base") diff --git a/tests/projects/c++/modules/staticlib_without_cpp/xmake.lua b/tests/projects/c++/modules/staticlib_without_cpp/xmake.lua new file mode 100644 index 000000000..a06091414 --- /dev/null +++ b/tests/projects/c++/modules/staticlib_without_cpp/xmake.lua @@ -0,0 +1,6 @@ +add_rules("mode.release", "mode.debug") +set_languages("c++20") + +target("mod") + set_kind("static") + add_files("src/mod.mpp") diff --git a/xmake/languages/c++/xmake.lua b/xmake/languages/c++/xmake.lua index e28bb2733..4109ab50b 100644 --- a/xmake/languages/c++/xmake.lua +++ b/xmake/languages/c++/xmake.lua @@ -20,7 +20,7 @@ language("c++") add_rules("c++") - set_sourcekinds {cc = ".c", cxx = {".cpp", ".cc", ".cxx"}} + set_sourcekinds {cc = ".c", cxx = {".cpp", ".cc", ".cxx", ".mpp", ".mxx", ".cppm", ".ixx"}} set_sourceflags {cc = {"cflags", "cxflags"}, cxx = {"cxxflags", "cxflags"}} set_targetkinds {binary = "ld", static = "ar", shared = "sh"} set_targetflags {binary = "ldflags", static = "arflags", shared = "shflags"} -- cgit v1.3.1 From 419db506cc13289febf5143577b43be672d3db3d Mon Sep 17 00:00:00 2001 From: ruki Date: Sat, 4 Feb 2023 00:40:11 +0800 Subject: add some comments --- xmake/rules/c++/modules/xmake.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xmake/rules/c++/modules/xmake.lua b/xmake/rules/c++/modules/xmake.lua index b62ec0f36..2f9b207bf 100644 --- a/xmake/rules/c++/modules/xmake.lua +++ b/xmake/rules/c++/modules/xmake.lua @@ -20,7 +20,10 @@ -- define rule: c++.build.modules rule("c++.build.modules") + + -- @note common.contains_modules() need it set_extensions(".mpp", ".mxx", ".cppm", ".ixx") + add_deps("c++.build.modules.builder") add_deps("c++.build.modules.install") -- cgit v1.3.1