Home | History | Annotate | Download | only in android
      1 buildscript {
      2     repositories {
      3         jcenter()
      4     }
      5 
      6     dependencies {
      7         classpath 'com.android.tools.build:gradle-experimental:0.6.0-alpha3'
      8     }
      9 }
     10 
     11 apply plugin: 'com.android.model.application'
     12 
     13 def demosDir = "../.."
     14 def smokeDir = "${demosDir}/demos/Smoke"
     15 def glmDir = "${demosDir}/../libs"
     16 def vulkanDir = "${demosDir}/../Vulkan-Docs/src"
     17 
     18 Properties properties = new Properties()
     19 properties.load(project.rootProject.file('local.properties').newDataInputStream())
     20 def ndkDir = properties.getProperty('ndk.dir')
     21 
     22 model {
     23     android {
     24         compileSdkVersion = 23
     25         buildToolsVersion = "23.0.2"
     26 
     27         defaultConfig.with {
     28             applicationId = "com.example.Smoke"
     29             minSdkVersion.apiLevel = 22
     30             targetSdkVersion.apiLevel = 22
     31             versionCode = 1
     32             versionName = "0.1"
     33         }
     34     }
     35 
     36     android.ndk {
     37         moduleName = "Smoke"
     38         toolchain = "clang"
     39         stl = "c++_static"
     40 
     41         cppFlags.addAll(["-std=c++11", "-fexceptions"])
     42         cppFlags.addAll(["-Wall", "-Wextra", "-Wno-unused-parameter"])
     43 
     44         cppFlags.addAll([
     45             "-DVK_NO_PROTOTYPES",
     46             "-DVK_USE_PLATFORM_ANDROID_KHR",
     47             "-DGLM_FORCE_RADIANS",
     48         ])
     49 
     50         cppFlags.addAll([
     51             "-I${file("${ndkDir}/sources/android/native_app_glue")}".toString(),
     52             "-I${file("${vulkanDir}")}".toString(),
     53             "-I${file("${glmDir}")}".toString(),
     54             "-I${file("src/main/jni")}".toString(),
     55         ])
     56 
     57         ldLibs.addAll(["android", "log", "dl"])
     58     }
     59 
     60     android.sources {
     61         main {
     62             jni {
     63                 source {
     64                     srcDir "${ndkDir}/sources/android/native_app_glue"
     65                     srcDir "${smokeDir}"
     66                     exclude 'ShellXcb.cpp'
     67                     exclude 'ShellWin32.cpp'
     68                 }
     69             }
     70         }
     71     }
     72 
     73     android.buildTypes {
     74         release {
     75             ndk.with {
     76                 debuggable = true
     77             }
     78         }
     79     }
     80 
     81     android.productFlavors {
     82         create ("fat") {
     83             ndk.abiFilters.add("armeabi-v7a")
     84             ndk.abiFilters.add("x86")
     85         }
     86     }
     87 }
     88