blob: d13637c7110218d3ceb4f1813df26e693a403fa2 [file] [log] [blame]
Brian Silverman8fce7482020-01-05 13:18:21 -08001plugins {
2 id 'java'
3 id 'application'
4 id 'cpp'
5 id 'visual-studio'
6}
7
8apply plugin: 'edu.wpi.first.NativeUtils'
9
10apply from: "${rootDir}/shared/config.gradle"
11
12ext {
13 staticCvConfigs = [multiCameraServerCpp: []]
14 useJava = true
15 useCpp = true
16 skipDev = true
17}
18
19apply from: "${rootDir}/shared/opencv.gradle"
20
James Kuszmaulb13e13f2023-11-22 20:44:04 -080021application {
22 mainClass = 'edu.wpi.Main'
23}
Brian Silverman8fce7482020-01-05 13:18:21 -080024
25apply plugin: 'com.github.johnrengelman.shadow'
26
27repositories {
James Kuszmaulcf324122023-01-14 14:07:17 -080028 maven {
29 url = 'https://frcmaven.wpi.edu/artifactory/ex-mvn'
30 }
Brian Silverman8fce7482020-01-05 13:18:21 -080031}
32
33dependencies {
James Kuszmaulb13e13f2023-11-22 20:44:04 -080034 implementation 'com.google.code.gson:gson:2.10.1'
Brian Silverman8fce7482020-01-05 13:18:21 -080035
36 implementation project(':wpiutil')
James Kuszmaulcf324122023-01-14 14:07:17 -080037 implementation project(':wpinet')
Brian Silverman8fce7482020-01-05 13:18:21 -080038 implementation project(':ntcore')
39 implementation project(':cscore')
40 implementation project(':cameraserver')
41}
42
43model {
44 components {
45 multiCameraServerCpp(NativeExecutableSpec) {
Brian Silverman8fce7482020-01-05 13:18:21 -080046 sources {
47 cpp {
48 source {
49 srcDirs = ['src/main/native/cpp']
50 includes = ['**/*.cpp']
51 }
52 exportedHeaders {
53 srcDirs = ['src/main/native/include']
54 includes = ['**/*.h']
55 }
56 }
57 }
58 binaries.all { binary ->
Austin Schuh812d0d12021-11-04 20:16:48 -070059 lib project: ':cameraserver', library: 'cameraserver', linkage: 'static'
James Kuszmaulcf324122023-01-14 14:07:17 -080060 project(':ntcore').addNtcoreDependency(binary, 'static')
Austin Schuh812d0d12021-11-04 20:16:48 -070061 lib project: ':cscore', library: 'cscore', linkage: 'static'
James Kuszmaulcf324122023-01-14 14:07:17 -080062 lib project: ':wpinet', library: 'wpinet', linkage: 'static'
Austin Schuh812d0d12021-11-04 20:16:48 -070063 lib project: ':wpiutil', library: 'wpiutil', linkage: 'static'
James Kuszmaulb13e13f2023-11-22 20:44:04 -080064 if (binary.targetPlatform.name == nativeUtils.wpi.platforms.roborio) {
65 nativeUtils.useRequiredLibrary(binary, 'ni_link_libraries', 'ni_runtime_libraries')
66 }
Brian Silverman8fce7482020-01-05 13:18:21 -080067 }
68 }
69 }
70}