[orx-jumpflood] Make module multiplatform

This commit is contained in:
Edwin Jakobs
2023-01-12 15:54:53 +01:00
parent 58d15a1e8b
commit e27f7eb4cb
51 changed files with 571 additions and 177 deletions

View File

@@ -1,15 +1,69 @@
import ScreenshotsHelper.collectScreenshots
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
org.openrndr.extra.convention.`kotlin-multiplatform`
}
dependencies {
implementation(project(":orx-fx"))
implementation(project(":orx-parameters"))
implementation(libs.openrndr.application)
implementation(libs.openrndr.math)
demoImplementation(project(":orx-noise"))
demoImplementation(project(":orx-jvm:orx-gui"))
demoImplementation(project(":orx-compositor"))
demoImplementation(libs.openrndr.svg)
demoImplementation(libs.openrndr.ffmpeg)
val embedShaders = tasks.register<EmbedShadersTask>("embedShaders") {
inputDir.set(file("$projectDir/src/shaders/glsl"))
outputDir.set(file("$buildDir/generated/shaderKotlin"))
defaultPackage.set("org.openrndr.extra.jumpflood")
defaultVisibility.set("internal")
namePrefix.set("jf_")
}.get()
kotlin {
jvm {
@Suppress("UNUSED_VARIABLE")
val demo by compilations.getting {
// TODO: Move demos to /jvmDemo
defaultSourceSet {
kotlin.srcDir("src/demo/kotlin")
}
collectScreenshots { }
}
}
sourceSets {
val shaderKotlin by creating {
this.kotlin.srcDir(embedShaders.outputDir)
}
@Suppress("UNUSED_VARIABLE")
val commonMain by getting {
dependencies {
implementation(project(":orx-parameters"))
implementation(project(":orx-fx"))
implementation(libs.openrndr.application)
implementation(libs.openrndr.draw)
implementation(libs.openrndr.filter)
implementation(libs.kotlin.reflect)
api(shaderKotlin.kotlin)
}
dependsOn(shaderKotlin)
}
@Suppress("UNUSED_VARIABLE")
val jvmTest by getting {
dependencies {
implementation(libs.spek.dsl)
implementation(libs.kluent)
}
}
@Suppress("UNUSED_VARIABLE")
val jvmDemo by getting {
dependencies {
implementation(project(":orx-color"))
implementation(project(":orx-fx"))
implementation(project(":orx-noise"))
implementation(project(":orx-jumpflood"))
implementation(project(":orx-compositor"))
implementation(project(":orx-jvm:orx-gui"))
implementation(libs.openrndr.svg)
}
}
}
}