diff options
| author | ruki <[email protected]> | 2020-05-26 00:34:08 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-05-25 21:24:53 +0800 |
| commit | 97b53dfcb67c898f40fae06b6b939e4dac32a3a0 (patch) | |
| tree | c91bfc82592938ae27e2a72ec38737b33cd3988a /tests/apis | |
| parent | 05b37be8865ff1af2051766a835e7576a6780e55 (diff) | |
add set_toolchains for target
Diffstat (limited to 'tests/apis')
| -rw-r--r-- | tests/apis/set_toolchains/src/interface.cpp | 6 | ||||
| -rw-r--r-- | tests/apis/set_toolchains/src/interface.h | 16 | ||||
| -rw-r--r-- | tests/apis/set_toolchains/src/test.cpp | 10 | ||||
| -rw-r--r-- | tests/apis/set_toolchains/xmake.lua | 35 |
4 files changed, 67 insertions, 0 deletions
diff --git a/tests/apis/set_toolchains/src/interface.cpp b/tests/apis/set_toolchains/src/interface.cpp new file mode 100644 index 000000000..598d07560 --- /dev/null +++ b/tests/apis/set_toolchains/src/interface.cpp @@ -0,0 +1,6 @@ +#include "interface.h" + +int add(int a, int b) +{ + return a + b; +} diff --git a/tests/apis/set_toolchains/src/interface.h b/tests/apis/set_toolchains/src/interface.h new file mode 100644 index 000000000..4a41e9597 --- /dev/null +++ b/tests/apis/set_toolchains/src/interface.h @@ -0,0 +1,16 @@ +#ifdef __cplusplus +extern "C" { +#endif + +/*! calculate add(a, b) + * + * @param a the first argument + * @param b the second argument + * + * @return the result + */ +int add(int a, int b); + +#ifdef __cplusplus +} +#endif diff --git a/tests/apis/set_toolchains/src/test.cpp b/tests/apis/set_toolchains/src/test.cpp new file mode 100644 index 000000000..72e03272b --- /dev/null +++ b/tests/apis/set_toolchains/src/test.cpp @@ -0,0 +1,10 @@ +#include "interface.h" +#include <iostream> + +using namespace std; + +int main(int argc, char** argv) +{ + cout << "add(1, 2) = " << add(1, 2) << endl; + return 0; +} diff --git a/tests/apis/set_toolchains/xmake.lua b/tests/apis/set_toolchains/xmake.lua new file mode 100644 index 000000000..4057322d8 --- /dev/null +++ b/tests/apis/set_toolchains/xmake.lua @@ -0,0 +1,35 @@ +-- define toolchain +toolchain("myclang") + + -- mark as standalone toolchain + set_kind("standalone") + + -- set toolsets + set_toolsets("cc", "clang") + set_toolsets("cxx", "clang", "clang++") + set_toolsets("ld", "clang++", "clang") + set_toolsets("sh", "clang++", "clang") + set_toolsets("ar", "ar") + set_toolsets("ex", "ar") + set_toolsets("strip", "strip") + set_toolsets("mm", "clang") + set_toolsets("mxx", "clang", "clang++") + set_toolsets("as", "clang") + + add_defines("MYCLANG") + +toolchain_end() + +add_rules("mode.debug", "mode.release") + +target("test") + set_kind("static") + add_files("src/interface.cpp") + +target("demo") + set_kind("binary") + add_deps("test") + add_files("src/test.cpp") + set_toolchains("myclang") + + |
