// this template is for windows platform to build | |
// need gcc, could not use clang | |
// disable -Werror compile flag | |
// This is temp workaround, clean fix will be provided soon so all OSes should use | |
// common.gradle | |
apply plugin: 'com.android.model.native' | |
Properties properties = new Properties() | |
properties.load(project.rootProject.file('local.properties').newDataInputStream()) | |
def ndkDir = properties.getProperty('ndk.dir') | |
model { | |
android { | |
compileSdkVersion = 23 | |
buildToolsVersion = "23.0.2" | |
defaultConfig.with { | |
minSdkVersion.apiLevel = 22 | |
targetSdkVersion.apiLevel = 24 | |
versionCode = 1 | |
versionName = "0.0.1" | |
} | |
} | |
android.ndk { | |
moduleName = "VkLayer_${project.name}" | |
toolchain = "gcc" | |
stl = "gnustl_static" | |
ldLibs.addAll(["log", "android"]) | |
cppFlags.addAll(["-std=c++11", "-DVK_PROTOTYPES", "-Wall", | |
"-Wno-unused-function", "-Wno-unused-const-variable", | |
"-DVK_USE_PLATFORM_ANDROID_KHR"]) | |
cppFlags.addAll(["-I${file("../../../../layers")}".toString(), | |
"-I${file("../../../../include")}".toString(), | |
"-I${file("../../../../loader")}".toString(), | |
"-I${file("../../include")}".toString(), | |
"-I${file("../../../../external/glslang")}".toString()]) | |
} | |
// Turn on hard float support in armeabi-v7a | |
android.abis { | |
create("armeabi-v7a") { | |
cppFlags.addAll(["-mhard-float", "-D_NDK_MATH_NO_SOFTFP=1", "-mfloat-abi=hard"]) | |
ldLibs.add("m_hard") | |
ldFlags.add("-Wl,--no-warn-mismatch") | |
} | |
} | |
android.sources { | |
main { | |
jni { | |
source { | |
srcDir "../../layer-src/${project.name}" | |
srcDir '../../common' | |
} | |
} | |
} | |
} | |
android.buildTypes { | |
release { | |
ndk.with { | |
debuggable = true | |
} | |
minifyEnabled = false | |
} | |
} | |
android.productFlavors { | |
create ("all") { | |
ndk.abiFilters.addAll(["armeabi-v7a", 'arm64-v8a', | |
'x86', 'x86_64']) | |
} | |
} | |
} |