Files
allwpilib/ntcore/build.gradle

64 lines
1.6 KiB
Groovy
Raw Normal View History

2018-04-29 13:29:07 -07:00
ext {
2022-10-08 10:01:31 -07:00
addNtcoreDependency = { binary, shared->
binary.lib project: ':ntcore', library: 'ntcore', linkage: shared
}
addNtcoreJniDependency = { binary->
binary.lib project: ':ntcore', library: 'ntcoreJNIShared', linkage: 'shared'
}
2018-04-29 13:29:07 -07:00
nativeName = 'ntcore'
devMain = 'edu.wpi.first.ntcore.DevMain'
generatedSources = "$projectDir/src/generated/main/native/cpp"
generatedHeaders = "$projectDir/src/generated/main/native/include"
2022-10-08 10:01:31 -07:00
jniSplitSetup = {
}
splitSetup = {
it.tasks.withType(CppCompile) {
it.includes 'src/main/native/cpp'
}
}
exeSplitSetup = {
}
2018-04-29 13:29:07 -07:00
}
apply from: "${rootDir}/shared/jni/setupBuild.gradle"
model {
components {}
binaries {
all {
if (!it.buildable || !(it instanceof NativeBinarySpec)) {
return
}
if (it.component.name == "${nativeName}JNI") {
lib project: ':wpinet', library: 'wpinet', linkage: 'static'
lib project: ':wpiutil', library: 'wpiutil', linkage: 'static'
} else {
lib project: ':wpinet', library: 'wpinet', linkage: 'shared'
lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared'
}
}
}
}
sourceSets.main.java.srcDir "${projectDir}/src/generated/main/java"
2022-10-08 10:01:31 -07:00
cppHeadersZip {
from(generatedHeaders) {
into '/'
}
}
Action<List<String>> symbolFilter = { symbols ->
symbols.removeIf({ !it.startsWith('NT_') })
} as Action<List<String>>;
nativeUtils.exportsConfigs {
ntcore {
}
ntcoreJNI {
x64SymbolFilter = symbolFilter
2018-04-29 13:29:07 -07:00
}
}