You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/cmake
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>
4 years ago
..
3rdParty Update Blast gem to use newer version of Blast 3p package, which fixes Blast gem on monolithic builds. (#3754) 4 years ago
Platform Set enable gem variants feature (#3631) 4 years ago
TestImpactFramework Erase existing artifacts before generation. 4 years ago
Tools Fix android gradle scripts to prevent cmake_dependencies.<game>.<game>_gamelauncher from being wiped out of the APK 4 years ago
install Set enable gem variants feature (#3631) 4 years ago
3rdParty.cmake Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
3rdPartyPackages.cmake Make locations for LY_PACKAGE_DOWNLOAD_CACHE_LOCATION and LY_PACKAGE_UNPACK_LOCATION relative to LY_3RDPARTY_PATH across configurations (#2360) 4 years ago
AzAutoGen.py Copy jinja/py files to the install folder (#2643) 4 years ago
CMakeFiles.cmake Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
CommandExecution.cmake Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Configurations.cmake Allowing to build with ASan enabled 4 years ago
Dependencies.cmake Set enable gem variants feature (#3631) 4 years ago
Deployment.cmake Some var cleanup so it shows better-organized in cmake-gui. Some vars… (#2361) 4 years ago
EngineJson.cmake Some var cleanup so it shows better-organized in cmake-gui. Some vars… (#2361) 4 years ago
FileUtil.cmake Some var cleanup so it shows better-organized in cmake-gui. Some vars… (#2361) 4 years ago
Findo3de.cmake Fix an issue with project-centric ninja builds [Linux] (#3429) 4 years ago
Gems.cmake Set enable gem variants feature (#3631) 4 years ago
GeneralSettings.cmake Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Install.cmake CMakeLists.txt frrom templates are not being installed (#3456) 4 years ago
LYPackage_S3Downloader.cmake Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
LYPython.cmake Added pdbs for python windows in order to allow python/c++ debugging on VS (#3661) 4 years ago
LYTestWrappers.cmake Fixes a nightly build and a CMake warning (#2941) 4 years ago
LYWrappers.cmake XCode doesnt support files per configuration, using the old method (#3789) 4 years ago
LyAutoGen.cmake Improves runtime dependencies input dependency (#3665) 4 years ago
LySet.cmake Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Monolithic.cmake Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
O3DEJson.cmake Some var cleanup so it shows better-organized in cmake-gui. Some vars… (#2361) 4 years ago
OutputDirectory.cmake Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
PAL.cmake Fix PAL.cmake logic, thanks to lumberyard-employee-dm! (#3516) 4 years ago
PALTools.cmake Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Packaging.cmake Resolved conflicts in merge from stabilization/2106 -> development. 4 years ago
PackagingConfig.cmake Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Projects.cmake Set enable gem variants feature (#3631) 4 years ago
RuntimeDependencies.cmake Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
SettingsRegistry.cmake Set enable gem variants feature (#3631) 4 years ago
UnitTest.cmake Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
Version.cmake Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
__init__.py Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
cmake_files.cmake fixes after merge 4 years ago
createplatformfiles.py Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
gemcmake.py Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
mocfix.py Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
projectcmake.py Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
reroot.py Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
waffiles2cmake.py Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago
warn_fix.py Shorten copyright headers by splitting into 2 lines (#2213) 4 years ago