summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorruki <[email protected]>2021-09-05 00:27:39 +0800
committerGitHub <[email protected]>2021-09-05 00:27:39 +0800
commit58ab15fca9879617a5a3f31d7cdfa9b6dbbc87cd (patch)
tree20b52ad45af51fdfc5324344078b3af9a56f8a51 /tests
parentf1494df1cf0a7cbeb6c5f63d13f8e4699804fe9f (diff)
parent06b0a3c599b1cfb681dbbd89b4784190aadd2f8a (diff)
Merge pull request #1639 from xmake-io/mergelib
Improve to merge static library
Diffstat (limited to 'tests')
-rw-r--r--tests/projects/other/merge_archive2/src/add.c4
-rw-r--r--tests/projects/other/merge_archive2/src/main.c17
-rw-r--r--tests/projects/other/merge_archive2/src/mul.c4
-rw-r--r--tests/projects/other/merge_archive2/src/sub.c4
-rw-r--r--tests/projects/other/merge_archive2/src/subdir/add.c4
-rw-r--r--tests/projects/other/merge_archive2/src/subdir/sub.c4
-rw-r--r--tests/projects/other/merge_archive2/test.lua6
-rw-r--r--tests/projects/other/merge_archive2/xmake.lua21
8 files changed, 64 insertions, 0 deletions
diff --git a/tests/projects/other/merge_archive2/src/add.c b/tests/projects/other/merge_archive2/src/add.c
new file mode 100644
index 000000000..be1e084fc
--- /dev/null
+++ b/tests/projects/other/merge_archive2/src/add.c
@@ -0,0 +1,4 @@
+int add(int a, int b)
+{
+ return a + b;
+}
diff --git a/tests/projects/other/merge_archive2/src/main.c b/tests/projects/other/merge_archive2/src/main.c
new file mode 100644
index 000000000..927c9173e
--- /dev/null
+++ b/tests/projects/other/merge_archive2/src/main.c
@@ -0,0 +1,17 @@
+#include <stdio.h>
+
+int add(int a, int b);
+int sub(int a, int b);
+int mul(int a, int b);
+int subdir_add(int a, int b);
+int subdir_sub(int a, int b);
+
+int main(int argc, char** argv)
+{
+ printf("%d\n", add(1, 1));
+ printf("%d\n", sub(1, 1));
+ printf("%d\n", mul(1, 1));
+ printf("%d\n", subdir_add(1, 1));
+ printf("%d\n", subdir_sub(1, 1));
+ return 0;
+}
diff --git a/tests/projects/other/merge_archive2/src/mul.c b/tests/projects/other/merge_archive2/src/mul.c
new file mode 100644
index 000000000..c4292f9aa
--- /dev/null
+++ b/tests/projects/other/merge_archive2/src/mul.c
@@ -0,0 +1,4 @@
+int mul(int a, int b)
+{
+ return a * b;
+}
diff --git a/tests/projects/other/merge_archive2/src/sub.c b/tests/projects/other/merge_archive2/src/sub.c
new file mode 100644
index 000000000..b151ec4bc
--- /dev/null
+++ b/tests/projects/other/merge_archive2/src/sub.c
@@ -0,0 +1,4 @@
+int sub(int a, int b)
+{
+ return a - b;
+}
diff --git a/tests/projects/other/merge_archive2/src/subdir/add.c b/tests/projects/other/merge_archive2/src/subdir/add.c
new file mode 100644
index 000000000..318ed98f8
--- /dev/null
+++ b/tests/projects/other/merge_archive2/src/subdir/add.c
@@ -0,0 +1,4 @@
+int subdir_add(int a, int b)
+{
+ return a + b;
+}
diff --git a/tests/projects/other/merge_archive2/src/subdir/sub.c b/tests/projects/other/merge_archive2/src/subdir/sub.c
new file mode 100644
index 000000000..68c4d13ae
--- /dev/null
+++ b/tests/projects/other/merge_archive2/src/subdir/sub.c
@@ -0,0 +1,4 @@
+int subdir_sub(int a, int b)
+{
+ return a - b;
+}
diff --git a/tests/projects/other/merge_archive2/test.lua b/tests/projects/other/merge_archive2/test.lua
new file mode 100644
index 000000000..b76241be2
--- /dev/null
+++ b/tests/projects/other/merge_archive2/test.lua
@@ -0,0 +1,6 @@
+-- main entry
+function main(t)
+
+ -- build project
+ t:build()
+end
diff --git a/tests/projects/other/merge_archive2/xmake.lua b/tests/projects/other/merge_archive2/xmake.lua
new file mode 100644
index 000000000..be1f45de0
--- /dev/null
+++ b/tests/projects/other/merge_archive2/xmake.lua
@@ -0,0 +1,21 @@
+add_rules("mode.debug", "mode.release")
+
+target("add")
+ set_kind("static")
+ add_files("src/add.c")
+ add_files("src/subdir/add.c")
+
+target("sub")
+ set_kind("static")
+ add_files("src/sub.c")
+ add_files("src/subdir/sub.c")
+
+target("mul")
+ set_kind("static")
+ add_deps("add", "sub")
+ add_files("src/mul.c")
+ set_policy("build.merge_archive", true)
+
+target("test")
+ add_deps("mul")
+ add_files("src/main.c")