@@ -5,6 +5,11 @@ def usingCMakeCompile() {
55 return gradle. ext != null && gradle. ext. has(" usingCMakeCompile" ) && gradle. ext. usingCMakeCompile;
66}
77
8+ def usingCMakeCompileDebug () {
9+ // / define gradle.ext.usingCMakeCompileDebug = true to enable CMake Debug Mode.
10+ return gradle. ext != null && gradle. ext. has(" usingCMakeCompileDebug" ) && gradle. ext. usingCMakeCompileDebug;
11+ }
12+
813android {
914 compileSdkVersion rootProject. ext. android. compileSdkVersion
1015 buildToolsVersion rootProject. ext. android. buildToolsVersion
@@ -22,22 +27,48 @@ android {
2227 if (usingCMakeCompile()) {
2328 externalNativeBuild {
2429 cmake {
25- arguments " -DCGE_USE_VIDEO_MODULE=1" ,
30+
31+ def cmakeBuildType = " " ;
32+ def cppExtraFlags = " " ;
33+
34+ if (usingCMakeCompileDebug()) {
35+ cmakeBuildType = " -DCMAKE_BUILD_TYPE=Debug"
36+ cppExtraFlags = " -DDEBUG=1 -D_DEBUG=1"
37+ } else {
38+ cmakeBuildType = " -DCMAKE_BUILD_TYPE=Release"
39+ cppExtraFlags = " -Os -DNDEBUG=1 -D_NDEBUG=1"
40+ }
41+
42+ arguments " -DCGE_USE_VIDEO_MODULE=ON" ,
2643 " -DANDROID_STL=c++_static" ,
2744 " -DANDROID_ARM_NEON=TRUE" ,
28- " -DANDROID_GRADLE=1 " ,
29- " -DCGE_USE_VIDEO_MODULE=1 "
45+ " -DANDROID_GRADLE=ON " ,
46+ cmakeBuildType
3047
31- cppFlags " -frtti -std=c++14"
48+ cFlags " -mfloat-abi=softfp -mfpu=vfp -Os -ffast-math -fPIC -DNO_LOCALE_SUPPORT -DANDROID_NDK"
49+ cppFlags " -frtti -std=c++14 -fPIE -fPIC -fno-exceptions -fvisibility-inlines-hidden -DNO_LOCALE_SUPPORT -DANDROID_NDK ${ cppExtraFlags} "
50+
51+
52+
53+ println (" cmake arguments: " + arguments)
54+ println (" cppFlags: " + cppFlags)
3255 }
3356 }
57+
58+ ndk {
59+ abiFilters ' arm64-v8a' , ' armeabi-v7a' , ' x86_64' , ' x86'
60+ // if (!usingCMakeCompileDebug()) {
61+ // debugSymbolLevel ''
62+ // }
63+ }
3464 }
3565 }
3666
3767 if (usingCMakeCompile()) {
3868 externalNativeBuild {
3969 cmake {
4070 path ' src/main/jni/CMakeLists.txt'
71+ version " 3.22.1"
4172 }
4273 }
4374 }
0 commit comments