import ScreenshotsHelper.collectScreenshots plugins { org.openrndr.extra.convention.`kotlin-multiplatform` } val embedShaders = tasks.register("embedShaders") { inputDir.set(file("$projectDir/src/shaders/glsl")) outputDir.set(file("$buildDir/generated/shaderKotlin")) defaultPackage.set("org.openrndr.extra.fx") defaultVisibility.set("internal") namePrefix.set("fx_") }.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-shader-phrases")) implementation(project(":orx-color")) 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")) } } } }