Skip to content

Commit be7a706

Browse files
committed
Add logic to generate the Crashlytics proguard file
1 parent bb4bf68 commit be7a706

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ option(FIREBASE_INCLUDE_AUTH
4040
${FIREBASE_INCLUDE_LIBRARY_DEFAULT})
4141
option(FIREBASE_INCLUDE_CRASHLYTICS
4242
"Include the Firebase Crashlytics library."
43-
OFF)
43+
${FIREBASE_INCLUDE_LIBRARY_DEFAULT})
4444
option(FIREBASE_INCLUDE_DATABASE
4545
"Include the Firebase Realtime Database library."
4646
${FIREBASE_INCLUDE_LIBRARY_DEFAULT})

crashlytics/src/cpp/CMakeLists.txt

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,28 @@ target_compile_definitions(firebase_crashlytics
6767
-DINTERNAL_EXPERIMENTAL=1
6868
)
6969

70+
# Generate the Proguard file
71+
if(ANDROID)
72+
set(FIREBASE_CPP_CRASHLYTICS_PROGUARD ${CMAKE_CURRENT_BINARY_DIR}/crashlytics.pro
73+
CACHE FILEPATH "Proguard file for Crashlytics" FORCE)
74+
75+
add_custom_command(
76+
OUTPUT ${FIREBASE_CPP_CRASHLYTICS_PROGUARD}
77+
COMMAND strings $<TARGET_FILE:firebase_crashlytics> |
78+
grep %PG% |
79+
sed -r 'sI/I.Ig' |
80+
sed -r 's/%PG%/-keep,includedescriptorclasses public class /g'
81+
> ${FIREBASE_CPP_CRASHLYTICS_PROGUARD}
82+
DEPENDS firebase_crashlytics
83+
COMMENT "Generating Crashlytics Proguard file."
84+
)
85+
86+
add_custom_target(
87+
FIREBASE_CPP_CRASHLYTICS_PROGUARD
88+
DEPENDS ${FIREBASE_CPP_CRASHLYTICS_PROGUARD}
89+
)
90+
endif()
91+
7092
if(IOS)
7193
# Enable Automatic Reference Counting (ARC).
7294
set_property(

0 commit comments

Comments
 (0)