diff options
| -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") |
