plugins { id 'org.jetbrains.kotlin.multiplatform' id 'kotlinx-serialization' } group 'net.taler' version '0.0.1' apply plugin: 'maven-publish' kotlin { jvm() // This is for iPhone simulator // Switch here to iosArm64 (or iosArm32) to build library for iPhone device iosX64("ios") { binaries { framework() } } linuxX64("linux") js { browser { } nodejs { } } sourceSets { def serialization_version = "0.20.0" commonMain { dependencies { implementation kotlin('stdlib-common') implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:$serialization_version" } } commonTest { dependencies { implementation kotlin('test-common') implementation kotlin('test-annotations-common') } } jvmMain { dependencies { implementation kotlin('stdlib-jdk8') implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$serialization_version" } } jvmTest { dependencies { implementation kotlin('test') implementation kotlin('test-junit') } } jsMain { dependencies { implementation kotlin('stdlib-js') implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:$serialization_version" } } jsTest { dependencies { implementation kotlin('test-js') } } nativeMain { dependsOn commonMain dependencies { implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-native:$serialization_version" } } nativeTest { dependsOn commonTest } configure([targets.linux, targets.ios]) { compilations.main.source(sourceSets.nativeMain) compilations.test.source(sourceSets.nativeTest) } } } configurations { compileClasspath }