Commit Graph

20 Commits (7f16cd1643a00f3a75f02538a10f74deabb0f4f3)

Author SHA1 Message Date
Scott Romero 807464c58d
[development] updated Android build node configuration (#7007)
Added the NDK to the install list
Removed Android Java APIs prior to 28 from package list as they are unnecessary
Updated LY_NDK_DIR to point to the SDK manager version
Updated some inconsistencies in how the min Android native API is handled

Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
4 years ago
lumberyard-employee-dm f09055af42
Fixed CMake use with Android NDK 23 (#6460)
* Fixed CMake use with Android NDK 23

This was done by only setting the `ANDROID_ARM_MODE` if the ANDROID_ABI
starts with `armeabi`.

The Android arm mode setting can't be used using non-`armeabi` ABIs.
In O3DE we default to `arm64-v8a` `ANDROID_ABI`
So `ANDROID_ARM_MODE` must not be set.

The CMake [Android-Determine.cmake](https://gitlab.kitware.com/cmake/cmake/-/blob/master/Modules/Platform/Android-Determine.cmake#L573-585) which is used to detect platform-wide information when the CMAKE_SYSTEM_NAME is set to android, enforces that if the `CMAKE_ANDROID_ARCH_ABI` doesn't start with `armeabi`, then it will fatal error if the CMAKE_ANDROID_ARM_MODE option is set.

In Android NDK 21 the `ANDROID_ARM_MODE` variable is used to set the CMAKE_ANDROID_ARM_MODE variable if the [ANDROID_ABI](https://android.googlesource.com/platform/ndk/+/refs/tags/ndk-r21e/build/cmake/android.toolchain.cmake#700) starts with `armeabi`.

This meant when using Android NDK 21, the CMake Android-Determine.cmake module would succeed, due
to the CMAKE_ANDROID_ARM_MODE not being set.

In Android NDK 23 the `ANDROID_ARM_MODE` now will set the
`CMAKE_ANDROID_ARM_MODE` variable to `TRUE` if it isn't defined.

Added an `--extra-cmake-configure-args` option to the `generate_android_project.py` script which can be used to append user specified CMake arguments to the cmake configure step (`cmake -B <build-dir> -S <source-dir> -DCMAKE_TOOLCHAIN_FILE=<android-toolchain-file> <extra-args>`)

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Updated the O3DE Android toolchain wrapper to fatal error if the 64-bit
arm ABI isn't used.

Also removed the unneccessary setting of the ANDROID_ARM_MODE and
ANDROID_ARM_NEON option option now that the armeabi cannot be specified
as an ABI.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
AMZN-ScottR aabbf51d3a [android_compat_fixes] added support for non-NDK distributed Vulkan validation layer library paths (required for Android NDK r23+)
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
4 years ago
AMZN-ScottR 255bf7cfba [android_compat_fixes] updated min Android Gradle plugin version to latest point release of 4.2
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
4 years ago
AMZN-ScottR 98dd24dce9 [android_compat_fixes] updated max Gradle version to latest point release of 7.0 to fix volume query bug during sync in some configurations
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
4 years ago
AMZN-ScottR e532193459 [android_compat_fixes] added support for versioned Android 'cmdline-tools' (the 'tools' replacement)
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
4 years ago
jiaweig 0f4a9d70b5
Fix 3p path setting to the upper level (#4399)
Signed-off-by: jiaweig <jiaweig@amazon.com>
4 years ago
Steve Pham 38261d0800
Shorten copyright headers by splitting into 2 lines (#2213)
* Updated all copyright headers to split the longer original copyright line into 2 shorter lines

Signed-off-by: Steve Pham <spham@amazon.com>
4 years ago
Steve Pham b4a2edec6a
Final update copyright headers to reference license files at the repo root (#1693)
* Final update copyright headers to reference license files at the repo root

Signed-off-by: spham <spham@amazon.com>

* Fix copyright validator unit tests to support the stale O3DE header scenario

Signed-off-by: spham <spham@amazon.com>
5 years ago
Steve Pham 70042fcdcd
O3DE Copyright Updates for Linux Foundation (#1504) 5 years ago
SJ cb2d64b205
Add parameters to specify custom native build path and enable unity build in Android gradle builds (#1494)
* Add parameters to specify custom native build path and enable unity build in Android gradle builds

* Enable unity build for gradle to shorten the path to the generated object files which fixes build failures on Jenkins due to paths exceeding limit. This also speeds up builds.
5 years ago
Eric Phister 0c7605c9b6
Update minimum required CMake version to 3.20 (#1253)
* Update the minimum CMake version to 3.20

Sets the cmake_minimum_required calls to version 3.20 and updates the
README.md to point at the general CMake download page instead of a stale
link.

* Remove unnecessary cmake minimum version

It was using an old 3.0 version and can be removed.

* Additional updates to CMake 3.20, build scripts

Updates the version and remove logic to find a CMake in 3rdParty.

* Removing backup path to ninja path in the build_ninja_windows.cmd

The backup path for finding ninja was coming from the Perforce depot which isn't available for o3de builds.

* Removing reference to 3rdParty Android SDK 29 from the build and run unit test script

The Android SDK is not part of the new 3rdParty system and users are expected to install the Android SDK on their own in order to build the engine for Android.

* Update the get_python scripts and README

No longer try to append a CMake path to LY_3RDPARTY_PATH, but do still
support LY_CMAKE_PATH because there are still uses of it.  Remove
mention of an LY_3RDPARTY_PATH-relative CMake path from the README.md.

* Removing LY_NINJA_PATH from the build_ninja_windows.cmd

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
5 years ago
Steve Pham 74ec7a362b
Update Android Project Generation to support AGP 4.2.0, Cmake 3.20, and newer versions of NDK&SDK
- build.gradle format updates for newer Android Gradle Plugin
- Remove hard coded Android Gradle Plugin version 3.6.4 to be passed in from command args
- Set Android Gradle Plugin min version 4.2.0 in order to support Min CMake version 3.20
- Add ability to use the android sdk to install missing components if needed rather than doing it externally
- Removed argument to pass in the NDK folder to use the android, use the android-sdk instead. Can request specific NDK versions if possible
- Android Gradle Plugin has dependencies by version and is being managed
- More defaults based on tools on path, agp version made possible so they are no longer needed in the command args
5 years ago
Terry Michaels 9b1be43367
Renamed osx_gl to mac and es3 to android for cache folders (#949) 5 years ago
alexpete 8469c9ca0a Integrating github/staging through commit 5f214be 5 years ago
alexpete c2cbd430fe Integrating up through commit 90f050496 5 years ago
Brian Herrera 39f53338bf Merge branch 'main' into LoadPipelineFromGitHub 5 years ago
alexpete 36c4e827bd Integrating latest from github/staging
Integrating up through commit 5e1bdae
5 years ago
Brian Herrera e8bbb5a0d5 Set scripts to be executable
This is required to build on linux/mac
5 years ago
alexpete a10351f38d Initial commit 5 years ago