CMakeLists.txt 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #
  2. # Copyright (c) Contributors to the Open 3D Engine Project.
  3. # For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. #
  5. # SPDX-License-Identifier: Apache-2.0 OR MIT
  6. #
  7. #
  8. ly_add_target(
  9. NAME ${gem_name}.Static STATIC
  10. NAMESPACE Gem
  11. FILES_CMAKE
  12. scriptcanvas_multiplayer_files.cmake
  13. scriptcanvas_autogen_files.cmake
  14. INCLUDE_DIRECTORIES
  15. PRIVATE
  16. .
  17. Source
  18. BUILD_DEPENDENCIES
  19. PRIVATE
  20. Gem::ScriptCanvas.API
  21. Gem::Multiplayer.Common.Static
  22. AUTOGEN_RULES
  23. *.ScriptCanvasNodeable.xml,ScriptCanvasNodeable_Header.jinja,$path/$fileprefix.generated.h
  24. *.ScriptCanvasNodeable.xml,ScriptCanvasNodeable_Source.jinja,$path/$fileprefix.generated.cpp
  25. )
  26. ly_add_target(
  27. NAME ${gem_name} ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
  28. NAMESPACE Gem
  29. FILES_CMAKE
  30. scriptcanvas_multiplayer_shared_files.cmake
  31. INCLUDE_DIRECTORIES
  32. PRIVATE
  33. .
  34. Source
  35. BUILD_DEPENDENCIES
  36. PRIVATE
  37. Legacy::CryCommon
  38. Gem::${gem_name}.Static
  39. )
  40. # Inject the gem name into the Module source file
  41. ly_add_source_properties(
  42. SOURCES
  43. Source/ScriptCanvasMultiplayerModule.cpp
  44. PROPERTY COMPILE_DEFINITIONS
  45. VALUES
  46. O3DE_GEM_NAME=${gem_name}
  47. O3DE_GEM_VERSION=${gem_version})
  48. # By default, the above module is used by all application types, however, the module depends at runtime to ScriptCanvas
  49. # and the dependency needs to be different per application type
  50. ly_create_alias(NAME ${gem_name}.Unified NAMESPACE Gem TARGETS Gem::${gem_name} Gem::ScriptCanvas)
  51. ly_create_alias(NAME ${gem_name}.Clients NAMESPACE Gem TARGETS Gem::${gem_name} Gem::ScriptCanvas)
  52. ly_create_alias(NAME ${gem_name}.Servers NAMESPACE Gem TARGETS Gem::${gem_name} Gem::ScriptCanvas)
  53. ly_create_alias(NAME ${gem_name}.Tools NAMESPACE Gem TARGETS Gem::${gem_name} Gem::ScriptCanvas.Editor)
  54. ly_create_alias(NAME ${gem_name}.Builders NAMESPACE Gem TARGETS Gem::${gem_name} Gem::ScriptCanvas.Editor)