@@ -362,70 +362,88 @@ macro(nbl_android_create_apk _TARGET)
362
362
WORKING_DIRECTORY ${NBL_GEN_DIRECTORY} /$<CONFIG>
363
363
COMMAND ${ANDROID_JAVA_BIN} /keytool -genkey -keystore ${KEYSTORE_FILE} -storepass android -alias ${KEY_ENTRY_ALIAS} -keypass android -keyalg RSA -keysize 2048 -validity 10000 -dname "CN=, OU=, O=, L=, S=, C="
364
364
)
365
- set (D8_SCRIPT "${ANDROID_BUILD_TOOLS} /d8.bat" )
366
- if (NOT EXISTS ${D8_SCRIPT} )
367
- set (DEX_COMMAND ${ANDROID_BUILD_TOOLS} /d8 ./obj/eu/devsh/${TARGET_NAME}/Loader.class --output ./bin/ )
368
- else ()
369
- set (DEX_COMMAND ${D8_SCRIPT} --output ./bin/ ./obj/eu/devsh/${TARGET_NAME}/*.class )
370
- endif ()
371
- #message(FATAL_ERROR "ANDROID_BUILD_TOOLS: ${ANDROID_BUILD_TOOLS}")
372
- #message(FATAL_ERROR "ANDROID_ANDROID_JAR_LOCATION: ${ANDROID_ANDROID_JAR_LOCATION}")
373
- #set(ANDROID_JAVA_RT_JAR "C:/Program Files (x86)/Java/jre1.8.0_301/lib/rt.jar")
374
- #message(FATAL_ERROR "ANDROID_JAR: ${ANDROID_JAR}")
365
+
366
+ if ("${CMAKE_HOST_SYSTEM_NAME} " STREQUAL "Windows" )
367
+ set (D8_SCRIPT "${ANDROID_BUILD_TOOLS} /d8.bat" )
368
+
369
+ if (EXISTS ${D8_SCRIPT} )
370
+ set (DEX_COMMAND ${D8_SCRIPT} --output ./bin/ ./obj/eu/devsh/${TARGET_NAME}/*.class )
371
+ else ()
372
+ message (FATAL_ERROR "ANDROID_BUILD_TOOLS path doesn't contain D8 (DEX) bat file!" )
373
+ endif ()
374
+ else ()
375
+ set (D8_SCRIPT "${ANDROID_BUILD_TOOLS} /d8" )
376
+
377
+ if (EXISTS ${D8_SCRIPT} )
378
+ set (DEX_COMMAND ${D8_SCRIPT} ./obj/eu/devsh/${TARGET_NAME}/Loader.class --output ./bin/ )
379
+ else ()
380
+ message (FATAL_ERROR "ANDROID_BUILD_TOOLS path doesn't contain D8 (DEX) script file!" )
381
+ endif ()
382
+ endif ()
383
+
384
+ set (NBL_APK_LIBRARY_DIR libs/lib/x86_64 )
385
+ set (NBL_APK_OBJ_DIR obj )
386
+ set (NBL_APK_BIN_DIR bin )
387
+ set (NBL_APK_ASSETS_DIR assets )
375
388
376
389
if (EXISTS ${ASSET_SOURCE_DIR} )
377
390
add_custom_command (
378
- OUTPUT ${APK_FILE}
379
- DEPENDS ${_TARGET}
380
- DEPENDS ${NBL_ANDROID_MANIFEST_FILE}
381
- DEPENDS ${NBL_ANDROID_LOADER_JAVA}
382
- DEPENDS ${KEYSTORE_FILE}
383
- DEPENDS ${NBL_ROOT_PATH} /android/Loader.java
384
- WORKING_DIRECTORY ${NBL_GEN_DIRECTORY} /$<CONFIG>
385
- COMMENT "Creating ${APK_FILE_NAME} ..."
386
- COMMAND ${CMAKE_COMMAND} -E make_directory libs/lib/x86_64
387
- COMMAND ${CMAKE_COMMAND} -E make_directory obj
388
- COMMAND ${CMAKE_COMMAND} -E make_directory bin
389
- COMMAND ${CMAKE_COMMAND} -E make_directory assets
390
- COMMAND ${CMAKE_COMMAND} -E copy $< TARGET_FILE:${_TARGET} > libs/lib/x86_64/$<TARGET_FILE_NAME:${_TARGET}>
391
- COMMAND ${CMAKE_COMMAND} -E copy_directory ${ASSET_SOURCE_DIR} assets
392
- COMMAND ${ANDROID_BUILD_TOOLS} /aapt package -f -m -J src -M AndroidManifest.xml -I ${ANDROID_JAR}
393
- COMMAND ${ANDROID_JAVA_BIN} /javac -d ./obj -source 1.7 -target 1.7 -bootclasspath ${ANDROID_JAVA_RT_JAR} -classpath "${ANDROID_JAR} " -sourcepath src ${NBL_ANDROID_LOADER_JAVA}
394
- COMMAND ${DEX_COMMAND}
395
- COMMAND ${ANDROID_BUILD_TOOLS} /aapt package -f -M AndroidManifest.xml -A assets -I ${ANDROID_JAR} -F ${TARGET_NAME} -unaligned.apk bin libs
396
- COMMAND ${ANDROID_BUILD_TOOLS} /zipalign -f 4 ${TARGET_NAME} -unaligned.apk ${APK_FILE_NAME}
397
- COMMAND ${ANDROID_BUILD_TOOLS} /apksigner sign --ks ${KEYSTORE_FILE} --ks-pass pass:android --key-pass pass:android --ks-key-alias ${KEY_ENTRY_ALIAS} ${APK_FILE_NAME}
398
- COMMAND ${CMAKE_COMMAND} -E copy ${APK_FILE_NAME} ${APK_FILE}
399
- COMMAND ${CMAKE_COMMAND} -E rm -rf assets
400
- VERBATIM
401
- )
391
+ OUTPUT ${APK_FILE}
392
+ DEPENDS ${_TARGET}
393
+ DEPENDS ${NBL_ANDROID_MANIFEST_FILE}
394
+ DEPENDS ${NBL_ANDROID_LOADER_JAVA}
395
+ DEPENDS ${KEYSTORE_FILE}
396
+ DEPENDS ${NBL_ROOT_PATH} /android/Loader.java
397
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${NBL_APK_LIBRARY_DIR}
398
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${NBL_APK_OBJ_DIR}
399
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${NBL_APK_BIN_DIR}
400
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${NBL_APK_ASSETS_DIR}
401
+ COMMAND ${CMAKE_COMMAND} -E copy $< TARGET_FILE:${_TARGET} > libs/lib/x86_64/$<TARGET_FILE_NAME:${_TARGET}>
402
+ COMMAND ${CMAKE_COMMAND} -E copy $< TARGET_FILE:tbb> libs/lib/x86_64/$<TARGET_FILE_NAME:tbb>
403
+ COMMAND ${CMAKE_COMMAND} -E copy $< TARGET_FILE:tbbmalloc> libs/lib/x86_64/$<TARGET_FILE_NAME:tbbmalloc>
404
+ COMMAND ${CMAKE_COMMAND} -E copy $< TARGET_FILE:tbbmalloc_proxy> libs/lib/x86_64/$<TARGET_FILE_NAME:tbbmalloc_proxy>
405
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${ASSET_SOURCE_DIR} ${NBL_APK_ASSETS_DIR}
406
+ COMMAND ${ANDROID_BUILD_TOOLS} /aapt package -f -m -J src -M AndroidManifest.xml -I ${ANDROID_JAR}
407
+ COMMAND ${ANDROID_JAVA_BIN} /javac -d ./obj -source 1.7 -target 1.7 -bootclasspath ${ANDROID_JAVA_RT_JAR} -classpath "${ANDROID_JAR} " -sourcepath src ${NBL_ANDROID_LOADER_JAVA}
408
+ COMMAND ${DEX_COMMAND}
409
+ COMMAND ${ANDROID_BUILD_TOOLS} /aapt package -f -M AndroidManifest.xml -A ${NBL_APK_ASSETS_DIR} -I ${ANDROID_JAR} -F ${TARGET_NAME} -unaligned.apk bin libs
410
+ COMMAND ${ANDROID_BUILD_TOOLS} /zipalign -f 4 ${TARGET_NAME} -unaligned.apk ${APK_FILE_NAME}
411
+ COMMAND ${ANDROID_BUILD_TOOLS} /apksigner sign --ks ${KEYSTORE_FILE} --ks-pass pass:android --key-pass pass:android --ks-key-alias ${KEY_ENTRY_ALIAS} ${APK_FILE_NAME}
412
+ COMMAND ${CMAKE_COMMAND} -E copy ${APK_FILE_NAME} ${APK_FILE}
413
+ COMMAND ${CMAKE_COMMAND} -E rm -rf ${NBL_APK_ASSETS_DIR}
414
+ WORKING_DIRECTORY ${NBL_GEN_DIRECTORY} /$<CONFIG>
415
+ COMMENT "Creating ${APK_FILE_NAME} ..."
416
+ VERBATIM
417
+ )
402
418
else ()
403
419
add_custom_command (
404
- OUTPUT ${APK_FILE}
405
- DEPENDS ${_TARGET}
406
- DEPENDS ${NBL_ANDROID_MANIFEST_FILE}
407
- DEPENDS ${NBL_ANDROID_LOADER_JAVA}
408
- DEPENDS ${KEYSTORE_FILE}
409
- DEPENDS ${NBL_ROOT_PATH} /android/Loader.java
410
- WORKING_DIRECTORY ${NBL_GEN_DIRECTORY} /$<CONFIG>
411
- COMMENT "Creating ${APK_FILE_NAME} ..."
412
- COMMAND ${CMAKE_COMMAND} -E make_directory libs/lib/x86_64
413
- COMMAND ${CMAKE_COMMAND} -E make_directory obj
414
- COMMAND ${CMAKE_COMMAND} -E make_directory bin
415
- COMMAND ${CMAKE_COMMAND} -E copy $< TARGET_FILE:${_TARGET} > libs/lib/x86_64/$<TARGET_FILE_NAME:${_TARGET}>
416
- COMMAND ${ANDROID_BUILD_TOOLS} /aapt package -f -m -J src -M AndroidManifest.xml -I ${ANDROID_JAR}
417
- COMMAND ${ANDROID_JAVA_BIN} /javac -d ./obj -source 1.7 -target 1.7 -bootclasspath ${ANDROID_JAVA_RT_JAR} -classpath "${ANDROID_JAR} " -sourcepath src ${NBL_ANDROID_LOADER_JAVA}
418
- COMMAND ${DEX_COMMAND}
419
- COMMAND ${ANDROID_BUILD_TOOLS} /aapt package -f -M AndroidManifest.xml -I ${ANDROID_JAR} -F ${TARGET_NAME} -unaligned.apk bin libs
420
- COMMAND ${ANDROID_BUILD_TOOLS} /zipalign -f 4 ${TARGET_NAME} -unaligned.apk ${APK_FILE_NAME}
421
- COMMAND ${ANDROID_BUILD_TOOLS} /apksigner sign --ks ${KEYSTORE_FILE} --ks-pass pass:android --key-pass pass:android --ks-key-alias ${KEY_ENTRY_ALIAS} ${APK_FILE_NAME}
422
- COMMAND ${CMAKE_COMMAND} -E copy ${APK_FILE_NAME} ${APK_FILE}
423
- VERBATIM
424
- )
420
+ OUTPUT ${APK_FILE}
421
+ DEPENDS ${_TARGET}
422
+ DEPENDS ${NBL_ANDROID_MANIFEST_FILE}
423
+ DEPENDS ${NBL_ANDROID_LOADER_JAVA}
424
+ DEPENDS ${KEYSTORE_FILE}
425
+ DEPENDS ${NBL_ROOT_PATH} /android/Loader.java
426
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${NBL_APK_LIBRARY_DIR}
427
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${NBL_APK_OBJ_DIR}
428
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${NBL_APK_BIN_DIR}
429
+ COMMAND ${CMAKE_COMMAND} -E copy $< TARGET_FILE:${_TARGET} > libs/lib/x86_64/$<TARGET_FILE_NAME:${_TARGET}>
430
+ COMMAND ${CMAKE_COMMAND} -E copy $< TARGET_FILE:tbb> libs/lib/x86_64/$<TARGET_FILE_NAME:tbb>
431
+ COMMAND ${CMAKE_COMMAND} -E copy $< TARGET_FILE:tbbmalloc> libs/lib/x86_64/$<TARGET_FILE_NAME:tbbmalloc>
432
+ COMMAND ${CMAKE_COMMAND} -E copy $< TARGET_FILE:tbbmalloc_proxy> libs/lib/x86_64/$<TARGET_FILE_NAME:tbbmalloc_proxy>
433
+ COMMAND ${ANDROID_BUILD_TOOLS} /aapt package -f -m -J src -M AndroidManifest.xml -I ${ANDROID_JAR}
434
+ COMMAND ${ANDROID_JAVA_BIN} /javac -d ./obj -source 1.7 -target 1.7 -bootclasspath ${ANDROID_JAVA_RT_JAR} -classpath "${ANDROID_JAR} " -sourcepath src ${NBL_ANDROID_LOADER_JAVA}
435
+ COMMAND ${DEX_COMMAND}
436
+ COMMAND ${ANDROID_BUILD_TOOLS} /aapt package -f -M AndroidManifest.xml -I ${ANDROID_JAR} -F ${TARGET_NAME} -unaligned.apk bin libs
437
+ COMMAND ${ANDROID_BUILD_TOOLS} /zipalign -f 4 ${TARGET_NAME} -unaligned.apk ${APK_FILE_NAME}
438
+ COMMAND ${ANDROID_BUILD_TOOLS} /apksigner sign --ks ${KEYSTORE_FILE} --ks-pass pass:android --key-pass pass:android --ks-key-alias ${KEY_ENTRY_ALIAS} ${APK_FILE_NAME}
439
+ COMMAND ${CMAKE_COMMAND} -E copy ${APK_FILE_NAME} ${APK_FILE}
440
+ WORKING_DIRECTORY ${NBL_GEN_DIRECTORY} /$<CONFIG>
441
+ COMMENT "Creating ${APK_FILE_NAME} ..."
442
+ VERBATIM
443
+ )
425
444
endif ()
426
445
endmacro ()
427
446
428
-
429
447
function (nbl_android_create_media_storage_apk )
430
448
set (TARGET_NAME android_media_storage )
431
449
string (MAKE_C_IDENTIFIER ${TARGET_NAME} TARGET_NAME_IDENTIFIER )
0 commit comments