import org.gradle.internal.jvm.Jvm plugins { id 'java' id 'eclipse' id 'application' id 'cpp' } application { mainClass = 'com.bernard.sboard.SBoard' applicationDefaultJvmArgs += ["-Djava.library.path=${projectDir}/build/libs/jlilv/shared/"] } println "Building on OS: " + System.properties['os.name'] println "Using JDK: " + System.properties['java.home'] def JNI_CFLAGS = ['-I',System.properties['java.home'] + "/include/",'-I',System.properties['java.home'] + "/include/linux/"] def LILV_CFLAGS = ['pkg-config','--cflags','lilv-0'].execute().text.trim() def JNI_LDFLAGS = "" def LILV_LDFLAGS = ['pkg-config','--libs','lilv-0'].execute().text.trim() println "Using JNI C Flags: " + JNI_CFLAGS println "Using LILV C Flags: " + LILV_CFLAGS println "Using JNI ld Flags: " + JNI_LDFLAGS println "Using LILV ld Flags: " + LILV_LDFLAGS model { components { jlilv(NativeLibrarySpec) { sources { cpp { source { srcDir 'src/main/jni' include "**/*.cpp" } } } } } toolChains { gcc(Gcc) { eachPlatform { cppCompiler.withArguments { args -> args.add("-O2") args.addAll(JNI_CFLAGS) args.addAll("$LILV_CFLAGS".split(" ")) args.addAll(["-I","${projectDir}/build/generated/sources/headers/java/main/"]) args << "-std=c++11" } linker.withArguments { args -> args << "-O2" //args.addAll("$JNI_LDFLAGS".split(" ")) args.addAll("$LILV_LDFLAGS".split(" ")) args << "-lstdc++" } } } } } run { dependsOn build } sourceSets { main { java { srcDir 'src/app/java' } resources { srcDir 'src/app/resources' } } test { java { srcDir 'src/test/java' } resources { srcDir 'src/test/resources' } } }