build_AWSNativeSDK_android.cmd 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. @echo off
  2. REM
  3. REM Copyright (c) Contributors to the Open 3D Engine Project.
  4. REM For complete copyright and license terms please see the LICENSE at the root of this distribution.
  5. REM
  6. REM SPDX-License-Identifier: Apache-2.0 OR MIT
  7. REM
  8. SET SRC_PATH=temp\src
  9. SET BLD_PATH=temp\build
  10. set "DOWNLOADED_PACKAGE_FOLDERS=%DOWNLOADED_PACKAGE_FOLDERS:\=/%"
  11. IF "%ANDROID_NDK_ROOT%"=="" (
  12. ECHO "Required envrironment variable ANDROID_NDK_ROOT is missing, please set it to a local android ndk directory that is at least version 25.2.9519653"
  13. exit /b 1
  14. )
  15. REM Debug Shared
  16. call:ConfigureAndBuild Debug Shared
  17. IF %ERRORLEVEL% NEQ 0 (
  18. exit /b 1
  19. )
  20. REM Debug Static
  21. call:ConfigureAndBuild Debug Static
  22. IF %ERRORLEVEL% NEQ 0 (
  23. exit /b 1
  24. )
  25. REM Release Shared
  26. call:ConfigureAndBuild Release Shared
  27. IF %ERRORLEVEL% NEQ 0 (
  28. exit /b 1
  29. )
  30. REM Release Static
  31. call:ConfigureAndBuild Release Static
  32. IF %ERRORLEVEL% NEQ 0 (
  33. exit /b 1
  34. )
  35. ECHO "Custom Build for AWSNativeSDK finished successfully"
  36. exit /b 0
  37. :ConfigureAndBuild
  38. SET BUILD_TYPE=%~1
  39. SET LIB_TYPE=%~2
  40. SET BUILD_SHARED=OFF
  41. IF %LIB_TYPE% EQU Shared (
  42. SET BUILD_SHARED=ON
  43. )
  44. ECHO "CMake Configure %BUILD_TYPE% %LIB_TYPE%"
  45. call cmake -S %SRC_PATH% -B %BLD_PATH%\%BUILD_TYPE%_%LIB_TYPE% ^
  46. -G Ninja ^
  47. -DNDK_DIR="%ANDROID_NDK_ROOT%" ^
  48. -DBUILD_SHARED_LIBS=%BUILD_SHARED% ^
  49. -DCMAKE_BUILD_TYPE="%BUILD_TYPE%" ^
  50. -DTARGET_ARCH=ANDROID ^
  51. -DANDROID_NATIVE_API_LEVEL=21 ^
  52. -DANDROID_ABI=arm64-v8a ^
  53. -DCPP_STANDARD=17 ^
  54. -DCMAKE_C_FLAGS="-fPIC" ^
  55. -DCMAKE_CXX_FLAGS="-fPIC" ^
  56. -DBUILD_ONLY="access-management;bedrock-runtime;cognito-identity;cognito-idp;core;devicefarm;dynamodb;gamelift;identity-management;kinesis;lambda;queues;s3;sns;sqs;sts;transfer" ^
  57. -DENABLE_TESTING=OFF ^
  58. -DENABLE_RTTI=ON ^
  59. -DCUSTOM_MEMORY_MANAGEMENT=ON^
  60. -DCMAKE_INSTALL_BINDIR="bin/%BUILD_TYPE%_%LIB_TYPE%" ^
  61. -DCMAKE_INSTALL_LIBDIR="lib/%BUILD_TYPE%_%LIB_TYPE%" ^
  62. -DCMAKE_INSTALL_PREFIX="%BLD_PATH%/%BUILD_TYPE%_%LIB_TYPE%" ^
  63. -DANDROID_BUILD_OPENSSL=ON ^
  64. -DANDROID_BUILD_ZLIB=OFF ^
  65. -DANDROID_BUILD_CURL=ON ^
  66. -DCMAKE_MODULE_PATH="%DOWNLOADED_PACKAGE_FOLDERS%" ^
  67. -DLEGACY_MODE=OFF
  68. IF %ERRORLEVEL% NEQ 0 (
  69. ECHO "CMake Configure %BUILD_TYPE% %LIB_TYPE% failed"
  70. exit /b 1
  71. )
  72. ECHO "CMake Build %BUILD_TYPE% %LIB_TYPE% to %BLD_PATH%\%BUILD_TYPE%_%LIB_TYPE%"
  73. call cmake --build %BLD_PATH%\%BUILD_TYPE%_%LIB_TYPE% --config %BUILD_TYPE% -j
  74. IF %ERRORLEVEL% NEQ 0 (
  75. ECHO "CMake Build %BUILD_TYPE% %LIB_TYPE% to %BLD_PATH%\%BUILD_TYPE%_%LIB_TYPE% failed"
  76. exit /b 1
  77. )
  78. GOTO:EOF