diff --git a/build.sbt b/build.sbt index 980d94ac7dfa44def911204da3bcd3355713118b..b421d4d8fd196f90f8f8138f6a3d611fa56521de 100644 --- a/build.sbt +++ b/build.sbt @@ -1,7 +1,15 @@ name := "prog-2" scalaVersion := "3.1.1" +enablePlugins(ScalaNativePlugin) + +nativeCompileOptions ++= Seq("-stdlib=libc++") +nativeLinkingOptions ++= Seq("-fuse-ld=lld") + +nativeMode := "release-fast" +nativeLTO := "thin" + libraryDependencies ++= Seq( - "org.scalatest" %% "scalatest-funsuite" % "3.2.11" % "test", - "org.scala-lang.modules" %% "scala-swing" % "3.0.0" + "org.scalatest" %% "scalatest-funsuite" % "3.2.11" % "test", + "org.scala-lang.modules" %% "scala-swing" % "3.0.0" ) diff --git a/project/plugins.sbt b/project/plugins.sbt index e24df6371380c712659b2c13386d0a3c6609efdf..edb0c6526b46e56b6c779ba4170c12ca0bcbad85 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,2 +1,3 @@ addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.6.1") addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.6") +addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.3") diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000000000000000000000000000000000000..135e4cde739209df21513362f8442b15fb7933d7 --- /dev/null +++ b/shell.nix @@ -0,0 +1,13 @@ +{ pkgs ? import <nixpkgs> { } }: + +with pkgs; + +let + llvmPackages = llvmPackages_13; + stdenv = llvmPackages.libcxxStdenv; +in stdenv.mkDerivation (rec { + name = "prog-2"; + buildInputs = [ llvmPackages.lld sbt SDL2 which ]; + LD_LIBRARY_PATH = + lib.makeLibraryPath [ llvmPackages.libcxx llvmPackages.libcxxabi SDL2 ]; +})