diff options
| author | ruki <[email protected]> | 2022-09-27 00:42:29 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2022-09-27 00:42:29 +0800 |
| commit | 411e455ba256d4f67289a267f62a74930212c8f9 (patch) | |
| tree | 37f7de08a517453c1370fa5541d880690598fa1b /tests | |
| parent | 76bced915dfb870a34528270a02236a3f5f6ff4e (diff) | |
add set_base to rules
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/apis/rules_override_cxx/src/main.xx | 6 | ||||
| -rw-r--r-- | tests/apis/rules_override_cxx/xmake.lua | 26 | ||||
| -rw-r--r-- | tests/apis/rules_override_order/src/main.cc | 6 | ||||
| -rw-r--r-- | tests/apis/rules_override_order/xmake.lua | 15 | ||||
| -rw-r--r-- | tests/projects/c++/unity_build/src/test.cpp | 8 |
5 files changed, 61 insertions, 0 deletions
diff --git a/tests/apis/rules_override_cxx/src/main.xx b/tests/apis/rules_override_cxx/src/main.xx new file mode 100644 index 000000000..d612d8782 --- /dev/null +++ b/tests/apis/rules_override_cxx/src/main.xx @@ -0,0 +1,6 @@ +#include <stdio.h> + +int main(int argc, char** argv) +{ + return 0; +} diff --git a/tests/apis/rules_override_cxx/xmake.lua b/tests/apis/rules_override_cxx/xmake.lua new file mode 100644 index 000000000..0dc2261ca --- /dev/null +++ b/tests/apis/rules_override_cxx/xmake.lua @@ -0,0 +1,26 @@ +rule("xx.build") + set_base("c++.build") + set_extensions(".xx") + on_load(function (target) + local sourcebatch = target:sourcebatches()["xx.build"] + sourcebatch.sourcekind = "cxx" + sourcebatch.objectfiles = {} + sourcebatch.dependfiles = {} + for _, sourcefile in ipairs(sourcebatch.sourcefiles) do + local objectfile = target:objectfile(sourcefile) + local dependfile = target:dependfile(objectfile) + 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") + diff --git a/tests/apis/rules_override_order/src/main.cc b/tests/apis/rules_override_order/src/main.cc new file mode 100644 index 000000000..d612d8782 --- /dev/null +++ b/tests/apis/rules_override_order/src/main.cc @@ -0,0 +1,6 @@ +#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 new file mode 100644 index 000000000..61b42a943 --- /dev/null +++ b/tests/apis/rules_override_order/xmake.lua @@ -0,0 +1,15 @@ +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") + diff --git a/tests/projects/c++/unity_build/src/test.cpp b/tests/projects/c++/unity_build/src/test.cpp new file mode 100644 index 000000000..27d41ee50 --- /dev/null +++ b/tests/projects/c++/unity_build/src/test.cpp @@ -0,0 +1,8 @@ +#include "header.h" + +int main(int argc, char** argv) +{ + std::string s("xmake"); + printf("hello %s!\n", s.c_str()); + return 0; +} |
