| import com.hubspot.jinjava.Jinjava; |
| import com.hubspot.jinjava.JinjavaConfig; |
| |
| ext { |
| useJava = true |
| useCpp = true |
| baseId = 'wpimath' |
| groupId = 'edu.wpi.first.wpimath' |
| |
| nativeName = 'wpimath' |
| devMain = 'edu.wpi.first.math.DevMain' |
| } |
| |
| apply from: "${rootDir}/shared/jni/setupBuild.gradle" |
| |
| cppHeadersZip { |
| from('src/main/native/thirdparty/eigen/include') { |
| into '/' |
| } |
| from('src/main/native/thirdparty/gcem/include') { |
| into '/' |
| } |
| from("$buildDir/generated/source/proto/main/cpp") { |
| into '/wpimath/protobuf' |
| include '*.h' |
| } |
| } |
| |
| cppHeadersZip.dependsOn generateProto |
| |
| model { |
| components { |
| all { |
| it.sources.each { |
| it.exportedHeaders { |
| srcDirs 'src/main/native/include', |
| 'src/main/native/thirdparty/eigen/include', |
| 'src/main/native/thirdparty/gcem/include' |
| } |
| } |
| } |
| } |
| } |
| |
| nativeUtils.exportsConfigs { |
| wpimath { |
| x64ExcludeSymbols = [ |
| '_CT??_R0?AV_System_error', |
| '_CT??_R0?AVexception', |
| '_CT??_R0?AVfailure', |
| '_CT??_R0?AVruntime_error', |
| '_CT??_R0?AVsystem_error', |
| '_CTA5?AVfailure', |
| '_TI5?AVfailure', |
| '_CT??_R0?AVout_of_range', |
| '_CTA3?AVout_of_range', |
| '_TI3?AVout_of_range', |
| '_CT??_R0?AVbad_cast' |
| ] |
| objectFilterClosure = { file -> |
| return file.name.endsWith('.pb.obj') |
| } |
| } |
| } |
| |
| dependencies { |
| api project(":wpiunits") |
| api "org.ejml:ejml-simple:0.43.1" |
| api "com.fasterxml.jackson.core:jackson-annotations:2.15.2" |
| api "com.fasterxml.jackson.core:jackson-core:2.15.2" |
| api "com.fasterxml.jackson.core:jackson-databind:2.15.2" |
| api "us.hebi.quickbuf:quickbuf-runtime:1.3.3" |
| } |
| |
| sourceSets.main.java.srcDir "${projectDir}/src/generated/main/java" |
| |
| task unitsHeaders(type: Zip) { |
| destinationDirectory = file("$buildDir/outputs") |
| archiveBaseName = zipBaseName |
| archiveClassifier = "units" |
| |
| from(licenseFile) { |
| into '/' |
| } |
| |
| ext.includeDirs = [ |
| project.file('src/main/native/include/units') |
| ] |
| |
| ext.includeDirs.each { |
| from(it) { |
| into '/units' |
| } |
| } |
| } |
| |
| addTaskToCopyAllOutputs(unitsHeaders) |