mirror of
https://gitlab.com/cc-ru/ocelot/ocelot-desktop.git
synced 2026-01-06 11:12:39 +01:00
Add support for manually compiled LWJGL instance
This commit is contained in:
parent
1a69b55f5e
commit
b67cd2a7f2
14
build.sbt
14
build.sbt
@ -14,6 +14,15 @@ lazy val root = project.in(file("."))
|
||||
)
|
||||
)
|
||||
|
||||
// Ensure Java 8 compatibility
|
||||
javacOptions ++= Seq("-source", "1.8", "-target", "1.8")
|
||||
initialize := {
|
||||
val _ = initialize.value
|
||||
val required = "1.8"
|
||||
val current = sys.props("java.specification.version")
|
||||
assert(current == required, s"Incompatible JDK: java.specification.version $current != $required")
|
||||
}
|
||||
|
||||
lazy val brain = ProjectRef(file("lib/ocelot-brain"), "ocelot-brain")
|
||||
|
||||
libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value
|
||||
@ -28,9 +37,8 @@ libraryDependencies += "org.apache.logging.log4j" % "log4j-slf4j-impl" % "2.20.0
|
||||
val lwjglVersion = "2.9.3"
|
||||
|
||||
libraryDependencies += "org.lwjgl.lwjgl" % "lwjgl" % lwjglVersion
|
||||
libraryDependencies += "org.lwjgl.lwjgl" % "lwjgl-platform" % lwjglVersion classifier "natives-linux"
|
||||
libraryDependencies += "org.lwjgl.lwjgl" % "lwjgl-platform" % lwjglVersion classifier "natives-windows"
|
||||
libraryDependencies += "org.lwjgl.lwjgl" % "lwjgl-platform" % lwjglVersion classifier "natives-osx"
|
||||
|
||||
Compile / unmanagedResourceDirectories += baseDirectory.value / "lib" / "native"
|
||||
|
||||
libraryDependencies += "com.github.stephengold" % "j-ogg-all" % "1.0.3"
|
||||
libraryDependencies += "com.github.wendykierp" % "JTransforms" % "3.1"
|
||||
|
||||
@ -245,6 +245,7 @@ object UiHandler extends Logging {
|
||||
|
||||
val arch = System.getProperty("os.arch")
|
||||
val is64bit = arch.startsWith("amd64")
|
||||
val isArm64 = arch.equals("aarch64") || arch.startsWith("arm64")
|
||||
|
||||
val libs = {
|
||||
if (SystemUtils.IS_OS_WINDOWS) {
|
||||
@ -253,7 +254,11 @@ object UiHandler extends Logging {
|
||||
else
|
||||
Array("jinput-dx8.dll", "jinput-raw.dll", "jinput-wintab.dll", "lwjgl.dll", "OpenAL32.dll")
|
||||
} else if (SystemUtils.IS_OS_MAC_OSX)
|
||||
Array("liblwjgl.dylib")
|
||||
if (isArm64) {
|
||||
Array("liblwjgl-arm64.dylib")
|
||||
} else {
|
||||
Array("liblwjgl.dylib")
|
||||
}
|
||||
else if (SystemUtils.IS_OS_LINUX) {
|
||||
if (is64bit)
|
||||
Array("libjinput-linux64.so", "liblwjgl64.so", "libopenal64.so")
|
||||
@ -266,7 +271,10 @@ object UiHandler extends Logging {
|
||||
logger.debug(s"Unpacking native libraries to: $librariesPath")
|
||||
|
||||
for (lib <- libs) {
|
||||
val dest = new File(Paths.get(librariesPath, lib).toString)
|
||||
val destinationFilename = if (SystemUtils.IS_OS_MAC_OSX) "liblwjgl.dylib" else lib
|
||||
val dest = new File(Paths.get(librariesPath, destinationFilename).toString)
|
||||
|
||||
logger.debug(s"Unpacking $lib to $dest")
|
||||
|
||||
if (!dest.exists()) {
|
||||
val source = getClass.getResourceAsStream("/" + lib)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user