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/Gems
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
..
AWSClientAuth Added pdbs for python windows in order to allow python/c++ debugging on VS (#3661) 4 years ago
AWSCore Create config files automatically and UX style updates (#3514) 4 years ago
AWSGameLift [LYN-4065] Expose GameLift server api to notify server process ready (#2409) 4 years ago
AWSMetrics Replaced AzFramework::FileFunc JSON utils API calls with AzCore::JsonUtils APIs that appear to have been duplicated. Also fixed up improper Project Configurator -> Project Manager comment replacements. 4 years ago
Achievements Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
AssetMemoryAnalyzer Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
AssetValidation Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
Atom Set enable gem variants feature (#3631) 4 years ago
AtomContent Removed all preview.png and references of preview.png in all Atom related gems. (#3664) 4 years ago
AtomLyIntegration Set enable gem variants feature (#3631) 4 years ago
AtomTressFX Removed all preview.png and references of preview.png in all Atom related gems. (#3664) 4 years ago
AudioEngineWwise more fixes for Gems 4 years ago
AudioSystem Merge branch 'development' into cmake/linux_fix_warn_unused 4 years ago
BarrierInput Another warning fixes 4 years ago
Blast Setting /permissive- to make MSVC more "standard" (#3701) 4 years ago
Camera Set enable gem variants feature (#3631) 4 years ago
CameraFramework Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
CertificateManager Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
CrashReporting More fixes for warnings 4 years ago
CustomAssetExample Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
DebugDraw Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
DevTextures Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
EMotionFX Merge pull request #3685 from aws-lumberyard-dev/cgalvan/UpdateProjectConfiguratorReferences 4 years ago
EditorPythonBindings Gems/EditorPythonBindings 4 years ago
ExpressionEvaluation Merge pull request #3618 from aws-lumberyard-dev/carlitosan/development 4 years ago
FastNoise fix Linux unit test hang 4 years ago
GameState Fix the GameStateSamples Gem and remove an unused variable from DebugConsole.h (#3347) 4 years ago
GameStateSamples Fix the GameStateSamples Gem and remove an unused variable from DebugConsole.h (#3347) 4 years ago
Gestures Legacy cleanup (#3383) 4 years ago
GradientSignal Gems/GradientSignal 4 years ago
GraphCanvas more gems changes 4 years ago
GraphModel Fix unused warnings release (#3677) 4 years ago
HttpRequestor Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
ImGui Fix unused warnings release (#3677) 4 years ago
InAppPurchases Android release fixes (#3788) 4 years ago
LandscapeCanvas other gems 4 years ago
LmbrCentral Merge pull request #3685 from aws-lumberyard-dev/cgalvan/UpdateProjectConfiguratorReferences 4 years ago
LocalUser Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
LyShine XCode doesnt support files per configuration, using the old method (#3789) 4 years ago
LyShineExamples Legacy cleanup (#3383) 4 years ago
Maestro Set enable gem variants feature (#3631) 4 years ago
MessagePopup MessagePopup 4 years ago
Metastream Gems/Metastream 4 years ago
Microphone Android release fixes (#3788) 4 years ago
Multiplayer Merge pull request #3689 from aws-lumberyard-dev/ContainerReplicationAndStats 4 years ago
MultiplayerCompression Fix unused warnings release (#3677) 4 years ago
NvCloth Merge branch 'development' into cmake/linux_fix_warn_unused 4 years ago
PBSreferenceMaterials Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
PhysX Setting /permissive- to make MSVC more "standard" (#3701) 4 years ago
PhysXDebug Merge branch 'development' into cmake/SPEC-2513_w4244 4 years ago
PhysXSamples Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
Prefab Set enable gem variants feature (#3631) 4 years ago
Presence Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
PrimitiveAssets Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
PythonAssetBuilder removing unnecessary bigobj flags from files (its applied globally) 4 years ago
QtForPython Replaced some Lumberyard references with O3DE. 4 years ago
SaveData Merge branch 'development' into cmake/SPEC-7484 4 years ago
SceneLoggingExample Merge pull request #3685 from aws-lumberyard-dev/cgalvan/UpdateProjectConfiguratorReferences 4 years ago
SceneProcessing Set enable gem variants feature (#3631) 4 years ago
ScriptCanvas Set enable gem variants feature (#3631) 4 years ago
ScriptCanvasDeveloper unnecessary comparison to itself 4 years ago
ScriptCanvasPhysics Gems/ScriptCanvas 4 years ago
ScriptCanvasTesting Merge branch 'development' into cmake/linux_fix_warn_unused 4 years ago
ScriptEvents Merge branch 'development' into cmake/linux_fix_warn_unused 4 years ago
ScriptedEntityTweener more warnings triggered by nightly builds 4 years ago
SliceFavorites other gems 4 years ago
StartingPointCamera Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
StartingPointInput Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
StartingPointMovement Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
SurfaceData Merge branch 'development' into cmake/linux_fix_warn_unused 4 years ago
Terrain First pass terrain cleanup (#3753) 4 years ago
TestAssetBuilder Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
TextureAtlas more gems changes 4 years ago
TickBusOrderViewer Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
Twitch more fixes for Gems 4 years ago
UiBasics Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
Vegetation Merge branch 'development' into cmake/linux_fix_warn_unused 4 years ago
VideoPlaybackFramework Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
VirtualGamepad Adds Links to Gem Directory and Documentation for Gems (#2922) 4 years ago
WhiteBox Setting /permissive- to make MSVC more "standard" (#3701) 4 years ago