Browse Source

Fix gradle sync on Windows host system.

Yao Wei Tjong 姚伟忠 7 years ago
parent
commit
a1b0eee8c9

+ 5 - 0
CMake/Modules/UrhoCommon.cmake

@@ -114,6 +114,11 @@ elseif (XCODE)
     set (DEPLOYMENT_TARGET_SAVED ${CMAKE_OSX_DEPLOYMENT_TARGET} CACHE INTERNAL "Last known deployment target")
 endif ()
 
+# To support Android Gradle build system on Windows host system
+if (ANDROID AND GRADLE_BUILD_DIR)
+    file (TO_CMAKE_PATH "${GRADLE_BUILD_DIR}" GRADLE_BUILD_DIR)
+endif ()
+
 include (CheckHost)
 include (CheckCompilerToolchain)
 

+ 9 - 1
android/launcher-app/build.gradle.kts

@@ -40,7 +40,7 @@ android {
         externalNativeBuild {
             cmake {
                 arguments.apply {
-                    add("-DANDROID_CCACHE=${System.getenv("ANDROID_CCACHE")}")
+                    System.getenv("ANDROID_CCACHE")?.let { add("-DANDROID_CCACHE=$it") }
                     add("-DGRADLE_BUILD_DIR=${findProject(":android:urho3d-lib")?.buildDir}")
                     addAll(listOf(
                             "URHO3D_LIB_TYPE",
@@ -92,6 +92,14 @@ dependencies {
 }
 
 afterEvaluate {
+    tasks {
+        getByName("clean") {
+            doLast {
+                delete(android.externalNativeBuild.cmake.buildStagingDirectory
+                        ?: project.file(".externalNativeBuild"))
+            }
+        }
+    }
     android.buildTypes.forEach {
         val config = it.name.capitalize()
         tasks {

+ 1 - 1
android/urho3d-lib/build.gradle.kts

@@ -39,7 +39,7 @@ android {
         externalNativeBuild {
             cmake {
                 arguments.apply {
-                    add("-DANDROID_CCACHE=${System.getenv("ANDROID_CCACHE")}")
+                    System.getenv("ANDROID_CCACHE")?.let { add("-DANDROID_CCACHE=$it") }
                     add("-DGRADLE_BUILD_DIR=$buildDir")
                     // Pass along matching Gradle properties as CMake build options
                     addAll(listOf(