First pass for windows support.
This commit is contained in:
121
build.gradle
Normal file → Executable file
121
build.gradle
Normal file → Executable file
@@ -1,56 +1,65 @@
|
||||
apply plugin: 'java'
|
||||
apply plugin: 'groovy'
|
||||
apply plugin: 'cpp-lib'
|
||||
apply plugin: 'idea'
|
||||
apply plugin: 'application'
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
groovy 'org.codehaus.groovy:groovy:1.8.7'
|
||||
testCompile 'org.spockframework:spock-core:0.6-groovy-1.8'
|
||||
}
|
||||
|
||||
mainClassName = 'net.rubygrapefruit.platform.Main'
|
||||
def nativeHeadersDir = file("$buildDir/nativeHeaders")
|
||||
targetCompatibility = 1.5
|
||||
|
||||
libraries {
|
||||
main {
|
||||
spec {
|
||||
includes([nativeHeadersDir])
|
||||
if (org.gradle.internal.os.OperatingSystem.current().macOsX) {
|
||||
includes(['/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/'])
|
||||
} else {
|
||||
includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include"])
|
||||
includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include/linux"])
|
||||
}
|
||||
args("-lcurses")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
task nativeHeaders {
|
||||
def outputFile = file("$nativeHeadersDir/native.h")
|
||||
inputs.files sourceSets.main.output
|
||||
outputs.file outputFile
|
||||
doLast {
|
||||
outputFile.parentFile.mkdirs()
|
||||
exec {
|
||||
executable org.gradle.internal.jvm.Jvm.current().getExecutable('javah')
|
||||
args '-o', outputFile
|
||||
args '-classpath', sourceSets.main.output.classesDir
|
||||
args 'net.rubygrapefruit.platform.internal.NativeLibraryFunctions'
|
||||
args 'net.rubygrapefruit.platform.internal.PosixFileFunctions'
|
||||
args 'net.rubygrapefruit.platform.internal.PosixProcessFunctions'
|
||||
args 'net.rubygrapefruit.platform.internal.PosixTerminalFunctions'
|
||||
args 'net.rubygrapefruit.platform.internal.TerminfoFunctions'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
compileMain.dependsOn nativeHeaders
|
||||
test.dependsOn compileMain
|
||||
|
||||
apply plugin: 'java'
|
||||
apply plugin: 'groovy'
|
||||
apply plugin: 'cpp-lib'
|
||||
apply plugin: 'idea'
|
||||
apply plugin: 'application'
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
groovy 'org.codehaus.groovy:groovy:1.8.7'
|
||||
testCompile 'org.spockframework:spock-core:0.6-groovy-1.8'
|
||||
}
|
||||
|
||||
mainClassName = 'net.rubygrapefruit.platform.Main'
|
||||
def nativeHeadersDir = file("$buildDir/nativeHeaders")
|
||||
sourceCompatibility = 1.5
|
||||
targetCompatibility = 1.5
|
||||
|
||||
println org.gradle.internal.jvm.Jvm.current().javaHome
|
||||
println org.gradle.internal.jvm.Jvm.current().toolsJar
|
||||
|
||||
libraries {
|
||||
main {
|
||||
spec {
|
||||
includes([nativeHeadersDir])
|
||||
if (org.gradle.internal.os.OperatingSystem.current().macOsX) {
|
||||
includes(['/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/'])
|
||||
args("-lcurses")
|
||||
} else if (org.gradle.internal.os.OperatingSystem.current().windows) {
|
||||
includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include"])
|
||||
includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include/win32"])
|
||||
args("/DWIN32")
|
||||
} else {
|
||||
includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include"])
|
||||
includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include/linux"])
|
||||
args("-lcurses")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
task nativeHeaders {
|
||||
def outputFile = file("$nativeHeadersDir/native.h")
|
||||
inputs.files sourceSets.main.output
|
||||
outputs.file outputFile
|
||||
doLast {
|
||||
outputFile.parentFile.mkdirs()
|
||||
exec {
|
||||
executable org.gradle.internal.jvm.Jvm.current().getExecutable('javah')
|
||||
args '-o', outputFile
|
||||
args '-classpath', sourceSets.main.output.classesDir
|
||||
args 'net.rubygrapefruit.platform.internal.NativeLibraryFunctions'
|
||||
args 'net.rubygrapefruit.platform.internal.PosixFileFunctions'
|
||||
args 'net.rubygrapefruit.platform.internal.PosixProcessFunctions'
|
||||
args 'net.rubygrapefruit.platform.internal.PosixTerminalFunctions'
|
||||
args 'net.rubygrapefruit.platform.internal.TerminfoFunctions'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
compileMain.dependsOn nativeHeaders
|
||||
test.dependsOn compileMain
|
||||
|
||||
|
||||
Reference in New Issue
Block a user