summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2022-09-27 00:54:06 +0800
committerruki <[email protected]>2022-09-27 00:54:06 +0800
commit9952e0cc62da89cdb899fe1dd02b86e156073e3e (patch)
tree4d603eff29bcd1f7670e828a2b3abc16de3168a0
parent411e455ba256d4f67289a267f62a74930212c8f9 (diff)
inject rule deps
-rw-r--r--tests/apis/rules_inject_deps/src/hello.mpp10
-rw-r--r--tests/apis/rules_inject_deps/src/main.cpp6
-rw-r--r--tests/apis/rules_inject_deps/src/main.cpp20
-rw-r--r--tests/apis/rules_inject_deps/xmake.lua19
-rw-r--r--tests/apis/rules_override_order/src/main.cc6
-rw-r--r--tests/apis/rules_override_order/xmake.lua15
6 files changed, 35 insertions, 21 deletions
diff --git a/tests/apis/rules_inject_deps/src/hello.mpp b/tests/apis/rules_inject_deps/src/hello.mpp
new file mode 100644
index 000000000..124bd72bc
--- /dev/null
+++ b/tests/apis/rules_inject_deps/src/hello.mpp
@@ -0,0 +1,10 @@
+module;
+#include <cstdio>
+
+export module hello;
+
+export namespace hello {
+ void say(const char* str) {
+ printf("%s\n", str);
+ }
+}
diff --git a/tests/apis/rules_inject_deps/src/main.cpp b/tests/apis/rules_inject_deps/src/main.cpp
new file mode 100644
index 000000000..1e5cc698f
--- /dev/null
+++ b/tests/apis/rules_inject_deps/src/main.cpp
@@ -0,0 +1,6 @@
+import hello;
+
+int main() {
+ hello::say("hello module!");
+ return 0;
+}
diff --git a/tests/apis/rules_inject_deps/src/main.cpp2 b/tests/apis/rules_inject_deps/src/main.cpp2
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/apis/rules_inject_deps/src/main.cpp2
diff --git a/tests/apis/rules_inject_deps/xmake.lua b/tests/apis/rules_inject_deps/xmake.lua
new file mode 100644
index 000000000..d7cfcf61f
--- /dev/null
+++ b/tests/apis/rules_inject_deps/xmake.lua
@@ -0,0 +1,19 @@
+rule("cppfront")
+ set_extensions(".cpp2")
+ on_load(function (target)
+ local rule = target:rule("c++.build.modules.builder"):clone()
+ rule:add_deps("cppfront", {order = true})
+ target:rule_set("c++.build.modules.builder", rule)
+ end)
+ before_build_files(function (target, batchjobs, sourcebatch, opt)
+ print("build cppfront files")
+ end, {batch = true})
+
+target("test")
+ set_kind("binary")
+ add_rules("cppfront")
+ set_languages("c++20")
+ add_files("src/*.cpp")
+ add_files("src/*.mpp")
+ add_files("src/*.cpp2")
+
diff --git a/tests/apis/rules_override_order/src/main.cc b/tests/apis/rules_override_order/src/main.cc
deleted file mode 100644
index d612d8782..000000000
--- a/tests/apis/rules_override_order/src/main.cc
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char** argv)
-{
- return 0;
-}
diff --git a/tests/apis/rules_override_order/xmake.lua b/tests/apis/rules_override_order/xmake.lua
deleted file mode 100644
index 61b42a943..000000000
--- a/tests/apis/rules_override_order/xmake.lua
+++ /dev/null
@@ -1,15 +0,0 @@
-rule("cppfront")
- set_extensions(".cpp2")
- on_build_files(function (target, batchjobs, sourcebatch, opt)
- print("on_build_files")
- end, {batch = true, distcc = true})
-
-rule("xx")
- set_base("c++")
- add_deps("cppfront", {order = true})
-
-target("test")
- set_kind("binary")
- add_rules("xx")
- add_files("src/*.cc")
-