@@ -28,18 +28,61 @@ open class CMakePlugin : Plugin<Project> {
28
28
path(" jni/CMakeLists.txt" )
29
29
}
30
30
}
31
- defaultConfig {
32
- externalNativeBuild {
33
- cmake {
34
- arguments(
35
- " -DANDROID_STL=c++_shared" ,
36
- " -DANDROID_PLATFORM=android-${Config .MIN_SDK_VERSION } " ,
37
- " -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON" ,
38
- " -DCMAKE_SKIP_RPATH=ON" ,
39
- " -DCMAKE_C_VISIBILITY_PRESET=hidden" ,
40
- " -DCMAKE_CXX_VISIBILITY_PRESET=hidden" ,
41
- " -DCMAKE_BUILD_PARALLEL_LEVEL=${Runtime .getRuntime().availableProcessors()} "
42
- )
31
+ buildTypes {
32
+ getByName(" debug" ) {
33
+ externalNativeBuild {
34
+ cmake {
35
+ val flags = arrayOf(
36
+ " -w" ,
37
+ " -Werror=return-type" ,
38
+ " -ferror-limit=0" ,
39
+
40
+ " -O2" ,
41
+ " -fno-omit-frame-pointer"
42
+ )
43
+ arguments(
44
+ " -DANDROID_STL=c++_shared" ,
45
+ " -DANDROID_PLATFORM=android-${Config .MIN_SDK_VERSION } " ,
46
+ " -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON" ,
47
+ " -DCMAKE_SKIP_RPATH=ON" ,
48
+ " -DCMAKE_C_VISIBILITY_PRESET=hidden" ,
49
+ " -DCMAKE_CXX_VISIBILITY_PRESET=hidden" ,
50
+ " -DCMAKE_BUILD_PARALLEL_LEVEL=${Runtime .getRuntime().availableProcessors()} " ,
51
+ " -DCMAKE_SHARED_LINKER_FLAGS=-Wl,--gc-sections,--icf=safe -Wl,--build-id=sha1" ,
52
+ " -DCMAKE_C_FLAGS=-D_LARGEFILE_SOURCE=1 ${flags.joinToString(" " )} " ,
53
+ " -DCMAKE_CXX_FLAGS=-std=c++17 ${flags.joinToString(" " )} "
54
+ )
55
+ }
56
+ }
57
+ }
58
+
59
+ getByName(" release" ) {
60
+ externalNativeBuild {
61
+ cmake {
62
+ val flags = listOf (
63
+ " -w" ,
64
+ " -Werror=return-type" ,
65
+ " -ferror-limit=0" ,
66
+
67
+ " -O3" ,
68
+ " -finline-functions" ,
69
+ " -ffast-math" ,
70
+ " -fno-rtti"
71
+ )
72
+
73
+ arguments(
74
+ " -DANDROID_STL=c++_shared" ,
75
+ " -DANDROID_PLATFORM=android-${Config .MIN_SDK_VERSION } " ,
76
+ " -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON" ,
77
+ " -DCMAKE_SKIP_RPATH=ON" ,
78
+ " -DCMAKE_C_VISIBILITY_PRESET=hidden" ,
79
+ " -DCMAKE_CXX_VISIBILITY_PRESET=hidden" ,
80
+ " -DCMAKE_BUILD_PARALLEL_LEVEL=${Runtime .getRuntime().availableProcessors()} " ,
81
+ " -DCMAKE_SHARED_LINKER_FLAGS=-Wl,--gc-sections,--icf=safe -Wl,--build-id=sha1" ,
82
+ " -DCMAKE_C_FLAGS=-D_LARGEFILE_SOURCE=1 ${flags.joinToString(" " )} " ,
83
+ " -DCMAKE_CXX_FLAGS=-std=c++17 ${flags.joinToString(" " )} "
84
+ )
85
+ }
43
86
}
44
87
}
45
88
}
0 commit comments