mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-07-05 03:21:42 +00:00
* Revert "Force OpenCV to 3.1.0 (#602)"
This reverts commit 50ed55e8e2.
* Removes Simulation
* Removes old build system
* Removes old gtest
* Adds new gmock and gtest
* Updates to new ni-libraries
* removes MyRobot (to be replaced)
* moves files to new location
* Adds new sim backend and new test executables
* updates .styleguide and .gitignore
* Changes cpp WPILibVersion to a function
MSVC throws an AV with the old version.
* Disables USBCamera on all systems except for linux
* 2018 NI Libraries
* New build system
119 lines
4.1 KiB
Groovy
119 lines
4.1 KiB
Groovy
import org.gradle.language.base.internal.ProjectLayout
|
|
|
|
apply plugin: 'cpp'
|
|
apply plugin: 'visual-studio'
|
|
apply plugin: 'edu.wpi.first.NativeUtils'
|
|
|
|
apply from: '../config.gradle'
|
|
|
|
model {
|
|
dependencyConfigs {
|
|
wpiutil(DependencyConfig) {
|
|
groupId = 'edu.wpi.first.wpiutil'
|
|
artifactId = 'wpiutil-cpp'
|
|
headerClassifier = 'headers'
|
|
ext = 'zip'
|
|
version = '+'
|
|
sharedConfigs = [ wpilibcIntegrationTests: [] ]
|
|
}
|
|
ntcore(DependencyConfig) {
|
|
groupId = 'edu.wpi.first.ntcore'
|
|
artifactId = 'ntcore-cpp'
|
|
headerClassifier = 'headers'
|
|
ext = 'zip'
|
|
version = '+'
|
|
sharedConfigs = [ wpilibcIntegrationTests: [] ]
|
|
}
|
|
opencv(DependencyConfig) {
|
|
groupId = 'org.opencv'
|
|
artifactId = 'opencv-cpp'
|
|
headerClassifier = 'headers'
|
|
ext = 'zip'
|
|
version = '3.2.0'
|
|
sharedConfigs = [ wpilibcIntegrationTests: [] ]
|
|
}
|
|
cscore(DependencyConfig) {
|
|
groupId = 'edu.wpi.first.cscore'
|
|
artifactId = 'cscore-cpp'
|
|
headerClassifier = 'headers'
|
|
ext = 'zip'
|
|
version = '+'
|
|
sharedConfigs = [ wpilibcIntegrationTests: [] ]
|
|
}
|
|
}
|
|
}
|
|
|
|
model {
|
|
components {
|
|
wpilibcIntegrationTests(NativeExecutableSpec) {
|
|
baseName = 'FRCUserProgram'
|
|
sources {
|
|
cpp {
|
|
source {
|
|
srcDirs = ["${rootDir}/gmock/gtest/src", 'src/FRCUserProgram/cpp']
|
|
includes = ['*-all.cc', '*_main.cc', '*.cpp']
|
|
}
|
|
exportedHeaders {
|
|
srcDirs = ["${rootDir}/gmock/gtest/include", "${rootDir}/gmock/gtest", 'src/FRCUserProgram/headers']
|
|
includes = ['**/*.h', '**/*.cc']
|
|
}
|
|
}
|
|
}
|
|
binaries.all { binary->
|
|
if (binary.targetPlatform.architecture.name == 'athena') {
|
|
binary.tasks.withType(CppCompile) {
|
|
cppCompiler.args "-Wno-missing-field-initializers"
|
|
cppCompiler.args "-Wno-unused-variable"
|
|
}
|
|
project(':ni-libraries').addNiLibrariesToLinker(binary)
|
|
project(':hal').addHalCompilerArguments(binary)
|
|
project(':hal').addHalToLinker(binary)
|
|
project(':wpilibc').addWpilibCCompilerArguments(binary)
|
|
project(':wpilibc').addWpilibCToLinker(binary)
|
|
} else {
|
|
binary.buildable = false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
def testOutputFolder = file("${project(':').buildDir}/integrationTestFiles")
|
|
|
|
model {
|
|
tasks {
|
|
copyWpilibCTestLibrariesToOutput(Task) {
|
|
$.binaries.each {
|
|
if (it in NativeExecutableBinarySpec && it.targetPlatform.architecture.name == 'athena') {
|
|
def spec = it
|
|
dependsOn spec.buildTask
|
|
}
|
|
}
|
|
outputs.file testOutputFolder
|
|
outputs.upToDateWhen { false }
|
|
|
|
def bin = $.binaries
|
|
doLast {
|
|
bin.each {
|
|
if (it in NativeExecutableBinarySpec && it.targetPlatform.architecture.name == 'athena') {
|
|
def spec = it
|
|
spec.libs.each {
|
|
it.runtimeFiles.each { f ->
|
|
copy {
|
|
from file(f)
|
|
into testOutputFolder.toString() + '/libs'
|
|
}
|
|
}
|
|
}
|
|
copy {
|
|
from spec.executable.file
|
|
into testOutputFolder.toString() + '/cpp'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
build.dependsOn copyWpilibCTestLibrariesToOutput
|
|
}
|
|
}
|