diff options
| author | ruki <[email protected]> | 2022-09-27 23:05:58 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2022-09-27 23:05:58 +0800 |
| commit | 96792611562600d3060d2f76b30b1c6dfda972e7 (patch) | |
| tree | 50f34cad7379980487e8ec2880a33e4154107f0c | |
| parent | fa198c5925c5faf00db7946a31db4e9fc611dc91 (diff) | |
improve rules_override
| -rw-r--r-- | tests/apis/rules_override_cxx/src/test.cc | 0 | ||||
| -rw-r--r-- | tests/apis/rules_override_cxx/test.lua | 3 | ||||
| -rw-r--r-- | tests/apis/rules_override_cxx/xmake.lua | 21 |
3 files changed, 14 insertions, 10 deletions
diff --git a/tests/apis/rules_override_cxx/src/test.cc b/tests/apis/rules_override_cxx/src/test.cc new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/apis/rules_override_cxx/src/test.cc diff --git a/tests/apis/rules_override_cxx/test.lua b/tests/apis/rules_override_cxx/test.lua new file mode 100644 index 000000000..a4a38b0ce --- /dev/null +++ b/tests/apis/rules_override_cxx/test.lua @@ -0,0 +1,3 @@ +function main() + os.exec("xmake") +end diff --git a/tests/apis/rules_override_cxx/xmake.lua b/tests/apis/rules_override_cxx/xmake.lua index 0dc2261ca..4b44d2111 100644 --- a/tests/apis/rules_override_cxx/xmake.lua +++ b/tests/apis/rules_override_cxx/xmake.lua @@ -1,8 +1,14 @@ -rule("xx.build") - set_base("c++.build") - set_extensions(".xx") +rule("xx") + add_deps("c++") on_load(function (target) - local sourcebatch = target:sourcebatches()["xx.build"] + + -- add .xx + local rule = target:rule("c++.build"):clone() + rule:set("extensions", ".xx") + target:rule_set("c++.build", rule) + + -- patch sourcebatch for .xx + local sourcebatch = target:sourcebatches()["c++.build"] sourcebatch.sourcekind = "cxx" sourcebatch.objectfiles = {} sourcebatch.dependfiles = {} @@ -12,15 +18,10 @@ rule("xx.build") table.insert(sourcebatch.objectfiles, objectfile) table.insert(sourcebatch.dependfiles, dependfile) end - target:add("cxxflags", "-x c++") end) -rule("xx") - set_base("c++") - add_deps("xx.build") - target("test") set_kind("binary") add_rules("xx") - add_files("src/*.xx") + add_files("src/*.xx", "src/*.cc") |
