···81 into eigenUnpackDir
82}
830000000000000000084if (!(new File(project.file(project.eigenCMakeDir), "Eigen3Config.cmake")).exists()) {
85 println "project.eigenCMakeDir not set or not valid, so downloading Eigen at build time"
86- project.ext.eigenCMakeDir = "${eigenUnpackDir}/eigen-${project.eigenFetchVersion}/cmake"
87} else {
88 println "Using Eigen as specified/detected in project.eigenCMakeDir: ${project.eigenCMakeDir}"
89 downloadEigen.enabled = false
90 unpackEigen.enabled = false
091}
9293// ***
···192 preBuild.dependsOn(copyLicenses)
193194 // We also need the unpacked Eigen
195- preBuild.dependsOn(unpackEigen)
196 }
197198 buildTypes {
···81 into eigenUnpackDir
82}
8384+def eigenBuildDir = new File(project.buildDir, 'intermediates/eigen-build')
85+tasks.register('configureEigen', Exec) {
86+ dependsOn unpackEigen
87+88+ doFirst {
89+ eigenBuildDir.mkdirs()
90+ }
91+92+ workingDir eigenBuildDir
93+94+ def eigenSourceDir = new File(eigenUnpackDir, "eigen-${project.eigenFetchVersion}")
95+96+ def cmakePath = "${android.sdkDirectory}/cmake/${project.cmake_version}/bin/cmake"
97+98+ commandLine cmakePath, eigenSourceDir.absolutePath
99+}
100+101if (!(new File(project.file(project.eigenCMakeDir), "Eigen3Config.cmake")).exists()) {
102 println "project.eigenCMakeDir not set or not valid, so downloading Eigen at build time"
103+ project.ext.eigenCMakeDir = "${eigenBuildDir}"
104} else {
105 println "Using Eigen as specified/detected in project.eigenCMakeDir: ${project.eigenCMakeDir}"
106 downloadEigen.enabled = false
107 unpackEigen.enabled = false
108+ configureEigen.enabled = false
109}
110111// ***
···210 preBuild.dependsOn(copyLicenses)
211212 // We also need the unpacked Eigen
213+ preBuild.dependsOn(configureEigen)
214 }
215216 buildTypes {