Commit Graph

628 Commits (0b718d435c63e5f3f5f16f5d64be7be559b18c55)

Author SHA1 Message Date
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>
4 years ago
lumberyard-employee-dm b1c82fc045
Updated references to Engine.pak to be lowercase engine.pak (#4397)
* 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>
4 years ago
jiaweig 0f4a9d70b5
Fix 3p path setting to the upper level (#4399)
Signed-off-by: jiaweig <jiaweig@amazon.com>
4 years ago
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>
4 years ago
santorac 765f82d945 Merge branch 'development' into Atom/santora/UseLibPng 4 years ago
galibzon 133c85c641
MCPP should not add new line (#4353)
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>
4 years ago
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>
4 years ago
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>
4 years ago
Chris Burel 19747cb5c6
Link to xcb as system-provided targets, instead of by direct library path (#4221)
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Chris Burel 8c7e80f11c
Add support for marking 3rdParty libraries as supplied by the host system (#4179)
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
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>
4 years ago
kberg-amzn df9b0714a4
Merge pull request #4184 from aws-lumberyard-dev/LYN6729_AutogenWrongOutputFolder
LYN6729: Fix AzAutoGen to Output to Proper Path
4 years ago
Qing Tao fc8697edd5
ATOM-16029 Add direct support for Astc compression (#4157)
* 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>
4 years ago
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>
4 years ago
Gene Walters 4dab267dc9 Fix AzAutoGen output to use a proper output using path.commonpath instead of path.commonprefix, which unlike commonprefix always return a valid path. For example, commonprefix [usr/hello.txt, usr/helium.cpp] would return usr/he
Signed-off-by: Gene Walters <genewalt@amazon.com>
4 years ago
santorac f95986f443 Updated linux build to use new libpng package.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
santorac 61618e66d3 Fixed a build dependency issue between libpng and zlib on android, thanks to suggestion from @lumberyard-employee-dm
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Esteban Papp 9cba144e39 forgot destination
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
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>
4 years ago
santorac bcef5e4952 I think I got the libpng android package working.
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>
4 years ago
santorac 860571f1e3 WIP trying to get android package working.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Esteban Papp bdf9005c53 PR comments
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
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
4 years ago
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>
4 years ago
Esteban Papp e356003fb5 Fixes for VS < 17 and Android
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
lumberyard-employee-dm a91ea7d549
Removed unused EngineJson.cmake file (#4107)
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
4 years ago
Esteban Papp ee2e728760 Merge branch 'development' into cmake/warn_virtual
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Nicholas Lawson 6103c9c63c
Updates libtiff for all platforms (#4068)
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>
4 years ago
Esteban Papp de3d2a2b69
Detects that binary dir and install prefix are not the same (#4091)
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Scott Romero 32e6473de2
[development] Update RapidXML package info (#4057)
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com>
4 years ago
rgba16f [Amazon] 4c1c2d6f6b
update freetype library revision used (#4065)
* 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>
4 years ago
Esteban Papp 5815b48a00 disabling the warning after merge
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Esteban Papp 5965760612 Merge branch 'development' into cmake/warn_virtual
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Esteban Papp 8554cea0ad better organization of the warning
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
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>
4 years ago
Esteban Papp ba331b29f7
Creates destination directory if it doesnt exists file(ARCHIVE_CREATE will fail if the directory is not there
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
rgba16f e96793659a Fixes to get Mac & iOS building with new PNG support
Signed-off-by: rgba16f <82187279+rgba16f@users.noreply.github.com>
4 years ago
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>
4 years ago
Esteban Papp 7f7d3d9c1c Creates destination directory if it doesnt exists, `file(ARCHIVE_CREATE` will fail if the directory is not there
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Esteban Papp 9f6d4125b8 Merge branch 'development' into cmake/warn_virtual
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
santorac 3d3324cc2b Merge remote-tracking branch 'upstream/development' into Atom/santora/UseLibPng
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Nicholas Lawson 30cafff04d
new LZ4 package to fix debug compile issue (#3993)
* Updates lz4 to rev3 of packages which fixes debug builds

Signed-off-by: lawsonamzn <70027408+lawsonamzn@users.noreply.github.com>
4 years ago
Vincent Liu 81966cbcbf
[LYN-5564] Update AWSNativeSDK revision (#3686)
Signed-off-by: onecent1101 <liug@amazon.com>
4 years ago
santorac 7a8eb8eda5 Added a new PngImage utility class that wraps libpng. This replaces the use of OpenImageIO in O3DE (although OpenImageIO is still a build dependency for now).
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
4 years ago
Esteban Papp 860b28c10b more fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
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
4 years ago
Esteban Papp 9e0ff8e55d disabling external headers for analyzer
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
Esteban Papp d814662810
Fixes renderdoc define
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago
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>
4 years ago
Esteban Papp 46c6923bf7
Enabling warnings around format security
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
4 years ago