Files
kotlin-fork/Interop/Indexer/build.gradle
T

72 lines
1.5 KiB
Groovy

buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
apply plugin: 'kotlin'
apply plugin: 'c'
println ">>>>$ext.llvmInstallPath -> -I$llvmInstallPath/include"
def javaHome = System.getProperty('java.home')
def compilerArgsForJniIncludes = ["", "linux", "darwin"].collect { "-I$javaHome/../include/$it" } as String[]
model {
components {
callback(NativeLibrarySpec) {
binaries.all {
cCompiler.args compilerArgsForJniIncludes
}
}
clangbridge(NativeLibrarySpec) {
sources {
c.source.srcDir 'prebuilt/nativeInteropStubs/c'
}
binaries.all {
cCompiler.args compilerArgsForJniIncludes
cCompiler.args "-I$llvmInstallPath/include"
}
binaries.withType(SharedLibraryBinarySpec) {
linker.args "-L$llvmInstallPath/lib", "-lclang"
}
}
}
}
sourceSets {
main {
kotlin {
srcDirs 'prebuilt/nativeInteropStubs/kotlin'
}
}
}
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile project(':Interop:Runtime')
}
task nativelibs(type: Copy) {
dependsOn 'callbackSharedLibrary', 'clangbridgeSharedLibrary'
from "$buildDir/libs/callback/shared/"
from "$buildDir/libs/clangbridge/shared/"
into "$buildDir/nativelibs/"
}
classes.dependsOn nativelibs