aboutsummaryrefslogtreecommitdiffstats
path: root/gradle/compile-native-multiplatform.gradle
blob: 73e99e8465ad2ac933060cce3f4b4906370b72c2 (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
/*
 * Copyright 2016-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
 */

project.ext.nativeMainSets = []
project.ext.nativeTestSets = []

kotlin {
    targets.metaClass.addTarget = { preset ->
        def target = delegate.fromPreset(preset, preset.name)
        project.ext.nativeMainSets.add(target.compilations['main'].kotlinSourceSets.first())
        project.ext.nativeTestSets.add(target.compilations['test'].kotlinSourceSets.first())
    }

    targets {
        addTarget(presets.linuxX64)
        addTarget(presets.iosArm64)
        addTarget(presets.iosArm32)
        addTarget(presets.iosX64)
        addTarget(presets.macosX64)
        addTarget(presets.mingwX64)
        addTarget(presets.tvosArm64)
        addTarget(presets.tvosX64)
        addTarget(presets.watchosArm32)
        addTarget(presets.watchosArm64)
        addTarget(presets.watchosX86)
        addTarget(presets.watchosX64)
    }

    sourceSets {
        nativeMain { dependsOn commonMain }
        nativeTest { dependsOn commonTest }

        configure(nativeMainSets) { dependsOn nativeMain }
        configure(nativeTestSets) { dependsOn nativeTest }
    }
}