Unverified Commit 2a0a1044 authored by alexander-gorshenev's avatar alexander-gorshenev Committed by GitHub

Another way to have all skia static libs in the klib (#239)

parent e61b0db6
...@@ -303,22 +303,14 @@ kotlin { ...@@ -303,22 +303,14 @@ kotlin {
val unzipper = skiaDirProviderForCrossTargets[osArch]!! val unzipper = skiaDirProviderForCrossTargets[osArch]!!
val unpackedSkia = unzipper.get() val unpackedSkia = unzipper.get()
val skiaDir = unpackedSkia.absolutePath val skiaDir = unpackedSkia.absolutePath
val skiaBinSubdir = "out/${buildType.id}-$targetString"
val bridgesLibrary = "$buildDir/nativeBridges/static/$targetString/skiko-native-bridges-$targetString.a"
val allLibraries = skiaStaticLibraries(skiaDir, targetString) + bridgesLibrary
compilation.target.compilations.all { compilation.target.compilations.all {
kotlinOptions { kotlinOptions {
freeCompilerArgs += listOf( freeCompilerArgs = allLibraries.map{ listOf("-include-binary", it) }.flatten()
"-include-binary",
"$skiaDir/$skiaBinSubdir/libskia.a",
"-include-binary",
"$skiaDir/$skiaBinSubdir/libskshaper.a",
"-include-binary",
"$skiaDir/$skiaBinSubdir/libskparagraph.a",
"-include-binary",
"$buildDir/nativeBridges/static/$targetString/skiko-native-bridges-$targetString.a"
)
} }
} }
...@@ -472,6 +464,34 @@ fun skiaPreprocessorFlags(): Array<String> { ...@@ -472,6 +464,34 @@ fun skiaPreprocessorFlags(): Array<String> {
).toTypedArray() ).toTypedArray()
} }
fun skiaStaticLibraries(skiaDir: String, targetString: String): List<String> {
val skiaBinSubdir = "$skiaDir/out/${buildType.id}-$targetString"
return listOf(
"libskresources.a",
"libparticles.a",
"libskparagraph.a",
"libskia.a",
"libicu.a",
"libskottie.a",
"libsvg.a",
"libpng.a",
"libfreetype2.a",
"libwebp_sse41.a",
"libsksg.a",
"libskunicode.a",
"libwebp.a",
"libdng_sdk.a",
"libpiex.a",
"libharfbuzz.a",
"libexpat.a",
"libzlib.a",
"libjpeg.a",
"libskshaper.a"
).map{
"$skiaBinSubdir/$it"
}
}
// See https://docs.gradle.org/current/userguide/cpp_library_plugin.html. // See https://docs.gradle.org/current/userguide/cpp_library_plugin.html.
tasks.withType(CppCompile::class.java).configureEach { tasks.withType(CppCompile::class.java).configureEach {
// Prefer 'java.home' system property to simplify overriding from Intellij. // Prefer 'java.home' system property to simplify overriding from Intellij.
......
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