kmath/kmath-gsl/build.gradle.kts

74 lines
2.0 KiB
Plaintext
Raw Normal View History

@file:Suppress("UNUSED_VARIABLE")
import kscience.kmath.gsl.codegen.matricesCodegen
2020-10-05 13:46:41 +03:00
import kscience.kmath.gsl.codegen.vectorsCodegen
2021-01-31 11:36:35 +03:00
import ru.mipt.npm.gradle.Maturity
plugins {
2020-10-04 10:10:53 +03:00
id("ru.mipt.npm.mpp")
2021-02-18 15:37:12 +03:00
id("de.undercouch.download")
}
kotlin {
explicitApiWarning()
2021-02-18 15:37:12 +03:00
data class DownloadLinks(val gsl: String)
lateinit var downloadLinks: DownloadLinks
2020-10-04 11:53:24 +03:00
val nativeTarget = when (System.getProperty("os.name")) {
2021-01-07 15:38:46 +03:00
// "Mac OS X" -> macosX64()
2021-02-18 15:37:12 +03:00
"Linux" -> {
downloadLinks = DownloadLinks(gsl = "")
linuxX64()
}
2020-10-04 11:53:24 +03:00
else -> {
logger.warn("Current OS cannot build any of kmath-gsl targets.")
return@kotlin
}
2020-10-04 10:10:53 +03:00
}
val main by nativeTarget.compilations.getting {
cinterops {
val libgsl by creating
}
}
val test by nativeTarget.compilations.getting
sourceSets {
val nativeMain by creating {
2020-10-10 23:37:04 +03:00
val codegen by tasks.creating {
matricesCodegen(kotlin.srcDirs.first().absolutePath + "/kscience/kmath/gsl/_Matrices.kt")
vectorsCodegen(kotlin.srcDirs.first().absolutePath + "/kscience/kmath/gsl/_Vectors.kt")
}
kotlin.srcDirs(files().builtBy(codegen))
dependencies {
2021-02-11 14:44:17 +03:00
api(project(":kmath-complex"))
api(project(":kmath-core"))
}
}
val nativeTest by creating {
dependsOn(nativeMain)
}
main.defaultSourceSet.dependsOn(nativeMain)
test.defaultSourceSet.dependsOn(nativeTest)
}
2020-10-10 21:24:16 +03:00
}
2021-01-31 11:36:35 +03:00
readme {
description = "Linear Algebra classes implemented with GNU Scientific Library"
maturity = Maturity.PROTOTYPE
propertyByTemplate("artifact", rootProject.file("docs/templates/ARTIFACT-TEMPLATE.md"))
feature(
id = "matrix-contexts",
description = "Matrix Contexts over Double, Float and Complex implemented with GSL",
ref = "src/nativeMain/kotlin/kscience/kmath/gsl/GslMatrixContext.kt"
)
}