-
Notifications
You must be signed in to change notification settings - Fork 157
/
Copy pathbuild.sbt
49 lines (41 loc) · 2 KB
/
build.sbt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import sbt.Keys._
name := "FlyCapture2-demo"
ThisBuild / version := "1.5.9"
ThisBuild / scalaVersion := "2.13.15"
// Platform classifier for native library dependencies
lazy val platform = org.bytedeco.javacpp.Loader.Detector.getPlatform
val commonSettings = Seq(
scalacOptions ++= Seq("-Ymacro-annotations", "-unchecked", "-deprecation", "-Xlint", "-explaintypes"),
// Some dependencies like `javacpp` are packaged with maven-plugin packaging
classpathTypes += "maven-plugin",
libraryDependencies ++= Seq(
"org.bytedeco" % "flycapture" % "2.13.3.31-1.5.9" classifier "",
"org.bytedeco" % "flycapture" % "2.13.3.31-1.5.9" classifier platform,
"log4j" % "log4j" % "1.2.17",
"org.scala-lang" % "scala-reflect" % scalaVersion.value,
"org.scala-lang.modules" %% "scala-parser-combinators" % "2.4.0"
),
resolvers ++= Seq(
// Resolver.sonatypeRepo("snapshots"),
// Use local maven repo for local javacv builds
Resolver.mavenLocal
),
autoCompilerPlugins := true,
// fork a new JVM for 'run' and 'test:run'
fork := true,
// add a JVM option to use when forking a JVM for 'run'
javaOptions += "-Xmx1G"
)
val uiSettings = commonSettings ++ Seq(
libraryDependencies ++= Seq(
"com.typesafe.scala-logging" %% "scala-logging" % "3.9.5",
"org.slf4j" % "slf4j-api" % "2.0.7",
"org.slf4j" % "slf4j-log4j12" % "2.0.7",
"org.scalafx" %% "scalafx" % "20.0.0-R31",
"org.scalafx" %% "scalafxml-core-sfx8" % "0.5",
"org.scalafx" %% "scalafx-extras" % "0.8.0"
)
)
lazy val check_macro = project.in(file("check_macro")).settings(commonSettings: _*)
lazy val examples = project.in(file("examples")).settings(commonSettings: _*).dependsOn(check_macro)
lazy val example_ui = project.in(file("example_ui")).settings(uiSettings: _*).dependsOn(check_macro)