···1717 hiltVersion = '2.35.1'
18181919 materialVersion = "1.3.0"
2020+2121+ // This is the version to download if we can't find it locally.
2222+ eigenFetchVersion = '3.4.0'
2023 }
2124 repositories {
2225 google()
+27
src/xrt/targets/openxr_android/build.gradle
···1616 id 'com.quittle.svg-2-android-vector'
1717}
18181919+// apply from: file("../android_common/fetch-eigen.gradle")
2020+1921androidGitVersion {
2022 tagPattern(/^v[0-9]+.*/)
2123 codeFormat = 'MMNPBBBBB'
···6870 filter(filterLicense)
6971 dependsOn downloadCddl
7072}
7373+7474+// Grab Eigen if we can't find it on the system.
7575+task downloadEigen(type: Download) {
7676+ src "https://gitlab.com/libeigen/eigen/-/archive/${project.eigenFetchVersion}/eigen-${project.eigenFetchVersion}.tar.gz"
7777+ dest new File(project.buildDir, "intermediates/eigenDownload/eigen-${project.eigenFetchVersion}.tar.gz")
7878+}
7979+8080+def eigenUnpackDir = new File(project.buildDir, 'intermediates/eigen')
8181+task unpackEigen(dependsOn: downloadEigen, type: Copy) {
8282+ from tarTree(downloadEigen.dest)
8383+ into eigenUnpackDir
8484+}
8585+8686+if (!(new File(project.file(project.eigenIncludeDir), "Eigen/Core")).exists()) {
8787+ println "project.eigenIncludeDir not set or not valid, so downloading Eigen at build time"
8888+ project.ext.eigenIncludeDir = "${eigenUnpackDir}/eigen-${project.eigenFetchVersion}"
8989+} else {
9090+ println "Using Eigen as specified/detected in project.eigenIncludeDir: ${project.eigenIncludeDir}"
9191+ downloadEigen.enabled = false
9292+ unpackEigen.enabled = false
9393+}
9494+7195android {
7296 compileSdkVersion project.sharedTargetSdk
7397 buildToolsVersion '30.0.3'
···102126 // Be sure to copy over licenses formatted as required.
103127 preBuild.dependsOn(copyLicenses)
104128 preBuild.dependsOn(copyDownloadedLicenses)
129129+130130+ // We also need the unpacked Eigen
131131+ preBuild.dependsOn(unpackEigen)
105132 }
106133107134 buildTypes {