* When copying the runtime dependency setreg files to the cache, the name of the registry directory should be all lower case
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Lower case the registry folder name when looking in the asset cache.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* fixes some install paths issues in monolithic release
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* PR comments
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Added a codesigning script to pre and post build steps in the Windows installer CD job
* Changed `windows_installer` job name to `installer_vs2019`
* Added `installer-nightly` tag for `installer_vs2019`
* Updated `build_config.json` to use an envvar for the installer url and bucket
Signed-off-by: Mike Chang <changml@amazon.com>
* Updated references to Engine.pak to be lowercase engine.pak
This makes the engine.pak file consistent with naming scheme of other pak files such as assets.pak.
It will also help avoid issues with mounting the file on Linux.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Engine.pak now loads correctly in release builds. The check for the file existing was failing in release builds because it was only checking inside packs. OpenPack first checks if the file exists, anyways, so it was safe to remove.
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
Co-authored-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
MCPP should not add new line characters at the end of comment lines
Update for windows, mac and linux of mcpp package to 'mcpp-2.7.2-az.2-rev1'
Signed-off-by: garrieta <garrieta@amazon.com>
* [Mac] Initial support for building with hardened runtime enabled and code signing the binaries and bundles generated by the CMake install process.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Move call to ly_post_install_step
2. Entitlements should only be added for executables
3. Change use of CMake exec_program to newer execute_process
4. Remove broken symlinks from embedded Python frameworks
5. Run post install code signing only if hardened runtime is enabled
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove unnecessary flag
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove unnecessary additional call to condesign python inside a bundle
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Move commonly used install functions for codesigning, copying files, and fixing frameworks to a utility script
2. Remove unnecessary wait in the Editor/AP launchers I added earlier.
3. Codesign 3rd party libraries for distribution.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Codesigning on 3rd party libs should only happen when hardened runtime is enabled.
2. Change the order of the if blocks in Editor's main_dummy.cpp. This was causing strange notarization issues because it wass too similar to AP's main executable.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Add new line to end of file
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Move architecture specification to PAL_mac cmake file. 2. Codesign failure should be fatal.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Address some PR feedback
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove unnecessary comment. Change if to use IN_LIST.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* HOME may not always be defined. Adding alternate POSIX way of determining HOME.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Checking in partial work to get O3DE SDK built as an app bundle. Has a bunch of debug code that needs to be cleaned up.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove this and add it back later with fixed casing.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Adding file back with fixed case
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Add entitlements sparingly(only when necessary)
2. Convert entitlements to plist files which we can directly pass to codesign
3. Install python site-packages in the o3de_sdk launcher and then launch the project manger.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Move hardened runtime check to codesigning functions only. This way, non-hardened runtime install is identical to the former except for codesign. Makes it easy for QA to test internally.
2. Move cmake min version for install to the pre-install steps.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Remove the dummy launchers for AssetProcessor and Editor
2. Add loader_path to the rpaths of binaries outside an app bundle so that the dynamic loader can load their dependencies if any.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove file named main_dummy.cpp
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Add O3DE SDK launcher
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Add missing runtime dependencies to gems
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Update the path to binaries when codesigning to the correct one.
2. Remove some debug messages.
3. Move installed binary path setreg generation to the target install function. This way, we get the correct path to the bundle accounting for different configs and subdirectories.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Add explanatory comments.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. ly_install_add_install_path_setreg cannot be called during install target because the runtime dependencies are already processed by then.
2. The SDK launcher now uses the ProjectManager's bundle setreg to find the path to the installed binaries
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Update path to install relative binaries after merge from dev
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Only one config of the SDK launcher needs to be installed. Preinstall steps should not be run per config, but only once.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Install python dependencies using the get_python.sh script.
2. Replace any reference to hard-coded package name/version numbers with variables.
3. Add one more missing runtime dependency.
4. Misc. PR feedback.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Remove the need for setreg files in all tool bundle. Project binary path can be used instead.
2. Move O3DE_SDK_Launcher to Code/Tools/BundleLauncher
3. Add ly_install_run_script() function for install(SCRIPT) functionality.
4. Address some other PR feedback.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Add source permission when installing O3DE_SDK executable.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Rename setreg file to add specialization tag.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove LY_BUILD_PERMUTATION that's not needed
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Add BinariesInstallPath.setreg to all our bundles like before. This is now only added during the install process though.
2. Fix path in Install_common.cmake
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Fix comment
Signed-off-by: amzn-sj <srikkant@amazon.com>
* ATOM-16029 Add direct support for Astc compression
Changes include:
- Add ASTCCompressor class
- Enabled 3rdparty::astc-encoder static library.
- Remove ASTC support in PVRTC compressor and ISPC compressor.
- Update unit test to include texts for ASTC compress/decompress.
Signed-off-by: Qing Tao <qingtao@amazon.com>
First the Cache directory itself was being added to the archive. It has
been updated to query the assets from the asset type folder i.e
Cache/<asset-type>
Second execute_process is being used to invoke CMake `tar` command to
create the zip archive since the CMake `file(ARCHIVE_CREATE)` adds the
files to the archive relative to the current working directory which is
${CMAKE_BINARY_DIR} when invoking the install script.
This was causing the archive to store files with a path of "../../Cache/pc"
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Note there is a bit of a dependency hack in Gems\Atom\Feature\Common\Code\CMakeLists.txt to work around a mysterious issue; I'll reach out to some experts for investigation.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
Adds support for creating an SDK layout from a Monolithic build and have the same install prefix used between monolithic and non-monolithic
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
The new libtiff is uniform, and static, across all platforms.
It includes zlib support and uses our own zlib.
Signed-off-by: lawsonamzn <70027408+lawsonamzn@users.noreply.github.com>
* Update freetype linux package revision
* Update mac & ios revisions of the freetype library
* Update Mac freetype to use rev 16
* update linux to use freetype rev 16
* Update Android & Mac to use freetype rev 16
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
* Update windows & android builtin lz4 package version
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
* Update linux builtin packages to use the new lz4 vcpkg
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
* Update Mac & iOS builtins to use the new lz4 vcpkg
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
* Update MultiplayerCompression Gem LZ4Compressor to use the replacement for deprecated LZ4compressHC function
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
The previous version of the package was dynamic on some platforms,
and static on others. This makes it static across the board and
also makes it compatible with other 3p libraries wanting to use
zlib.
Signed-off-by: lawsonamzn <70027408+lawsonamzn@users.noreply.github.com>
* Implemented the RFC to allow projects to need to specify the Gems
Projects no longer need to specify CMake Targets to associate a Gem
variant with.
In order to associate a CMake Target with a gem variant a new
`ly_set_gem_variant_to_load` function has been added that maps CMake
Targets -> Gem Variants.
This allows CMake Targets to self describe which gem variants they
desire to build and load
This implementation is backwards compatible:
The `ly_enable_gems` function still accepts the TARGETS and VARIANTS
arguments which it will forward to the new `ly_set_gem_variant_to_load`
function to allow the input Targets to be associated with input Gem
Variants
This changes fixes the issue with gems that are required by an
Application regardless of the Project in use, not replicating it's
"requiredness" to the SDK layout
Fixes#3430
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added an LY_PROJECT_NAME property to the Launcher targets
The `ly_enable_gems_delayed` now command queries the LY_PROJECT_NAME property
associated with each target to determine if the gems being enabled are
match the project the target is associated with.
In this case the target only adds dependencies if the gems is being enabled
without a specific project or if the gems is being enabled for the
matching project.
If the LY_PROJECT_NAME property is not set for target, it indicates the
gems for each project can be added as dependencies to the target.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* The INSTALL step now forwards the LY_PROJECT_NAME property for a target
The Install_common.cmake has been updated to support configuring
TARGET_PROPERTIES into the generated CMakeLists.txt for install targets.
Furthermore the indentation of the generated CMakeLists.txt has been
normalized to help with readability
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updating the Atom_Bootstrap CMakeLists.txt to enable the Atom_Bootstrap Gem
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added a deprecation message to ly_enable_gems when supplying TARGETS and
VARIANTS
Added a define_property call for the LY_PROJECT_NAME target property
Removed the .Builders alias for the PrefabBuilder and renamed the
GEM_MODULE target o PrefabBuilder.Builders.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removed superflous space from AutomatedTesting Gem CMakeLists.txt
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fix rpath for lrelease binary
This fixes the rpath for lrelease which is used to compile the qt translation file.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Fix a LocalFileIO path casing issue
LocalFileIO was lowercasing the entire path after substituting aliases.
This caused files to not be found and many failures in AP.
Fixed to only lowercase the trailing relative path after the substitution.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Removed a message line
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Added pdbs for python windows in order to allow python/c++ debugging on VS
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Modified other places where rev1 was used
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
Co-authored-by: Garcia Ruiz <aljanru@amazon.co.uk>
Changes how runtime dependencies are hooked as dependencies to create depenedencies to the inputs
This makes it that if an input to the runtime dependencies changes, it gets re-copied (e.g. a 3rdParty changes or a file added through ly_add_target_files)
Closes Issue #3391
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
Update package name and hash
Add compressor names.
Update ImageProcessingAtom unit tests.
Removed some unused test assets under ImageProcessingAtom
Enalbe ISPC to all the platforms.
Better error message with compression/decompression
Add temp folder to git ignore
added ispccompressor for all platform. valid it with linux
Update windows package hashes.
Removed AZ_TRAIT_IMAGEPROCESSING_USE_ISPC_TEXTURE_COMPRESSOR
Minor refactor with image processing unit tests.
Signed-off-by: qingtao <qingtao@amazon.com>
* Fix an issue with project-centric ninja builds
Normalizes relative paths when adding engine.json as a cmake configure dependency.
It should match the dependency added later which uses absolute path.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Fix typo
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Fix rpaths during o3de sdk install on Linux
Adds install code that modifies ly_copy commands to fix rpaths for things like qt plugins.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Add newline at end of file
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Update to use bracket argument
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Minor edit
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Move the string configure call to inside override
Per feedback.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Update Mac build to use rev3 of dxc package
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
* Update linux DXC package version requested
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
* Update windows DXC package revision requested
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
Update gradle script generation to correct task dependencies (#3120)
- copyNativeArtifacts must run after syncLYLayoutMode
- syncLYLayoutMode must must after externalNativeBuild
Signed-off-by: Steve Pham <spham@amazon.com>
* Addressing CMake warning and removing timeouts that are the same as the default
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* missed this one
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Making it an error so developers stops putting timeouts longer than the allowed one since it causes AR issues
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* fixing warning from the nightly build
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* disabling test that is triggering a timeout
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
The "Latest" tagged installer uploads were failing the file filter because the upload script now collects files as full path before performing the regex.
Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
* 1. Initial support for loading dylibs outside the bundle.
2. Child processes inherit parent's environment if no environment is explicitly specified(should change to append the parent's environment even if environment variables are explicitly specified).
3. Update some time functions to use system uptime instead of wall clock time when computing elapsed time. This fixes false timeouts when the OS goes to sleep.
4. Increase wait times for AssetBuilders and some Atom tools to connect to the AssetProcessor. This is needed because GateKeeper slows down first time bootup which results in asset processing failures.
With this change we'll be able to run Editor and AssetProcessor from an install on Mac and we will also be able to build and run projects using the installed engine as an SDK.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Remove debug messages.
2. Fix license
3. Pass parent's environment variables to child processes by default(on Mac).
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Add more detailed comments.2. Use a custom ly_copy for Mac and leave the default as is.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Address some feedback from review
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Updates o3de to use the new zlib packages.
Packages were uploaded for every supported platform.
Signed-off-by: lawsonamzn <70027408+lawsonamzn@users.noreply.github.com>
Enable files in use dialog in bootstrap installer to close running o3de tools during uninstall or repair
Fixed installer toolset path propagation after variable name change
Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
* Copy jinja/py files to the install folder
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* code review comment
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* moving AzAutoGen to cmake folder and removing the header-only project
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Create RUN target as helpers for the project-centric workflow
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* typo fix
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* rename target as "<target>.Imported" and create "<target>" as the metatarget that is used for debugging and building in o3de
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Create RUN target as helpers for the project-centric workflow
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* typo fix
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* rename target as "<target>.Imported" and create "<target>" as the metatarget that is used for debugging and building in o3de
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* tweak test projects so the console window remains open
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* doing it for all test projects
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* newline at the end of the file to make devs happy
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Updates the Wwise SDK detection in CMake
Parses AkWwiseSDKVersion.h to obtain the version instead of requiring an
exact version to be installed.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Updates readme.md information about Wwise
Rewrite some of the setup info about Wwise, mention the two ways in
which Wwise can be found via CMake and that users can install later
versions than the one specified.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Remove unnecessary parts of Wwise version detect
Don't need to parse the file contents, it was only being used to print a
message to CMake. Simplify the validation to just checking that the SDK
version header exists. Maybe in the future we can reinstate better
version checking to make sure the version falls within a range.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Updates capitalization of Audiokinetic name
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Some var cleanup so it shows better-organized in cmake-gui. Some vars were also not following the namign convention we are using
Removed some unnecessary messaging
Fixed a TIF bug where it would report the wrong test in a message, fixed a message that was being triggered
Changed TIF to be enabled just by the binary so running the ci_build scripts locally doesnt trigger TIF messaging
Removed `LY_ENABLE_MULTIPLAYER_COMPRESSION`, it was not being used
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* handling case where a parameter can be empty
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* needs to be var name, not contents
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
- Add new Linux Trait to determine which display driver client API to use (only xcb supported for now)
- Add support for xcb connections (initial) for Linux/Vulkan
- Fix minor assertion caused by wrong use of sizeof
- Fix casing issue in a couple of material files (Linux is case sensitive)
* Applying GENEX_EVAL to 2 cases where the genex can produce another genex
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Missing case when the folder is an external one to the engine/project (e.g. external gems)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Enable Shader Compilation support for Linux
* Add azslc package 3P definition for download
* Add AzslcGeader.azsli nad PlatformHeader.hlsli for Linux/Null and Linux/Vulkan (Copy of Android/Vulkan)
* Enable trait PAL_TRAIT_BUILD_ATOM_ASSET_SHADER_SUPPORTED for Linux
* Add platform builder file dependencies
* Updated AZ_TRAIT_ATOM_SHADERBUILDER_AZSLC to use new 3P linux version of azslc
* Add AtomShaderCapabilities.json, PlatformLimits.azasset for Linux (Copy from Android)
* Fix paths/values for Vulkan_Traits_Linux.h
* Enable trait PAL_TRAIT_BUILD_ATOM_ASSET_SHADER_SUPPORTED for Linux
* Enabled AZ_TRAIT_ATOM_VULKAN_LAYER_LUNARG_STD_VALIDATION_SUPPORT for Linux/Vulkan
* Added AzslcHeader.azsli, PlatformHeader.hlsli dependencies for Linux/Null and Linux/Vulkan in the platform builders for windows and mac for consistency
Signed-off-by: spham-amzn <spham@amazon.com>
* Applying GENEX_EVAL to 2 cases where the genex can produce another genex
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Missing case when the folder is an external one to the engine/project (e.g. external gems)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Ninja compile and link pool CMake settings
Signed-off-by: L4stR1t3s <69721170+L4stR1t3s@users.noreply.github.com>
* Added CMake cached variables for Ninja compile/link pool settings
Signed-off-by: L4stR1t3s <69721170+L4stR1t3s@users.noreply.github.com>
Install_common.cmake to make sure the the Gem assets are copied to the
install layout
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* 1. Move call to install(TARGETS...) to its own function to create a platform specific implementation for Mac.
2. Add linker-signed flag to work around cmake install issue.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Add newline
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. Rename function to ly_install_target_override and only call it if it has been implemented.
2. Pass in runtime, archive, and library directory paths as params to clean it up a bit.
Signed-off-by: amzn-sj <srikkant@amazon.com>