blob: e16e5e72024db6849fe9382fe3611b509f65398c [file] [log] [blame]
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)