WarHorse/build.gradle
2026-01-10 21:28:21 +00:00

82 lines
No EOL
3.3 KiB
Groovy

import org.gradle.internal.os.OperatingSystem
plugins {
id 'application'
id 'java'
}
project.ext.lwjglVersion = "3.3.6"
project.ext.jomlVersion = "1.10.8"
project.ext.jomlprimitivesVersion = "1.10.0"
project.ext.lwjgl3awtVersion = "0.1.8"
project.ext.steamworks4jVersion = "1.9.0"
project.ext.steamworks4jserverVersion = "1.9.0"
switch (OperatingSystem.current()) {
case OperatingSystem.LINUX:
project.ext.lwjglNatives = "natives-linux"
def osArch = System.getProperty("os.arch")
if (osArch.startsWith("arm") || osArch.startsWith("aarch64")) {
project.ext.lwjglNatives += osArch.contains("64") || osArch.startsWith("armv8") ? "-arm64" : "-arm32"
} else if (osArch.startsWith("ppc")) {
project.ext.lwjglNatives += "-ppc64le"
} else if (osArch.startsWith("riscv")) {
project.ext.lwjglNatives += "-riscv64"
}
break
case OperatingSystem.MAC_OS:
project.ext.lwjglNatives = System.getProperty("os.arch").startsWith("aarch64") ? "natives-macos-arm64" : "natives-macos"
break
case OperatingSystem.WINDOWS:
def osArch = System.getProperty("os.arch")
project.ext.lwjglNatives = osArch.contains("64")
? "natives-windows${osArch.startsWith("aarch64") ? "-arm64" : ""}"
: "natives-windows-x86"
break
}
repositories {
mavenCentral()
}
dependencies {
implementation platform("org.lwjgl:lwjgl-bom:$lwjglVersion")
implementation "org.lwjgl:lwjgl"
implementation "org.lwjgl:lwjgl-assimp"
implementation "org.lwjgl:lwjgl-cuda"
implementation "org.lwjgl:lwjgl-fmod"
implementation "org.lwjgl:lwjgl-freetype"
implementation "org.lwjgl:lwjgl-glfw"
implementation "org.lwjgl:lwjgl-jawt"
implementation "org.lwjgl:lwjgl-jemalloc"
implementation "org.lwjgl:lwjgl-llvm"
implementation "org.lwjgl:lwjgl-lmdb"
implementation "org.lwjgl:lwjgl-meshoptimizer"
implementation "org.lwjgl:lwjgl-odbc"
implementation "org.lwjgl:lwjgl-openal"
implementation "org.lwjgl:lwjgl-rpmalloc"
implementation "org.lwjgl:lwjgl-shaderc"
implementation "org.lwjgl:lwjgl-stb"
implementation "org.lwjgl:lwjgl-tootle"
implementation "org.lwjgl:lwjgl-vma"
implementation "org.lwjgl:lwjgl-vulkan"
implementation "org.lwjgl:lwjgl::$lwjglNatives"
implementation "org.lwjgl:lwjgl-assimp::$lwjglNatives"
implementation "org.lwjgl:lwjgl-freetype::$lwjglNatives"
implementation "org.lwjgl:lwjgl-glfw::$lwjglNatives"
implementation "org.lwjgl:lwjgl-jemalloc::$lwjglNatives"
implementation "org.lwjgl:lwjgl-llvm::$lwjglNatives"
implementation "org.lwjgl:lwjgl-lmdb::$lwjglNatives"
implementation "org.lwjgl:lwjgl-meshoptimizer::$lwjglNatives"
implementation "org.lwjgl:lwjgl-openal::$lwjglNatives"
implementation "org.lwjgl:lwjgl-rpmalloc::$lwjglNatives"
implementation "org.lwjgl:lwjgl-shaderc::$lwjglNatives"
implementation "org.lwjgl:lwjgl-stb::$lwjglNatives"
implementation "org.lwjgl:lwjgl-tootle::$lwjglNatives"
implementation "org.lwjgl:lwjgl-vma::$lwjglNatives"
if (lwjglNatives == "natives-macos" || lwjglNatives == "natives-macos-arm64") implementation "org.lwjgl:lwjgl-vulkan::$lwjglNatives"
implementation "org.joml:joml:${jomlVersion}"
implementation "org.joml:joml-primitives:${jomlprimitivesVersion}"
implementation "org.lwjglx:lwjgl3-awt:${lwjgl3awtVersion}"
implementation "com.code-disaster.steamworks4j:steamworks4j:${steamworks4jVersion}"
implementation "com.code-disaster.steamworks4j:steamworks4j-server:${steamworks4jserverVersion}"
}