summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/projects/kotlin-native/shared_library/src/foo.kt8
-rw-r--r--tests/projects/kotlin-native/shared_library/src/main.c7
-rw-r--r--tests/projects/kotlin-native/shared_library/src/main.kt3
-rw-r--r--tests/projects/kotlin-native/shared_library/xmake.lua9
-rw-r--r--tests/projects/kotlin-native/static_library/src/foo.kt8
-rw-r--r--tests/projects/kotlin-native/static_library/src/main.c7
-rw-r--r--tests/projects/kotlin-native/static_library/src/main.kt3
-rw-r--r--tests/projects/kotlin-native/static_library/xmake.lua9
8 files changed, 44 insertions, 10 deletions
diff --git a/tests/projects/kotlin-native/shared_library/src/foo.kt b/tests/projects/kotlin-native/shared_library/src/foo.kt
new file mode 100644
index 000000000..64ed2a016
--- /dev/null
+++ b/tests/projects/kotlin-native/shared_library/src/foo.kt
@@ -0,0 +1,8 @@
+@file:OptIn(ExperimentalNativeApi::class)
+
+import kotlin.experimental.ExperimentalNativeApi
+import kotlinx.cinterop.*
+
+@ExperimentalNativeApi
+@CName("kotlin_add")
+fun add(a: Int, b: Int): Int = a + b
diff --git a/tests/projects/kotlin-native/shared_library/src/main.c b/tests/projects/kotlin-native/shared_library/src/main.c
new file mode 100644
index 000000000..55e16305d
--- /dev/null
+++ b/tests/projects/kotlin-native/shared_library/src/main.c
@@ -0,0 +1,7 @@
+#include "libfoo_api.h"
+#include <stdio.h>
+
+int main(int argc, char** argv) {
+ printf("add(1, 2) = %d\n", kotlin_add(1, 2));
+ return 0;
+}
diff --git a/tests/projects/kotlin-native/shared_library/src/main.kt b/tests/projects/kotlin-native/shared_library/src/main.kt
deleted file mode 100644
index 543f5ac8f..000000000
--- a/tests/projects/kotlin-native/shared_library/src/main.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-fun main() {
- println("hello xmake!")
-}
diff --git a/tests/projects/kotlin-native/shared_library/xmake.lua b/tests/projects/kotlin-native/shared_library/xmake.lua
index 20c401d76..f1fb7f267 100644
--- a/tests/projects/kotlin-native/shared_library/xmake.lua
+++ b/tests/projects/kotlin-native/shared_library/xmake.lua
@@ -1,7 +1,12 @@
add_rules("mode.debug", "mode.release")
add_requires("kotlin-native")
-target("test")
+target("foo")
set_kind("shared")
- add_files("src/*.kt")
+ add_files("src/foo.kt")
set_toolchains("@kotlin-native")
+target("test")
+ set_kind("binary")
+ add_files("src/main.c")
+ add_deps("foo")
+
diff --git a/tests/projects/kotlin-native/static_library/src/foo.kt b/tests/projects/kotlin-native/static_library/src/foo.kt
new file mode 100644
index 000000000..64ed2a016
--- /dev/null
+++ b/tests/projects/kotlin-native/static_library/src/foo.kt
@@ -0,0 +1,8 @@
+@file:OptIn(ExperimentalNativeApi::class)
+
+import kotlin.experimental.ExperimentalNativeApi
+import kotlinx.cinterop.*
+
+@ExperimentalNativeApi
+@CName("kotlin_add")
+fun add(a: Int, b: Int): Int = a + b
diff --git a/tests/projects/kotlin-native/static_library/src/main.c b/tests/projects/kotlin-native/static_library/src/main.c
new file mode 100644
index 000000000..55e16305d
--- /dev/null
+++ b/tests/projects/kotlin-native/static_library/src/main.c
@@ -0,0 +1,7 @@
+#include "libfoo_api.h"
+#include <stdio.h>
+
+int main(int argc, char** argv) {
+ printf("add(1, 2) = %d\n", kotlin_add(1, 2));
+ return 0;
+}
diff --git a/tests/projects/kotlin-native/static_library/src/main.kt b/tests/projects/kotlin-native/static_library/src/main.kt
deleted file mode 100644
index 543f5ac8f..000000000
--- a/tests/projects/kotlin-native/static_library/src/main.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-fun main() {
- println("hello xmake!")
-}
diff --git a/tests/projects/kotlin-native/static_library/xmake.lua b/tests/projects/kotlin-native/static_library/xmake.lua
index 2e827ec78..646cb2e5d 100644
--- a/tests/projects/kotlin-native/static_library/xmake.lua
+++ b/tests/projects/kotlin-native/static_library/xmake.lua
@@ -1,7 +1,12 @@
add_rules("mode.debug", "mode.release")
add_requires("kotlin-native")
-target("test")
+target("foo")
set_kind("static")
- add_files("src/*.kt")
+ add_files("src/foo.kt")
set_toolchains("@kotlin-native")
+target("test")
+ set_kind("binary")
+ add_files("src/main.c")
+ add_deps("foo")
+