• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright 2016-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
3 */
4
5project.ext.nativeMainSets = []
6project.ext.nativeTestSets = []
7
8kotlin {
9    targets.metaClass.addTarget = { preset ->
10        def target = delegate.fromPreset(preset, preset.name)
11        project.ext.nativeMainSets.add(target.compilations['main'].kotlinSourceSets.first())
12        project.ext.nativeTestSets.add(target.compilations['test'].kotlinSourceSets.first())
13    }
14
15    targets {
16        addTarget(presets.linuxX64)
17        addTarget(presets.iosArm64)
18        addTarget(presets.iosArm32)
19        addTarget(presets.iosX64)
20        addTarget(presets.macosX64)
21        addTarget(presets.mingwX64)
22        addTarget(presets.tvosArm64)
23        addTarget(presets.tvosX64)
24        addTarget(presets.watchosArm32)
25        addTarget(presets.watchosArm64)
26        addTarget(presets.watchosX86)
27        addTarget(presets.watchosX64)
28        addTarget(presets.iosSimulatorArm64)
29        addTarget(presets.watchosSimulatorArm64)
30        addTarget(presets.tvosSimulatorArm64)
31        addTarget(presets.macosArm64)
32    }
33
34    sourceSets {
35        nativeMain { dependsOn commonMain }
36        nativeTest { dependsOn commonTest }
37
38        configure(nativeMainSets) { dependsOn nativeMain }
39        configure(nativeTestSets) { dependsOn nativeTest }
40    }
41}
42