CMakeLists.txt 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. #
  2. # All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
  3. # its licensors.
  4. #
  5. # For complete copyright and license terms please see the LICENSE at the root of this
  6. # distribution (the "License"). All use of this software is governed by the License,
  7. # or, if provided, by the license below or the license accompanying this file. Do not
  8. # remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
  9. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. #
  11. ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME})
  12. ly_add_target(
  13. NAME MultiplayerSample.Static STATIC
  14. NAMESPACE Gem
  15. FILES_CMAKE
  16. multiplayersample_files.cmake
  17. multiplayersample_autogen_files.cmake
  18. ${pal_dir}/multiplayersample_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
  19. INCLUDE_DIRECTORIES
  20. PRIVATE
  21. Source
  22. AZ::AzNetworking
  23. .
  24. PUBLIC
  25. Include
  26. BUILD_DEPENDENCIES
  27. PUBLIC
  28. AZ::AzGameFramework
  29. AZ::AzNetworking
  30. PRIVATE
  31. Gem::LmbrCentral.Static
  32. AUTOGEN_RULES
  33. *.AutoPackets.xml,AutoPackets_Header.jinja,$path/$fileprefix.AutoPackets.h
  34. *.AutoPackets.xml,AutoPackets_Inline.jinja,$path/$fileprefix.AutoPackets.inl
  35. *.AutoPackets.xml,AutoPackets_Source.jinja,$path/$fileprefix.AutoPackets.cpp
  36. *.AutoPackets.xml,AutoPacketDispatcher_Header.jinja,$path/$fileprefix.AutoPacketDispatcher.h
  37. *.AutoPackets.xml,AutoPacketDispatcher_Inline.jinja,$path/$fileprefix.AutoPacketDispatcher.inl
  38. )
  39. ly_add_target(
  40. NAME MultiplayerSample ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
  41. NAMESPACE Gem
  42. OUTPUT_NAME Gem.MultiplayerSample.8d7f210742af4b8c8813d593f4c46cf2.v0.1.0
  43. FILES_CMAKE
  44. multiplayersample_shared_files.cmake
  45. ../../multiplayersample_asset_files.cmake
  46. INCLUDE_DIRECTORIES
  47. PRIVATE
  48. Source
  49. .
  50. BUILD_DEPENDENCIES
  51. PRIVATE
  52. Gem::Atom_AtomBridge.Static
  53. Gem::MultiplayerSample.Static
  54. Gem::LmbrCentral.Static
  55. )
  56. ################################################################################
  57. # Gem dependencies
  58. ################################################################################
  59. ly_add_project_dependencies(
  60. PROJECT_NAME
  61. MultiplayerSample
  62. TARGETS
  63. MultiplayerSample.GameLauncher
  64. DEPENDENCIES_FILES
  65. runtime_dependencies.cmake
  66. ${pal_dir}/runtime_dependencies.cmake
  67. )
  68. if(PAL_TRAIT_BUILD_HOST_TOOLS)
  69. ly_add_project_dependencies(
  70. PROJECT_NAME
  71. MultiplayerSample
  72. TARGETS
  73. AssetBuilder
  74. AssetProcessor
  75. AssetProcessorBatch
  76. Editor
  77. DEPENDENCIES_FILES
  78. tool_dependencies.cmake
  79. ${pal_dir}/tool_dependencies.cmake
  80. )
  81. endif()
  82. if(PAL_TRAIT_BUILD_SERVER_SUPPORTED)
  83. ly_add_target(
  84. NAME MultiplayerSample.Server ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
  85. NAMESPACE Gem
  86. OUTPUT_NAME Gem.MultiplayerSample.Server.8d7f210742af4b8c8813d593f4c46cf2.v0.1.0
  87. FILES_CMAKE
  88. multiplayersample_shared_files.cmake
  89. INCLUDE_DIRECTORIES
  90. PRIVATE
  91. Source
  92. .
  93. BUILD_DEPENDENCIES
  94. PRIVATE
  95. Gem::MultiplayerSample.Static
  96. )
  97. ly_add_project_dependencies(
  98. PROJECT_NAME
  99. MultiplayerSample
  100. TARGETS
  101. MultiplayerSample.ServerLauncher
  102. DEPENDENCIES_FILES
  103. runtime_dependencies.cmake
  104. )
  105. set_property(GLOBAL APPEND PROPERTY LY_LAUNCHER_SERVER_PROJECTS MultiplayerSample)
  106. endif()