aboutsummaryrefslogtreecommitdiffstats
path: root/gradle/compile-native-multiplatform.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'gradle/compile-native-multiplatform.gradle')
-rw-r--r--gradle/compile-native-multiplatform.gradle30
1 files changed, 30 insertions, 0 deletions
diff --git a/gradle/compile-native-multiplatform.gradle b/gradle/compile-native-multiplatform.gradle
new file mode 100644
index 00000000..b5fad693
--- /dev/null
+++ b/gradle/compile-native-multiplatform.gradle
@@ -0,0 +1,30 @@
+kotlin {
+ targets {
+ if (project.ext.ideaActive) {
+ fromPreset(project.ext.ideaPreset, 'native')
+ } else {
+ fromPreset(presets.linuxX64, 'linuxX64')
+ fromPreset(presets.iosArm64, 'iosArm64')
+ fromPreset(presets.iosArm32, 'iosArm32')
+ fromPreset(presets.iosX64, 'iosX64')
+ fromPreset(presets.macosX64, 'macosX64')
+ fromPreset(presets.mingwX64, 'windowsX64')
+ }
+ }
+
+ sourceSets {
+ nativeMain { dependsOn commonMain }
+ // Empty source set is required in order to have native tests task
+ nativeTest {}
+
+ if (!project.ext.ideaActive) {
+ configure([linuxX64Main, macosX64Main, windowsX64Main, iosArm32Main, iosArm64Main, iosX64Main]) {
+ dependsOn nativeMain
+ }
+
+ configure([linuxX64Test, macosX64Test, windowsX64Test, iosArm32Test, iosArm64Test, iosX64Test]) {
+ dependsOn nativeTest
+ }
+ }
+ }
+}