2020-08-06 23:57:39 -07:00
|
|
|
ext {
|
|
|
|
|
useJava = true
|
|
|
|
|
useCpp = true
|
|
|
|
|
baseId = 'wpimath'
|
|
|
|
|
groupId = 'edu.wpi.first.wpimath'
|
|
|
|
|
|
|
|
|
|
nativeName = 'wpimath'
|
2021-05-01 15:53:30 +00:00
|
|
|
devMain = 'edu.wpi.first.math.DevMain'
|
2024-04-27 22:42:42 -07:00
|
|
|
|
|
|
|
|
splitSetup = {
|
|
|
|
|
it.sources {
|
|
|
|
|
sleipnirCpp(CppSourceSet) {
|
|
|
|
|
source {
|
|
|
|
|
srcDirs 'src/main/native/thirdparty/sleipnir/src'
|
|
|
|
|
include '**/*.cpp'
|
|
|
|
|
}
|
|
|
|
|
exportedHeaders {
|
|
|
|
|
srcDirs 'src/main/native/thirdparty/eigen/include',
|
|
|
|
|
'src/main/native/thirdparty/fmt/include',
|
|
|
|
|
'src/main/native/thirdparty/sleipnir/include',
|
|
|
|
|
'src/main/native/thirdparty/sleipnir/src'
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-11-07 22:42:50 -08:00
|
|
|
nanopbCpp(CppSourceSet) {
|
|
|
|
|
source {
|
|
|
|
|
srcDirs 'src/generated/main/native/cpp'
|
|
|
|
|
include '**/*.cpp'
|
|
|
|
|
}
|
|
|
|
|
exportedHeaders {
|
|
|
|
|
srcDirs 'src/generated/main/native/cpp'
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-04-27 22:42:42 -07:00
|
|
|
}
|
|
|
|
|
}
|
2020-08-06 23:57:39 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
apply from: "${rootDir}/shared/jni/setupBuild.gradle"
|
|
|
|
|
|
2020-09-06 20:53:57 -07:00
|
|
|
cppHeadersZip {
|
2022-06-11 21:07:15 -07:00
|
|
|
from('src/main/native/thirdparty/eigen/include') {
|
2020-09-06 20:53:57 -07:00
|
|
|
into '/'
|
|
|
|
|
}
|
2022-10-31 11:17:00 -05:00
|
|
|
from('src/main/native/thirdparty/gcem/include') {
|
|
|
|
|
into '/'
|
|
|
|
|
}
|
2024-11-07 22:42:50 -08:00
|
|
|
from("src/generated/main/native/cpp/wpimath/protobuf") {
|
|
|
|
|
into '/wpimath/protobuf'
|
|
|
|
|
include '**/*.h'
|
|
|
|
|
}
|
2024-04-27 22:42:42 -07:00
|
|
|
from('src/main/native/thirdparty/sleipnir/include') {
|
|
|
|
|
into '/'
|
|
|
|
|
}
|
2020-09-06 20:53:57 -07:00
|
|
|
}
|
|
|
|
|
|
2020-08-06 23:57:39 -07:00
|
|
|
model {
|
|
|
|
|
components {
|
|
|
|
|
all {
|
|
|
|
|
it.sources.each {
|
|
|
|
|
it.exportedHeaders {
|
2022-06-11 21:07:15 -07:00
|
|
|
srcDirs 'src/main/native/include',
|
2022-10-31 11:17:00 -05:00
|
|
|
'src/main/native/thirdparty/eigen/include',
|
2024-04-27 22:42:42 -07:00
|
|
|
'src/main/native/thirdparty/gcem/include',
|
2024-11-07 22:42:50 -08:00
|
|
|
'src/main/native/thirdparty/sleipnir/include',
|
|
|
|
|
'src/generated/main/native/cpp'
|
2020-08-06 23:57:39 -07:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-04-27 22:42:42 -07:00
|
|
|
binaries {
|
|
|
|
|
all {
|
|
|
|
|
it.cppCompiler.define 'SLEIPNIR_EXPORTS'
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-08-06 23:57:39 -07:00
|
|
|
}
|
|
|
|
|
|
2023-11-23 21:47:06 -08:00
|
|
|
nativeUtils.exportsConfigs {
|
|
|
|
|
wpimath {
|
|
|
|
|
objectFilterClosure = { file ->
|
2024-11-07 22:42:50 -08:00
|
|
|
return file.name.endsWith('.pb.obj') || file.name.endsWith('.npb.obj')
|
2023-11-23 21:47:06 -08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-08-06 23:57:39 -07:00
|
|
|
dependencies {
|
2023-11-17 11:45:04 -05:00
|
|
|
api project(":wpiunits")
|
2023-10-17 19:51:17 -07:00
|
|
|
api "org.ejml:ejml-simple:0.43.1"
|
2023-08-18 19:18:33 -07:00
|
|
|
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"
|
2023-12-21 12:30:45 +08:00
|
|
|
api "us.hebi.quickbuf:quickbuf-runtime:1.3.3"
|
2020-08-06 23:57:39 -07:00
|
|
|
}
|
|
|
|
|
|
2023-12-01 23:52:38 -05:00
|
|
|
sourceSets.main.java.srcDir "${projectDir}/src/generated/main/java"
|
2024-11-20 10:59:37 -05:00
|
|
|
sourceSets.main.resources.srcDir "${projectDir}/src/main/proto"
|
2023-06-08 21:11:51 -07:00
|
|
|
|
|
|
|
|
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)
|