@@ -26,8 +26,16 @@ set(CPACK_GENERATOR "")
2626set (destdir "@CMAKE_CURRENT_BINARY_DIR@/Mapper/install" )
2727
2828set (final_message )
29- set (KEYSTORE_URL "@KEYSTORE_URL@" )
30- set (KEYSTORE_ALIAS "@KEYSTORE_ALIAS@" )
29+
30+ set (apk "${destdir} /build/outputs/apk/" )
31+ if (@RELEASE_APK@)
32+ set (config "CONFIG+=release" )
33+ set (apk "${apk} /release/install-release" )
34+ else ()
35+ set (config "CONFIG+=debug" )
36+ set (apk "${apk} /debug/install-debug" )
37+ endif ()
38+
3139set (SIGN_APK "@SIGN_APK@" )
3240if (SIGN_APK AND "@CMAKE_HOST_UNIX@" )
3341 execute_process (COMMAND "${CMAKE_COMMAND} " -E echo "Checking if we are running in a terminal" )
@@ -38,19 +46,20 @@ if(SIGN_APK AND "@CMAKE_HOST_UNIX@")
3846 set (SIGN_APK 0)
3947 endif ()
4048endif ()
49+
4150if (SIGN_APK)
42- set (config "CONFIG+=release " )
43- set (sign --sign "${KEYSTORE_URL} " " ${KEYSTORE_ALIAS} " )
51+ set (sign --sign "@KEYSTORE_URL@" "@KEYSTORE_ALIAS@ " )
52+ set (apk "${apk} -signed.apk" )
4453else ()
45- set (config "CONFIG+=debug" )
4654 set (sign )
47- $<@SIGN_APK@:
48- # APK signing enabled at configuration time, but disabled at build time.
55+ if (@RELEASE_APK@)
56+ set (apk "${apk} -unsigned.apk" )
57+ else ()
58+ set (apk "${apk} .apk" )
59+ endif ()
4960 set (final_message "The build created an unsigned APK. To sign the APK, run:
50- jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore '${KEYSTORE_URL} ' /path/to/install-release-unsigned.apk '${KEYSTORE_ALIAS} '
51- zipalign 4 /path/to/install-release-unsigned.apk outfile.apk"
61+ apksigner sign --ks <keystore> --ks-key-alias <alias> ${apk} "
5262 )
53- >
5463endif ()
5564
5665
@@ -92,8 +101,10 @@ execute_process(
92101 --deployment "bundled"
93102 --gradle
94103 --verbose
95- $<$< OR :$<CONFIG:Release>,$<CONFIG:MinSizeRel>> :
104+ $<@RELEASE_APK@ :
96105 --release
106+ >
107+ $<@SIGN_APK@:
97108 ${sign}
98109>
99110 WORKING_DIRECTORY "@CMAKE_CURRENT_BINARY_DIR@/Mapper"
@@ -103,13 +114,7 @@ if(result)
103114 message (FATAL_ERROR "Running androiddeployqt failed: ${result} " )
104115endif ()
105116
106- if (SIGN_APK)
107- configure_file (
108- "@CMAKE_CURRENT_BINARY_DIR@/Mapper/install/build/outputs/apk/install-release-signed.apk"
109- "@PROJECT_BINARY_DIR@/@[email protected] " 110- COPYONLY
111- )
112- endif ()
117+ configure_file (
"${apk} " "@PROJECT_BINARY_DIR@/@[email protected] " COPYONLY )
113118
114119if (final_message)
115120 message (STATUS "${final_message} " )
0 commit comments