Fixed
Status Update
Comments
xa...@google.com <xa...@google.com>
jo...@google.com <jo...@google.com> #2
This is a regression 2.3.x.
In that version you can set arguments that take precedence:
Executable : /usr/local/google/home/jomof/Android/Sdk/cmake/3.6.3155560/bin/cmake
arguments :
-H/usr/local/google/home/jomof/projects/MyApplication73/app
-B/usr/local/google/home/jomof/projects/MyApplication73/app/.externalNativeBuild/cmake/debug/arm64-v8a
-GAndroid Gradle - Ninja
-DANDROID_ABI=arm64-v8a
-DANDROID_NDK=/usr/local/google/home/jomof/Android/Sdk/ndk-bundle
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/usr/local/google/home/jomof/projects/MyApplication73/app/build/intermediates/cmake/debug/obj/arm64-v8a
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_MAKE_PROGRAM=/usr/local/google/home/jomof/Android/Sdk/cmake/3.6.3155560/bin/ninja
-DCMAKE_TOOLCHAIN_FILE=/usr/local/google/home/jomof/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake
-DANDROID_PLATFORM=android-21
-DCMAKE_CXX_FLAGS=
-DXXX=1
jvmArgs :
In 3.0.0.beta this is the order:
Executable : /usr/local/google/home/jomof/Android/Sdk/cmake/3.6.3155560/bin/cmake
arguments :
-H/usr/local/google/home/jomof/projects/MyApplication74/app
-B/usr/local/google/home/jomof/projects/MyApplication74/app/.externalNativeBuild/cmake/debug/arm64-v8a
-DCMAKE_SYSTEM_NAME=Android
-DANDROID_ABI=arm64-v8a
-DANDROID_PLATFORM=android-21
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/usr/local/google/home/jomof/projects/MyApplication74/app/build/intermediates/cmake/debug/obj/arm64-v8a
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_MAKE_PROGRAM=/usr/local/google/home/jomof/Android/Sdk/cmake/3.6.3155560/bin/ninja
-DCMAKE_CXX_FLAGS=
-DXXX=1
-DCMAKE_TOOLCHAIN_FILE=/usr/local/google/home/jomof/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake
-DANDROID_NDK=/usr/local/google/home/jomof/Android/Sdk/ndk-bundle
-GAndroid Gradle - Ninja
jvmArgs :
We should restore the original flag order
In that version you can set arguments that take precedence:
Executable : /usr/local/google/home/jomof/Android/Sdk/cmake/3.6.3155560/bin/cmake
arguments :
-H/usr/local/google/home/jomof/projects/MyApplication73/app
-B/usr/local/google/home/jomof/projects/MyApplication73/app/.externalNativeBuild/cmake/debug/arm64-v8a
-GAndroid Gradle - Ninja
-DANDROID_ABI=arm64-v8a
-DANDROID_NDK=/usr/local/google/home/jomof/Android/Sdk/ndk-bundle
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/usr/local/google/home/jomof/projects/MyApplication73/app/build/intermediates/cmake/debug/obj/arm64-v8a
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_MAKE_PROGRAM=/usr/local/google/home/jomof/Android/Sdk/cmake/3.6.3155560/bin/ninja
-DCMAKE_TOOLCHAIN_FILE=/usr/local/google/home/jomof/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake
-DANDROID_PLATFORM=android-21
-DCMAKE_CXX_FLAGS=
-DXXX=1
jvmArgs :
In 3.0.0.beta this is the order:
Executable : /usr/local/google/home/jomof/Android/Sdk/cmake/3.6.3155560/bin/cmake
arguments :
-H/usr/local/google/home/jomof/projects/MyApplication74/app
-B/usr/local/google/home/jomof/projects/MyApplication74/app/.externalNativeBuild/cmake/debug/arm64-v8a
-DCMAKE_SYSTEM_NAME=Android
-DANDROID_ABI=arm64-v8a
-DANDROID_PLATFORM=android-21
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/usr/local/google/home/jomof/projects/MyApplication74/app/build/intermediates/cmake/debug/obj/arm64-v8a
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_MAKE_PROGRAM=/usr/local/google/home/jomof/Android/Sdk/cmake/3.6.3155560/bin/ninja
-DCMAKE_CXX_FLAGS=
-DXXX=1
-DCMAKE_TOOLCHAIN_FILE=/usr/local/google/home/jomof/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake
-DANDROID_NDK=/usr/local/google/home/jomof/Android/Sdk/ndk-bundle
-GAndroid Gradle - Ninja
jvmArgs :
We should restore the original flag order
jo...@google.com <jo...@google.com> #3
I also noticed we added -DCMAKE_SYSTEM_NAME=Android. We don't need that for fork CMake
kr...@google.com <kr...@google.com>
ma...@gmail.com <ma...@gmail.com> #4
I've confirmed that this issue was fixed in 3.0.0-beta7
Description
Android Plugin Version: 3.0.0-beta3, beta4
Module Compile Sdk Version: any
Module Build Tools Version: 26
Android SDK Tools version:
CMake documentation
However, android gradle plugin 3.0.0-beta3 or later unconditionally adds their own `-DCMAKE_TOOLCHAIN_FILE=...` option unconditionally and therefore user specified option is always overwritten.
I saw following output in our build log:
```
Error while executing process /Users/zaki/Library/Android/sdk/cmake/3.6.4111459/bin/cmake with arguments {-H/Users/zaki/ghq/
...
-DCMAKE_TOOLCHAIN_FILE=/Users/zaki/ghq/
...
-DCMAKE_TOOLCHAIN_FILE=/Users/zaki/Library/Android/sdk/cmake/3.6.4111459/android.toolchain.cmake -DANDROID_NDK=/Users/zaki/Library/Android/android-ndk-r10e -GAndroid Gradle - Ninja}
```