Commit 3714d9c3 authored by Nikolay Igotti's avatar Nikolay Igotti

Avoid uneeded copying

parent 45ea6466
......@@ -6,8 +6,6 @@ else
pushd ./skija && git pull && popd
fi
java -jar ./libs/lombok.jar delombok skija/src/main/java -d skiko/src/jvmMain/java --classpath=./libs/annotations-19.0.0.jar:./libs/lombok.jar
mkdir -p skiko/src/main
rsync -r skija/src/main/cc/ skiko/src/main/cpp
java -jar ./libs/lombok.jar delombok skija/src/main/java -d skija/java_delombok --classpath=./libs/annotations-19.0.0.jar:./libs/lombok.jar
cd skiko && ./gradlew publishSkikoPublicationToMavenLocal
import kotlin.text.capitalize
plugins {
kotlin("multiplatform") version "1.4-M3"
`cpp-library`
......@@ -51,11 +53,13 @@ kotlin {
}
}
val jvmMain by getting {
//kotlin.srcDirs.add(file("$projectDir/../skija/java_delombok"))
dependencies {
implementation(kotlin("stdlib-jdk8"))
compileOnly("org.projectlombok:lombok:1.18.12")
compileOnly("org.jetbrains:annotations:19.0.0")
}
}
val jvmTest by getting {
dependencies {
......@@ -69,6 +73,10 @@ kotlin {
// See https://docs.gradle.org/current/userguide/cpp_library_plugin.html.
tasks.withType(CppCompile::class.java).configureEach {
source.from(
fileTree("$projectDir/../skija/src/main/cc"),
fileTree("$projectDir/src/jvmMain/cpp")
)
val jdkHome = System.getenv("JAVA_HOME")
compilerArgs.addAll(listOf(
"-std=c++14",
......@@ -105,19 +113,37 @@ tasks.withType(CppCompile::class.java).configureEach {
)
)
}
"linux" -> {
compilerArgs.addAll(
listOf(
"-I$jdkHome/include/linux",
"-DSK_BUILD_FOR_LINUX",
"-DSK_R32_SHIFT=16"
)
)
}
}
}
tasks.withType(LinkSharedLibrary::class.java).configureEach {
when (target) {
"macos" -> {
linkerArgs.addAll(listOf(
linkerArgs.addAll(
listOf(
"-dead_strip",
"-framework", "CoreFoundation",
"-framework", "CoreGraphics",
"-framework", "CoreServices",
"-framework", "CoreText"
))
)
)
}
"linux" -> {
linkerArgs.addAll(
listOf(
"-lfontconfig"
)
)
}
}
}
......@@ -138,7 +164,7 @@ project.tasks.register<Jar>("skikoJar") {
archiveBaseName.set("skiko-$target")
archiveFileName.set(skikoJarFile)
from(kotlin.jvm().compilations["main"].output.allOutputs)
from(project.tasks.named("linkReleaseMacos").get().outputs.files.filter { it.isFile })
from(project.tasks.named("linkRelease${target.capitalize()}").get().outputs.files.filter { it.isFile })
}
val skikoArtifact = artifacts.add("archives", file(skikoJarFile)) {
......
../../../skija/java_delombok
\ No newline at end of file
package org.jetbrains.skiko
import org.jetbrains.skija.Library
import org.jetbrains.skija.Surface
fun main() {
println(SkiaWindow().nativeMethod(41))
val surface = Surface.makeRasterN32Premul(100, 100)
println(surface)
}
\ No newline at end of file
......@@ -3,6 +3,7 @@ package org.jetbrains.skiko
import org.jetbrains.skija.Library
class SkiaWindow {
companion object {
init {
Library.load("/", "skiko")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment