Add CMake path to gradle
authorliyuqian <liyuqian@google.com>
Mon, 2 May 2016 12:33:20 +0000 (05:33 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 2 May 2016 12:33:20 +0000 (05:33 -0700)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1921553009

Review-Url: https://codereview.chromium.org/1921553009

platform_tools/android/apps/build.gradle
platform_tools/android/apps/vulkanviewer/build.gradle

index 7622cbd..40e085c 100644 (file)
@@ -19,12 +19,12 @@ allprojects {
     }
 }
 
-def setupSkiaLibraryBuild(project, appVariants, buildCmd) {
+def setupSkiaLibraryBuild(project, appVariants, buildCmd, requireCMake = false) {
     appVariants.all{ variant ->
         def buildNativeLib = project.task("${variant.name}_SkiaNativeLib", type:Exec) {
             workingDir '../../../..' // top-level skia directory
             commandLine constructBuildCommand(variant, buildCmd).split()
-            environment PATH: getPathWithDepotTools()
+            environment PATH: getPathWithDeps(requireCMake)
             environment ANDROID_SDK_ROOT: getSDKPath()
         }
         buildNativeLib.onlyIf { !project.hasProperty("suppressNativeBuild") }
@@ -63,8 +63,7 @@ def getSDKPath() {
     return path
 }
 
-def getPathWithDepotTools() {
-    System.getenv("PATH") + ":" + getLocalProperties().getProperty('depot_tools.dir', null)
+def getPathWithDeps(requireCMake = false) {
     String path = System.getenv("PATH")
     if (!path.contains("depot_tools")) {
         path += ":" + getLocalProperties().getProperty('depot_tools.dir', null)
@@ -74,6 +73,18 @@ def getPathWithDepotTools() {
         throw GradleScriptException("Depot Tools not found! Please update your path to include" +
                                     " depot_tools or define depot_tools.dir in gradle.properties")
     }
+
+    if (requireCMake) {
+        String cmakePath = getSDKPath() + "/cmake/bin"
+        if (!file(cmakePath).exists()) {
+            throw new GradleScriptException("cmake not found! Please install the android SDK version" +
+                                        " of cmake.", null);
+        }
+        if (!path.contains(cmakePath)) {
+            path = cmakePath + ":" + path
+        }
+    }
+
     return path
 }
 
index d8825c5..731be4c 100644 (file)
@@ -20,5 +20,5 @@ android {
     sourceSets.main.jniLibs.srcDir "src/main/libs"
     productFlavors { arm {}; arm64 {}; x86 {}; x86_64 {}; mips {}; mips64 {}; }
 
-    setupSkiaLibraryBuild(project, applicationVariants, "--vulkan CopyVulkanViewerDeps")
+    setupSkiaLibraryBuild(project, applicationVariants, "--vulkan CopyVulkanViewerDeps", true)
 }