Commit Graph

786 Commits (f2378fc8d8afd9e97d2b51b0b09e62c70eb8b39b)

Author SHA1 Message Date
moudgils 4bf6b6ba15
Add 3p vulkan validation layer support. (#7540)
* Add 3p vulkan validation layer support. Enabling device validation will automatically load the VkLayer_khronos_validation.dll ensuring that validation checks will work correctly

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>

* Addressed feedback

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>

* Updating the hash to the new 3p package

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>
4 years ago
Chris Burel c89376e9c3 The flag is `--no-undefined`, not `-Wl,-undefined,error`
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 8acda7d04d Prefer CMake's built-in `-fPIC` and `-fpie` support
CMake has a built-in property, `POSITION_INDEPENDENT_CODE`, that determines
if code will be built with `-fPIC`. This property is `True` by default for
`SHARED` and `MODULE` library targets and `False` otherwise. Previously,
we were always passing the `-fPIC` flag manually. With this change, we set
the appropriate CMake variable that will enable the property for all
compile jobs.

Furthermore, with CMake policy CMP0083 set to "new" (which happens by
default when the `cmake_minimum_required` version is >=3.14), CMake has
built-in support for passing the `-fpie` flag when building executables. It
uses the same property, `POSITION_INDEPENDENT_CODE`, so setting this
property (and enabling it with the CMake `CheckPIESupported` module) allows
us to use CMake's built-in support for these flags.

Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Steve Pham 0f9c369d7c
Fix Clang built executables so they can be launched from the file explorer (#7562)
* Remove Position Independent Executable link flags from EXEs

Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
4 years ago
Alex Peterson c2c8fb5b9a
Unregister engine on uninstall (#7594)
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
galibzon a3ebe61edd
Update DXC to 1.6.2112 (+ o3de changes) (#7489)
* Update DXC to 1.6.2112 (+ o3de changes)

* Updated the hash for Dxc package for Linux.

* Upgrading Dxc package for MacOS

Signed-off-by: garrieta <garrieta@amazon.com>
4 years ago
lumberyard-employee-dm d1fcbf8855
Linux Clang unoptimized build fix. (#7587)
The _FORTIFY_SOURCE option must be used with the -O optimization flag.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
Steve Pham 27abad7564
Fix Mac SQL Package (#7538)
* Update mac SQLite3 package to fix bad version

Signed-off-by: spham <82231385+spham-amzn@users.noreply.github.com>
4 years ago
Nicholas Lawson 3337bdd05d
Update Lua to 5.4.4 (#7460)
* Update lua to 5.4.4 (fixes #7267)

Signed-off-by: lawsonamzn <70027408+lawsonamzn@users.noreply.github.com>
4 years ago
Steve Pham 45e347315f
Remove -Wno-unused-value suppression for GCC (#7387)
- Remove '-Wno-unused-value' flag from GCC
- Fixes for resulting errors
- Ignore GCC error on FIR-Filter.cpp

Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
4 years ago
AMZN-stankowi 07bdba11ca
Updating to assimp 5.1.6 (#7435)
* Updated UV channel name retrieval to match changes to the assimp sdk

Signed-off-by: AMZN-stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

* Updated FBX automated tests to work with latest changes

Signed-off-by: AMZN-stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

* Updating to the latest build of assimp: 5.1.6 with our two fixes applied on top

Signed-off-by: AMZN-stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

* Adding updated linux package info

Signed-off-by: AMZN-stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

* Added mac package info for 5.1.6 assimp

Signed-off-by: AMZN-stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

* Updating Linux assimp package hash with latest changes

Signed-off-by: AMZN-stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

* Updated mac hash to match latest assimp mac package

Signed-off-by: AMZN-stankowi <4838196+AMZN-stankowi@users.noreply.github.com>

* Updated windows to the latest assimp 5.1.6 package

Signed-off-by: AMZN-stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
4 years ago
Steve Pham 4d4f10beb8
Clang/GCC compiler settings update [SECURITY] (#7358)
- Add the following compilation flags for clang
  -fpie
  -fstack-protector-all
  -fstack-check (non-release)

- Add the following compilation flags for gcc
  -fpie
  -fstack-protector-all

- Fix -Wunused-result errors from above compilation flag updates

- Add _FORTIFY_SOURCE=2 to GCC DEFINES

Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
4 years ago
Steve Pham 69e0090a0b
Remove -Wno-return-local-addr warning suppression for GCC
- Remove '-Wno-return-local-addr' warning suppression flag for GCC
- Fixed discovered error resulting from -Wreturn-local-addr

Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>

* Remove extra ws

Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
4 years ago
galibzon d77403f9df
Upgrade AZSLc to version 1.7.35 (#7411)
* Upgrade AZSLc to version 1.7.35 for
Windows, Linux & Mac.

Signed-off-by: galibzon <66021303+galibzon@users.noreply.github.com>
4 years ago
Junbo Liang d88fc40157
Update O3DE to use new version of AWS IoT Device SDK (#7364)
Signed-off-by: Junbo Liang <68558268+junbo75@users.noreply.github.com>
4 years ago
lumberyard-employee-dm 7652369567
Fix find_program not finding host platform programs when using Android (#7385)
There was an issue in CMake where it set the
CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH cache variable to OFF only when
configuring for Android
https://gitlab.kitware.com/cmake/cmake/-/issues/22634

This caused the find_program calls in o3de cmake files to fail.
Such as the call to located the "aws" binary in
cmake/LYPackage_S3Downloader.cmake

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
Steve Pham 71cc3a2568
Remove -Wno-comment warning suppression
Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
4 years ago
Steve Pham 2dbc961ea8
Reorder and Remove unnecessary GCC ignore warning flags
- Reordered warning flags (#7297)
- Removed unnecessary ignore warning flags

Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
4 years ago
lumberyard-employee-dm 62775add6d
Implemented Support to allow project's to reference gems via the gem name (#7109)
* Implemented Support to allow project's to reference gems via the gem name

Updated the enable-gem command to add the name of the enabled gem to the "gem_names" array in the project.json
Updated the enable-gem test to validate this functionality

Centralized the CMake logic for locating external subdirectories to the Subdirectories.cmake script

Added an option to the edit-project-properties and edit-engine-properties o3de.py commands to add/remove/replace the "gem_names" field in the project.json and engine.json respectively

Added a CMake function to determine the root CMake "subdirectory" of any input path which is a parent of it.
This logic has been used to improve the installation of external gems to the <install-root>/External directory.

Tested out the install layout before submitting PR

fixes #7108

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

* Fixed the enable-gem test on Linux to resolve the mock path.

Renamed all of the o3de python test from "unit_test*.py" to "test*.py" to faciliate the python unittest module picking up the test automatically.

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

* Adding test for the disable_gem command.

Fixed some typos in engine_properties.py scrip.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
amzn-mike a3cb6b8c5b
AP: Update Sqlite to version 3.37.2 (#7124)
* Update sqlite package for windows

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>

* Add assert to make sure sqlite header and lib version match

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>

* Update linux

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>

* Update Builting Package / Mac for Sqlite 3.37.2-rev1

Signed-off-by: spham <82231385+spham-amzn@users.noreply.github.com>

* Re-add newline at end of file

Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>

Co-authored-by: spham <82231385+spham-amzn@users.noreply.github.com>
4 years ago
John Jones-Steele 601858978f
The default android platform settings refer to lumberyard #3881 (#7073)
* WIP

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Commit before merging

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Added new pngs

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Changes from PR

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Fixed CRC errors

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
4 years ago
Steve Pham 3113b8be03
Fix for 'Cannot Find PThread' when using GCC (#7097)
* Fix for 'Cannot Find PThread' when using GCC

Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>

* Fix error when COMPILATION_C and COMPILATION_CXX handling in ly_append_configurations_options

Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>

* Add missing 'PARENT_SCOPE' when appending to the CMAKE_C_FLAGS and CMAKE_CXX_FLAGS

Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>

* Fix appending of CMAKE_C_FLAGS and CMAKE_CXX_FLAGS

Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>

* Workaround for  C/C++ compilation flag settings for gcc. COMPILATION_C/COMPILATION_CXX is wiping out COMPILATION, so define each one separately with no sharing

Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>

* Remove unnecessary gcc ignore warnings for C files

Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
4 years ago
Esteban Papp a145d3c82f
Issues/install missing assets (#7081)
* Fixes for missing assets in the install folder

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* delayed expansion to try to fix project_engineinstall_profile

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* Improvements to build scripts to solve the project build from the install folder

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
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
Nicholas Lawson 9328f053bd
Updates EXPAT to use the latest packages (#7053)
* Update EXPAT to be latest package version

Signed-off-by: lawsonamzn <70027408+lawsonamzn@users.noreply.github.com>
4 years ago
Nana Axel bd57a2832b
Fix issues when configuring projects and gems (#7001)
The new `o3de_pal_dir` function raise an issue when configuring projects/gems. This commit apply a simple fix to pass parameters as strings.

Signed-off-by: Axel Nana <axel.nana@aliens-group.com>
4 years ago
Steve Pham 59e43813f0
GCC Support for Linux
Updates and fixes to support GCC for Linux

Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
Scott Romero 9d3f8e0b7d
[development] minor Android toolchain updates (#6931)
Fixed issue with Android NDK r23 native only builds where the platform version was ignored
Bumped the default ANDROID_NATIVE_API_LEVEL to 24 so it matches the Android project generator scripts
Removed some unnecessary information from message strings

Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
4 years ago
AMZN-byrcolin d9e636f77e
fix edge case with deprecated pal functions (#6976)
* fix edge case with deprecated pal functions

Signed-off-by: byrcolin <byrcolin@amazon.com>
4 years ago
amzn-phist 2a9990ead3
Fix engine template issue (#6927)
* fix get_enabled_gem_cmake_file to work with "Dem" or "Code" or "Gem/Code" folder in a project
fix o3de_restricted_path to make the past paramter optional

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

* Fix resolution of variables in `cmake_path(COMPARE)` calls in PAL.cmake

The documentation for `cmake_path(COMPARE)` states that parameters marked as [<input>](https://cmake.org/cmake/help/latest/command/cmake_path.html#conventions) are string literals.

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

Co-authored-by: byrcolin <byrcolin@amazon.com>
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
Nicholas Lawson 27d256679a
Update the package of Pybind11 that o3de points at to be the latest version (#6898)
Signed-off-by: lawsonamzn <70027408+lawsonamzn@users.noreply.github.com>
4 years ago
amzn-sj 76ff7aec29
Fix type (#6919)
Signed-off-by: amzn-sj <srikkant@amazon.com>
4 years ago
Vincent Liu 5885270640
[iOS] Update to use AWSNativeSDK 1.9.50 (#6890)
Signed-off-by: onecent1101 <liug@amazon.com>
4 years ago
AMZN-byrcolin c778606c89
Templates restricted (#6498)
* Templates/Restricted upgrade/fixes:
Fixed template storage format: templates now only store true relative paths and no longer save "origin" paths and "optional" has been removed, it was never used.
Upgraded all templates to new standard
Template system now correctly handles child objects: Child objects no longer have to specify restricted they inherit from parent
Restricted now operates at the object level and makes no assumptions about parent
Restricted templates can now be combined and seperated on creation
ly_get_list_relative_filename has been deprecated for o3de_pal_dir
All Gems/Projects/Templates updated to use new code

Signed-off-by: byrcolin <byrcolin@amazon.com>
4 years ago
Chris Burel 4392c8963c
[Linux] Prefer higher versioned clang compilers to lower versions (#6824)
If the user does not specify which compiler to use via cache variables in
the CMake invocation, we perform a search for which version to use.
Previously this was done using a glob search on some pre-defined paths, and
then sorting the results using `list(SORT ... COMPARE NATURAL)`. Sorting in
this manner results in lower versions being moved to the head of the list.
The first result in the list was then used. Consequently, if the user has
`clang-11` and `clang-12` installed, `clang-11` was chosen.

This reverses the sort order so that the highest installed version is
chosen.

Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
AMZN-stankowi e1572ce5c9
Updating assimp to the v12 packages (#6861)
Signed-off-by: AMZN-stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
4 years ago
amzn-sj 073994e8e7
Remove quotes around list (#6864)
Signed-off-by: amzn-sj <srikkant@amazon.com>
4 years ago
amzn-sj 068244b1bb
Remove quotes around list of paths (#6857)
Signed-off-by: amzn-sj <srikkant@amazon.com>
4 years ago
Vincent Liu b9787fb2b3
[Mac] Update to use AWSNativeSDK 1.9.50 (#6797) 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
Esteban Papp 0f7e55cf59
Some fixes for paths with spaces (#6757)
* Some fixes for paths with spaces

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* PR comments

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Vincent Liu ad9bcba6e2
[Linux] Update to use AWSNativeSDK 1.9.50 (#6715) 4 years ago
Esteban Papp 05da6aaa67
Removes unnecessary loop (#6684)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Vincent Liu 2b9d1ca813
Update to use AWSNativeSDK 1.9.50 (#6618)
* Update to use AWSNativeSDK 1.9.50
* After SDK upgrade, some AWS objects are bound to SDK allocator, init AWS SDK for unit test
4 years ago
Esteban Papp 74f0cb5b98
Removes LuxCore (#6491)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Mike Chang 6c299000a7
Notices automation install (#6228)
This will generate the NOTICES.txt license file and SPDX-Licenses.json manifest file on every installer run.

Signed-off-by: Mike Chang <changml@amazon.com>
4 years ago
AMZN-Phil 1cbe4261db Force a string check on the version numbers
Signed-off-by: AMZN-Phil <pconroy@amazon.com>
4 years ago
AMZN-Phil 6e2ca2b929 Use version check to allow for a defined empty string to fail and greater to check build number is a number greater than 0
Signed-off-by: AMZN-Phil <pconroy@amazon.com>
4 years ago
AMZN-Phil 6301e44d33 Check whether env variables are defined
Signed-off-by: AMZN-Phil <pconroy@amazon.com>
4 years ago
Nicholas Lawson 201777c1d1
ASTC (Ios texture compressor) for mac was built in debug. (#6182)
* Updates the mac version of ASTC Encoder to actually use release build

Signed-off-by: lawsonamzn <70027408+lawsonamzn@users.noreply.github.com>
4 years ago