@@ -26,6 +26,7 @@ val withGPL: Boolean = findProperty("ffmpeg.gpl").toString().toBoolean()
2626val platformExtension = " -gpl" .takeIf { withGPL }.orEmpty()
2727val platformString = findProperty(" ffmpeg.platform" )?.toString()
2828val platform = platformString?.let { Platform (it, platformExtension) } ? : NativePlatform .platform(platformExtension)
29+ val compileDir = layout.projectDirectory.dir(" cppbuild/${platform} " )
2930
3031val compileNative = if (deployNative) {
3132 tasks.register<Exec >(" compileNative" ) {
@@ -44,7 +45,10 @@ val compileNative = if (deployNative) {
4445 inputs.files(layout.projectDirectory.files(" cppbuild.sh" ))
4546 inputs.files(layout.projectDirectory.files(" *.patch" ))
4647 inputs.files(layout.projectDirectory.files(" *.diff" ))
47- outputs.dir(layout.projectDirectory.dir(" cppbuild/${platform} " ))
48+ outputs.dir(compileDir.dir(" bin" ))
49+ outputs.dir(compileDir.dir(" include" ))
50+ outputs.dir(compileDir.dir(" lib" ))
51+ outputs.dir(compileDir.dir(" share" ))
4852 outputs.cacheIf { true }
4953 }
5054} else null
@@ -57,17 +61,15 @@ fun AbstractCopyTask.licenses() {
5761
5862val nativesJar = if (deployNative) {
5963 tasks.register<Jar >(" nativesJar" ) {
64+ dependsOn(compileNative)
6065 // Required for configuration cache
6166 val platform =
6267 platformString?.let { Platform (it, platformExtension) } ? : NativePlatform .platform(platformExtension)
6368
64- from(compileNative!! .get().outputs.files) {
65- include(" lib/*.so" )
66- include(" lib/*.dll" )
67- include(" lib/*.dylib" )
68- eachFile {
69- path = " natives/$platform /$name "
70- }
69+ from(compileDir.dir(" lib" )) {
70+ include(" *.so" )
71+ include(" *.dll" )
72+ include(" *.dylib" )
7173 into(" natives/$platform /" )
7274 }
7375 licenses()
@@ -76,7 +78,8 @@ val nativesJar = if (deployNative) {
7678
7779val zipBuild = if (deployNative) {
7880 tasks.register<Zip >(" zipBuild" ) {
79- from(compileNative!! .get().outputs.files) {
81+ dependsOn(compileNative)
82+ from(compileDir) {
8083 include(" bin/**/*" )
8184 include(" include/**/*" )
8285 include(" lib/**/*" )
0 commit comments