mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-27 02:01:42 +00:00
There is a shim for backwards compatibility, just like the frc namespace. As with the frc namespace, the library compiles without the shim.
113 lines
3.0 KiB
Groovy
113 lines
3.0 KiB
Groovy
apply plugin: 'cpp'
|
|
|
|
defineNetworkTablesProperties()
|
|
defineWpiUtilProperties()
|
|
|
|
ext.shared = "${project(':wpilibc').projectDir.getAbsolutePath()}/shared"
|
|
ext.athena = "${project(':wpilibc').projectDir.getAbsolutePath()}/athena"
|
|
ext.hal = project(':hal').projectDir.getAbsolutePath()
|
|
|
|
model {
|
|
components {
|
|
myRobotcpp(NativeExecutableSpec) {
|
|
targetPlatform 'roborio-arm'
|
|
binaries.all {
|
|
tasks.withType(CppCompile) {
|
|
cppCompiler.args "-DNAMESPACED_PRIORITY"
|
|
addNiLibraryLinks(linker, targetPlatform)
|
|
addNetworkTablesLibraryLinks(it, linker, targetPlatform)
|
|
addCsCoreLibraryLinks(it, linker, targetPlatform)
|
|
}
|
|
|
|
cppCompiler.args '-pthread', '-Wno-unused-variable'
|
|
linker.args '-pthread', '-Wno-unused-variable', '-Wl,-rpath,/opt/GenICam_v2_3/bin/Linux_armv7-a'
|
|
}
|
|
sources {
|
|
cpp {
|
|
source {
|
|
srcDir 'src'
|
|
include '**/*.cpp'
|
|
}
|
|
exportedHeaders {
|
|
srcDirs = ['include',
|
|
"${project.athena}/include", "${project.shared}/include",
|
|
"${project.hal}/include/HAL", netTablesInclude, wpiUtilInclude]
|
|
include '**/*.h'
|
|
}
|
|
|
|
lib project: ':wpilibc', library: 'wpilibc', linkage: 'shared'
|
|
lib project: ':hal', library: 'HALAthena', linkage: 'shared'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
def nativeDirectory = "$buildDir/output"
|
|
|
|
clean {
|
|
delete nativeDirectory
|
|
}
|
|
|
|
task copyRobotLibraries(type: Copy) {
|
|
description = 'Copies all native libraries to an easy to find folder'
|
|
group = 'WPILib'
|
|
destinationDir = file(nativeDirectory)
|
|
dependsOn ':hal:build'
|
|
dependsOn ':wpilibc:build'
|
|
dependsOn check
|
|
|
|
project(':wpilibc').model {
|
|
binaries {
|
|
withType(SharedLibraryBinarySpec) { spec ->
|
|
from(spec.sharedLibraryFile) {
|
|
into '/'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
project.model {
|
|
binaries {
|
|
withType(NativeExecutableBinarySpec) { spec ->
|
|
from(spec.executableFile) {
|
|
into '/'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
project(':hal').model {
|
|
binaries {
|
|
withType(SharedLibraryBinarySpec) { spec ->
|
|
from(spec.sharedLibraryFile) {
|
|
into '/'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
defineNetworkTablesProperties()
|
|
defineWpiUtilProperties()
|
|
defineCsCoreProperties()
|
|
|
|
from (file(netSharedLib)) {
|
|
into '/'
|
|
}
|
|
|
|
from (file(wpiUtilSharedLib)) {
|
|
into '/'
|
|
}
|
|
|
|
from (file(csLibArmLocation).path) {
|
|
include '**/*so.3.1'
|
|
include '**/libcscore.so'
|
|
include '**/libopencv_java310.so'
|
|
into '/'
|
|
}
|
|
|
|
}
|
|
|
|
|
|
build.dependsOn copyRobotLibraries
|