Commit Graph

285 Commits

Author SHA1 Message Date
AMZN-Phil 4e3711f643 Merge pull request #4531 from aws-lumberyard-dev/InstallerShortcutsFix
Update wix installer folders to match the new binary locations.
2021-10-06 14:10:33 -07:00
AMZN-Phil 39cf3f51cc Update wix installer folders to match the new binary locations.
Signed-off-by: AMZN-Phil <pconroy@amazon.com>
2021-10-06 11:43:41 -07:00
lumberyard-employee-dm 14474dbac7 Swapped the order in which the engine.pak is searched (#4455)
* Swapped the order in which the engine.pak is searched

First the Project Cache Root folder is searched before falling back to
the Executable Directory

Removed the need for the engine.json and project.json in a project
release layout when a "Cache" directory exist at the root.
The project root uses the the first "Cache" directory it finds by scanning upwards as if fails to find a
project.json,
The engine root use the project root, if it fails to reconcile the
engine path using project.json "engine" key and the o3de_manifest.json
"engines_path" object.

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

* Removed Generation of the engine.json and project.json in Release
Install builds.

The project and engine path can be determined based on the Cache
directory location.

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

* Added missing space for enginePakOpened

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

* Adding missing endif() and bracket argument terminator.


Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2021-10-05 11:24:37 -05:00
Esteban Papp bf393ec85c fixes some install paths issues in monolithic release (#4422)
* 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>
2021-10-01 08:38:46 -07:00
Mike Chang 0b718d435c Installer, bootstrapper, and executable signing for Windows (#4406)
* 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>
2021-09-30 17:40:34 -07:00
Artur K bdc5cb1fff Replace PROFILE define with AZ_PROFILE_BUILD
It now follows the schema defined by `AZ_DEBUG_BUILD` define instead.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>
2021-09-29 09:30:38 -07:00
SJ 1dbf9157ea Set working directory to the install directory so that cmake can find includes in the engine root's cmake directory. (#4328)
Signed-off-by: amzn-sj <srikkant@amazon.com>
2021-09-27 09:48:59 -07:00
SJ 5ae35810ae 1. Update iOS deployment target to 14 (#4266)
2. Set MacOS default deployment target to 11.

Signed-off-by: amzn-sj <srikkant@amazon.com>
2021-09-22 19:11:20 -07:00
Chris Burel 8c7e80f11c Add support for marking 3rdParty libraries as supplied by the host system (#4179)
Signed-off-by: Chris Burel <burelc@amazon.com>
2021-09-20 09:51:03 -07:00
SJ 1f542838bb [Mac] Generate O3DE SDK app bundle that can be notarized and distributed (#4150)
* [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>
2021-09-20 11:13:47 -05:00
lumberyard-employee-dm 9184d52a9b Fixed creation of the Engine.pak file (#4188)
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>
2021-09-17 11:14:09 -05:00
Esteban Papp 9cba144e39 forgot destination
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-15 11:44:45 -07:00
Esteban Papp c2864e2ec0 used a CMake 3.21 function, but that is not the min version we support
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-15 09:49:28 -07:00
Esteban Papp bdf9005c53 PR comments
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-14 18:19:42 -07:00
Esteban Papp 36b7cb2814 Merge branch 'development' into cmake/warn_virtual
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Framework/AzCore/AzCore/Memory/HeapSchema.h
#	Code/Framework/AzCore/AzCore/Memory/HphaSchema.h
#	Code/Framework/AzCore/AzCore/Memory/MallocSchema.h
#	Code/Framework/AzCore/AzCore/Memory/OverrunDetectionAllocator.h
2021-09-14 15:32:35 -07:00
Esteban Papp 2c066a81da Adds support for creating an SDK layout from a Monolithic build (#4097)
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>
2021-09-14 15:11:11 -07:00
Esteban Papp e356003fb5 Fixes for VS < 17 and Android
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-14 14:10:17 -07:00
Esteban Papp 5815b48a00 disabling the warning after merge
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-10 21:16:03 -07:00
Esteban Papp 5965760612 Merge branch 'development' into cmake/warn_virtual
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-10 20:27:01 -07:00
Esteban Papp 8554cea0ad better organization of the warning
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-10 20:14:58 -07:00
Esteban Papp 5909e471e6 Limits configuration types a project sees when using an engine SDK (#4033)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-10 10:39:42 -07:00
Chris Burel 0445ec3956 Remove references to unsupported "xlib" windowing system support (#4028)
Support for X clients is provided by xcb instead.

Signed-off-by: Chris Burel <burelc@amazon.com>
2021-09-09 16:13:23 -07:00
Esteban Papp 860b28c10b more fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-08 08:48:32 -07:00
Esteban Papp c805d443d2 Merge branch 'development' into cmake/warn_virtual
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Legacy/CryCommon/IConsole.h
#	Code/Legacy/CrySystem/LocalizedStringManager.h
#	Code/Legacy/CrySystem/XConsole.h
#	Code/Legacy/CrySystem/XConsoleVariable.h
#	Code/Legacy/CrySystem/XML/XmlUtils.cpp
#	cmake/Platform/Common/Clang/Configurations_clang.cmake
2021-09-07 18:42:40 -07:00
Esteban Papp 9e0ff8e55d disabling external headers for analyzer
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-07 18:36:40 -07:00
Esteban Papp 6b13e8bfc8 Enabling PreFast to find virtual/override issues, some better organization of files
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-07 16:11:48 -07:00
Esteban Papp 46c6923bf7 Enabling warnings around format security
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-07 15:17:40 -07:00
Esteban Papp 8c51fc24f7 Adding clang warning
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-07 07:54:35 -07:00
Esteban Papp e9dfa3f8dd Enabling warnings in MSVC
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-03 14:49:32 -07:00
Esteban Papp 925bcee0db Create Deploy Script that can copy a Project Game Release Layout to a standalone location
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-03 13:28:22 -07:00
Esteban Papp e8495cf829 adds equivalent warnign for windows
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-03 11:11:04 -07:00
Esteban Papp 522e4bff9e Merge branch 'development' into cmake/warn_format_security
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	cmake/Platform/Common/Clang/Configurations_clang.cmake
2021-09-03 11:10:40 -07:00
Esteban Papp bfdcf74ea0 PR comments/suggestions
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-03 09:10:47 -07:00
SJ daf901e809 Set target_file variable since it's still being used in Mac runtime dependencies cmake file (#3905)
Signed-off-by: amzn-sj <srikkant@amazon.com>
2021-09-02 14:16:13 -07:00
Esteban Papp 26d277cc14 Merge branch 'development' into issues/3202
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-09-01 15:19:32 -07:00
lumberyard-employee-dm 0ad2fe2294 Set enable gem variants feature (#3631)
* 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>
2021-09-01 11:01:50 -05:00
amzn-phist f0fc906510 Misc fixes for Linux SDK (#3764)
* 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>
2021-09-01 08:23:47 -07:00
Esteban Papp 185e7ffbfc get the Platform files for 3rdparty also copied
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-31 16:46:27 -07:00
Esteban Papp 39cf45e544 Setting /permissive- to make MSVC more "standard" (#3701)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-31 14:46:50 -07:00
Esteban Papp 319f770a64 enabling warns
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-30 16:50:59 -07:00
Esteban Papp 0df55c3a7f enabling warn format security and some fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-30 16:10:08 -07:00
Esteban Papp e8fa1dca58 Improves runtime dependencies input dependency (#3665)
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>
2021-08-30 15:21:13 -07:00
Esteban Papp ae4cfc3bd3 Merge branch 'development' into cmake/linux_fix_warn_unused
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Framework/AzCore/AzCore/Math/Guid.h
#	cmake/Platform/Common/MSVC/Configurations_msvc.cmake
2021-08-25 15:40:41 -07:00
Esteban Papp b9daf7f7c3 Enabling several warnings on MSVC that are not enabled by default and are good to have 2021-08-25 15:38:09 -07:00
Esteban Papp 6b96be82ea Merge branch 'development' into cmake/linux_fix_warn_unused
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Legacy/CrySystem/Log.cpp
#	Code/Tools/Standalone/Source/Driller/Annotations/AnnotationHeaderView.cpp
#	Code/Tools/Standalone/Source/Driller/AreaChart.cpp
#	Code/Tools/Standalone/Source/Driller/AreaChart.hxx
#	Code/Tools/Standalone/Source/Driller/ChannelDataView.cpp
#	Code/Tools/Standalone/Source/Driller/DrillerCaptureWindow.cpp
#	Code/Tools/Standalone/Source/Driller/Profiler/ProfilerDataView.cpp
2021-08-25 11:47:19 -07:00
Esteban Papp f22ecc7830 of course, was disabling/enabling the warning
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-24 15:15:40 -07:00
Esteban Papp f94043dc83 Adds functions so targets can define install directories/files 2021-08-24 15:12:02 -07:00
Esteban Papp d7fda783a8 improves comment
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-24 11:48:49 -07:00
Esteban Papp 0f3381a7a7 required warning to disable until we get to the right MSVC version
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-24 11:13:04 -07:00
Esteban Papp 5ca84cb07e Merge branch 'development' into cmake/win_fix_wnew
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Legacy/CryCommon/Cry_Camera.h
#	Code/Legacy/CryCommon/IShader.h
2021-08-24 10:46:18 -07:00