Adaptive native targets.

This commit is contained in:
Alexander Nozik 2021-02-23 14:30:39 +03:00
parent 48bf26e26a
commit 1cc83e8803
2 changed files with 38 additions and 22 deletions

View File

@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
### Added
- Adaptive support for host OS in native
### Changed
### Deprecated

View File

@ -18,10 +18,21 @@ class KScienceNativePlugin : Plugin<Project> {
}
configure<KotlinMultiplatformExtension> {
//deploy mode
val hostOs = System.getProperty("os.name")
val isLinux = hostOs == "Linux"
val isMinGw = hostOs.startsWith("Windows")
val isMacOs = hostOs == "Mac OS X"
if (isLinux || isMinGw) {
linuxX64()
}
if (isMinGw) {
mingwX64()
}
if (isMacOs) {
macosX64()
}
sourceSets {
val commonMain by getting
@ -35,25 +46,29 @@ class KScienceNativePlugin : Plugin<Project> {
dependsOn(commonTest)
}
if (isLinux) {
val linuxX64Main by getting {
dependsOn(nativeMain)
}
val linuxX64Test by getting {
dependsOn(nativeTest)
}
}
if (isMinGw) {
val mingwX64Main by getting {
dependsOn(nativeMain)
}
val macosX64Main by getting {
dependsOn(nativeMain)
}
val linuxX64Test by getting {
dependsOn(nativeTest)
}
val mingwX64Test by getting {
dependsOn(nativeTest)
}
}
if (isMacOs) {
val macosX64Main by getting {
dependsOn(nativeMain)
}
val macosX64Test by getting {
dependsOn(nativeTest)
@ -61,4 +76,5 @@ class KScienceNativePlugin : Plugin<Project> {
}
}
}
}
}