| import org.gradle.language.base.internal.ProjectLayout |
| |
| repositories { |
| mavenCentral() |
| } |
| |
| apply plugin: 'cpp' |
| apply plugin: 'java' |
| apply plugin: 'visual-studio' |
| apply plugin: 'edu.wpi.first.NativeUtils' |
| |
| apply from: '../config.gradle' |
| |
| dependencies { |
| compile project(':wpilibj') |
| compile 'edu.wpi.first.wpiutil:wpiutil-java:+' |
| compile 'edu.wpi.first.ntcore:ntcore-java:+' |
| } |
| |
| model { |
| dependencyConfigs { |
| wpiutil(DependencyConfig) { |
| groupId = 'edu.wpi.first.wpiutil' |
| artifactId = 'wpiutil-cpp' |
| headerClassifier = 'headers' |
| ext = 'zip' |
| version = '+' |
| sharedConfigs = [ FRCUserProgram: [] ] |
| } |
| ntcore(DependencyConfig) { |
| groupId = 'edu.wpi.first.ntcore' |
| artifactId = 'ntcore-cpp' |
| headerClassifier = 'headers' |
| ext = 'zip' |
| version = '+' |
| sharedConfigs = [ FRCUserProgram: [] ] |
| } |
| cscore(DependencyConfig) { |
| groupId = 'edu.wpi.first.cscore' |
| artifactId = 'cscore-cpp' |
| headerClassifier = 'headers' |
| ext = 'zip' |
| version = '+' |
| sharedConfigs = [ FRCUserProgram: [] ] |
| } |
| opencv(DependencyConfig) { |
| groupId = 'org.opencv' |
| artifactId = 'opencv-cpp' |
| headerClassifier = 'headers' |
| ext = 'zip' |
| version = '3.2.0' |
| sharedConfigs = [ FRCUserProgram: [] ] |
| } |
| } |
| components { |
| FRCUserProgram(NativeExecutableSpec) { |
| sources { |
| cpp { |
| source { |
| srcDirs = ['src/main/native/cpp'] |
| } |
| exportedHeaders { |
| srcDirs = ['src/main/native/headers'] |
| } |
| } |
| } |
| binaries.all { binary-> |
| project(':ni-libraries').addNiLibrariesToLinker(binary) |
| project(':hal').addHalToLinker(binary) |
| project(':wpilibc').addWpilibCCompilerArguments(binary) |
| project(':wpilibc').addWpilibCToLinker(binary) |
| } |
| } |
| } |
| tasks { |
| runCpp(Exec) { |
| def found = false |
| $.components.each { |
| if (it in NativeExecutableSpec && it.name == 'FRCUserProgram') { |
| it.binaries.each { |
| if (!found) { |
| def arch = it.targetPlatform.architecture.name |
| if (arch == 'x86-64' || arch == 'x86') { |
| dependsOn it.tasks.install |
| commandLine it.tasks.install.runScript |
| found = true |
| } |
| } |
| } |
| } |
| } |
| } |
| installAthena(Task) { |
| $.binaries.each { |
| if (it in NativeExecutableBinarySpec && it.targetPlatform.architecture.name == 'athena') { |
| dependsOn it.tasks.install |
| } |
| } |
| } |
| } |
| } |