54 lines
1.4 KiB
Groovy
54 lines
1.4 KiB
Groovy
import java.nio.file.Paths
|
|
|
|
plugins {
|
|
id 'kotlin-multiplatform'
|
|
id 'maven-publish'
|
|
}
|
|
|
|
group 'org.jetbrains.kotlin.sample.native'
|
|
version '1.0'
|
|
|
|
def localRepo = rootProject.file('build/.m2-local')
|
|
|
|
publishing {
|
|
repositories {
|
|
maven { url = "file://$localRepo" }
|
|
}
|
|
}
|
|
|
|
task cleanLocalRepo(type: Delete) {
|
|
delete localRepo
|
|
}
|
|
|
|
// Determine host preset.
|
|
def hostPreset = MPPTools.defaultHostPreset(project, [kotlin.presets.macosX64, kotlin.presets.linuxX64])
|
|
|
|
kotlin {
|
|
targets {
|
|
fromPreset(hostPreset, 'libcurl') {
|
|
compilations.main.cinterops {
|
|
libcurl {
|
|
switch (hostPreset) {
|
|
case presets.macosX64:
|
|
includeDirs.headerFilterOnly '/opt/local/include', '/usr/local/include'
|
|
break
|
|
case presets.linuxX64:
|
|
includeDirs.headerFilterOnly '/usr/include', '/usr/include/x86_64-linux-gnu'
|
|
break
|
|
}
|
|
}
|
|
}
|
|
|
|
mavenPublication {
|
|
pom {
|
|
withXml {
|
|
def root = asNode()
|
|
root.appendNode('name', 'libcurl interop library')
|
|
root.appendNode('description', 'A library providing interoperability with host libcurl')
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|