blob: 91982878849fbf9b354b844523210f6f22ad581b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
operator fun KotlinSourceSet.invoke(builder: SourceSetHierarchyBuilder.() -> Unit): KotlinSourceSet {
SourceSetHierarchyBuilder(this).builder()
return this
}
class SourceSetHierarchyBuilder(private val node: KotlinSourceSet) {
operator fun KotlinSourceSet.unaryMinus() = this.dependsOn(node)
}
plugins {
kotlin("multiplatform")
}
kotlin {
linuxX64()
linuxArm64()
macosX64("macos")
mingwX64("windowsX64")
mingwX86("windowsX86")
val commonMain by sourceSets.getting
val nativeMain by sourceSets.creating
val linuxMain by sourceSets.creating
val linuxX64Main by sourceSets.getting
val linuxArm64Main by sourceSets.getting
val macosMain by sourceSets.getting
val windowsMain by sourceSets.creating
val windowsX64Main by sourceSets.getting
val windowsX86Main by sourceSets.getting
commonMain {
-nativeMain {
-macosMain
-linuxMain {
-linuxArm64Main
-linuxX64Main
}
-windowsMain {
-windowsX64Main
-windowsX86Main
}
}
}
sourceSets.all {
languageSettings.optIn("kotlin.RequiresOptIn")
}
targets.withType<KotlinNativeTarget>().forEach { target ->
target.compilations.getByName("main").cinterops.create("withPosix") {
header(file("libs/withPosix.h"))
}
}
}
|