Vincent Chen
09/20/2019, 6:52 AMbinaries {
                sharedLib {
                    baseName = iOSArm64 or iOSX64
                }
            }Artyom Degtyarev [JB]
09/20/2019, 7:53 AMtargets.iosArm64Vincent Chen
09/20/2019, 8:44 AMdef targetName_AndroidNativeArm64 = "androidNativeArm64"
def targetName_AndroidNativeArm32 = "androidNativeArm32"
def targetName_iOSArm64 = "iOSArm64"
def targetName_iOSX64 = "iOSX64"
kotlin {
    targets {
        // Android Arm64 Platform (Parent Platform)
        androidNativeArm64("${targetName_AndroidNativeArm64}") {
            binaries {
                sharedLib {
                    baseName = "${targetName_AndroidNativeArm64}"
                }
            }
        }
        // Android Arm32 Platform
        androidNativeArm32("${targetName_AndroidNativeArm32}") {
            binaries {
                sharedLib {
                    baseName = "${targetName_AndroidNativeArm32}"
                }
            }
        }
        // Configure Android
        configure([androidNativeArm64, androidNativeArm32]) {
        }
        // *********************************************************
        // iOS Arm64 Platform (Parent Platform)
        iosArm64("${targetName_iOSArm64}") {
            binaries {
                framework {
                    baseName = "${targetName_iOSArm64}"
                }
            }
        }
        // iOS X64 Platform
        iosX64("${targetName_iOSX64}") {
            binaries {
                framework {
                    baseName = "${targetName_iOSX64}"
                }
            }
        }
        // Configure iOS
        configure([iOSArm64, iOSX64]) {
        }
        // *********************************************************
        // JVM Platform
        jvm()
        // *********************************************************
        // Configure C Interop
        configure([androidNativeArm64, androidNativeArm32, iOSArm64, iOSX64]) {
            compilations.main.cinterops {
                // something
            }
        }
    }
    sourceSets {
        // Common Module
        commonMain {
            dependencies {
                implementation kotlin('stdlib-common')
            }
        }
        // *********************************************************
        // Android Parent Module
        androidNativeArm64Main {
        }
        configure([androidNativeArm32Main]) {
            dependsOn androidNativeArm64Main
        }
        // *********************************************************
        // iOS Parent Module
        iOSArm64Main {
        }
        configure([iOSX64Main]) {
            dependsOn iOSArm64Main
        }
        // *********************************************************
        // JVM Module
        jvmMain {
            dependencies {
                implementation kotlin('stdlib-jdk8')
            }
        }
    }
}Artyom Degtyarev [JB]
09/20/2019, 9:36 AMcinteropsVincent Chen
09/20/2019, 1:33 PMcinteropsmsink
09/20/2019, 6:19 PMtargetNameKotlinNativeTarget