Files
PhotonVision/photonlib-cpp-examples/aimandrange/build.gradle

111 lines
3.4 KiB
Groovy
Raw Normal View History

plugins {
id "cpp"
id "google-test-test-suite"
2025-06-17 19:09:09 -04:00
id "edu.wpi.first.GradleRIO2027" version "2027.0.0-alpha-1"
}
repositories {
mavenLocal()
jcenter()
}
wpi.maven.useLocal = false
wpi.maven.useDevelopment = false
2025-06-17 19:09:09 -04:00
wpi.versions.wpilibVersion = "2027.0.+"
2024-09-14 23:10:02 -05:00
2025-06-17 19:09:09 -04:00
// Define my targets (SystemCore) and artifacts (deployable files)
// This is added by GradleRIO's backing project DeployUtils.
deploy {
targets {
2025-06-17 19:09:09 -04:00
systemcore(getTargetTypeClass('SystemCore')) {
// Team number is loaded either from the .wpilib/wpilib_preferences.json
// or from command line. If not found an exception will be thrown.
// You can use getTeamOrDefault(team) instead of getTeamNumber if you
// want to store a team number in this file.
team = project.frc.getTeamOrDefault(5940)
debug = project.frc.getDebugOrDefault(false)
artifacts {
// First part is artifact name, 2nd is artifact type
// getTargetTypeClass is a shortcut to get the class type using a string
frcCpp(getArtifactTypeClass('FRCNativeArtifact')) {
}
// Static files artifact
frcStaticFileDeploy(getArtifactTypeClass('FileTreeArtifact')) {
files = project.fileTree('src/main/deploy')
2025-06-17 19:09:09 -04:00
directory = '/home/systemcore/deploy'
deleteOldFiles = false // Change to true to delete files on SystemCore that no
2026-01-12 16:00:11 -06:00
// longer exist in deploy directory of this project
}
}
}
}
}
2025-06-17 19:09:09 -04:00
def deployArtifact = deploy.targets.systemcore.artifacts.frcCpp
// Set this to true to enable desktop support.
def includeDesktopSupport = true
// Set to true to run simulation in debug mode
wpi.cpp.debugSimulation = false
// Default enable simgui
wpi.sim.addGui().defaultEnabled = true
// Enable DS but not by default
wpi.sim.addDriverstation()
model {
components {
frcUserProgram(NativeExecutableSpec) {
2025-06-17 19:09:09 -04:00
targetPlatform wpi.platforms.systemcore
if (includeDesktopSupport) {
targetPlatform wpi.platforms.desktop
}
sources.cpp {
source {
srcDir 'src/main/cpp'
include '**/*.cpp', '**/*.cc'
}
exportedHeaders {
srcDir 'src/main/include'
}
}
// Set deploy task to deploy this component
deployArtifact.component = it
// Enable run tasks for this component
wpi.cpp.enableExternalTasks(it)
// Enable simulation for this component
wpi.sim.enable(it)
// Defining my dependencies. In this case, WPILib (+ friends), and vendor libraries.
wpi.cpp.vendor.cpp(it)
wpi.cpp.deps.wpilib(it)
}
}
testSuites {
frcUserProgramTest(GoogleTestTestSuiteSpec) {
testing $.components.frcUserProgram
sources.cpp {
source {
srcDir 'src/test/cpp'
include '**/*.cpp'
}
}
// Enable run tasks for this component
wpi.cpp.enableExternalTasks(it)
wpi.cpp.vendor.cpp(it)
wpi.cpp.deps.wpilib(it)
wpi.cpp.deps.googleTest(it)
}
}
}