* 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>
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>
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>
- 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>
* 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>
- 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>
- 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>
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>
* 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>
* 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>
* 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>
* 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>
* 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>
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
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>
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>
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>
* 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>
* 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>
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>
* 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>
* 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>
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>