* Implemented Support to allow project's to reference gems via the gem name
Updated the enable-gem command to add the name of the enabled gem to the "gem_names" array in the project.json
Updated the enable-gem test to validate this functionality
Centralized the CMake logic for locating external subdirectories to the Subdirectories.cmake script
Added an option to the edit-project-properties and edit-engine-properties o3de.py commands to add/remove/replace the "gem_names" field in the project.json and engine.json respectively
Added a CMake function to determine the root CMake "subdirectory" of any input path which is a parent of it.
This logic has been used to improve the installation of external gems to the <install-root>/External directory.
Tested out the install layout before submitting PR
fixes#7108
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed the enable-gem test on Linux to resolve the mock path.
Renamed all of the o3de python test from "unit_test*.py" to "test*.py" to faciliate the python unittest module picking up the test automatically.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding test for the disable_gem command.
Fixed some typos in engine_properties.py scrip.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>