aboutsummaryrefslogtreecommitdiff
path: root/build.gradle
blob: 5f657cb47d2edb60f28a0617fd06da76718cbe06 (plain)
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
50
51
52
53
54
55
56
57
58
59
60
61
62
import org.gradle.internal.os.OperatingSystem

buildscript {
  ext.kotlin_version = '1.2.31'

  repositories {
    mavenCentral()
  }
  dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
  }
}

group 'net.jamesbarnett'
version '1.0-SNAPSHOT'

apply plugin: 'kotlin'

repositories {
  mavenCentral()
  maven { url "https://dl.bintray.com/kotlin/kotlin-dev" }
  maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
  maven { url 'https://jitpack.io' }
}

test {
  useJUnitPlatform()
}

dependencies {
  compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"

  compile 'com.github.kotlin-graphics:imgui:v1.62-beta-02'

  switch (OperatingSystem.current()) {
    case OperatingSystem.WINDOWS:
      ext.lwjglNatives = "natives-windows"
      break
    case OperatingSystem.LINUX:
      ext.lwjglNatives = "natives-linux"
      break
    case OperatingSystem.MAC_OS:
      ext.lwjglNatives = "natives-macos"
      break
  }

  // Look up which modules and versions of LWJGL are required and add setup the appropriate natives.
  configurations.compile.resolvedConfiguration.getResolvedArtifacts().forEach {
    if (it.moduleVersion.id.group == "org.lwjgl") {
      runtime "org.lwjgl:${it.moduleVersion.id.name}:${it.moduleVersion.id.version}:${lwjglNatives}"
    }
  }

  testCompile 'io.kotlintest:kotlintest-runner-junit5:3.1.7'
}

compileKotlin {
  kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
  kotlinOptions.jvmTarget = "1.8"
}