CMakeLists.txt 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. o3de_pal_dir(source_pal_dir ${CMAKE_CURRENT_LIST_DIR}/Source/Platform/${PAL_PLATFORM_NAME} "${gem_restricted_path}" "${gem_path}" "${gem_parent_relative_path}")
  9. ly_add_target(
  10. NAME ${gem_name}.Static STATIC
  11. NAMESPACE Gem
  12. FILES_CMAKE
  13. httprequestor_files.cmake
  14. INCLUDE_DIRECTORIES
  15. PRIVATE
  16. Source
  17. PUBLIC
  18. Include
  19. BUILD_DEPENDENCIES
  20. PRIVATE
  21. AZ::AzCore
  22. AZ::AzFramework
  23. AZ::AWSNativeSDKInit
  24. PUBLIC
  25. 3rdParty::AWSNativeSDK::Core
  26. )
  27. ly_add_target(
  28. NAME ${gem_name} ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
  29. NAMESPACE Gem
  30. FILES_CMAKE
  31. httprequestor_shared_files.cmake
  32. PLATFORM_INCLUDE_FILES
  33. ${source_pal_dir}/httprequestor_${PAL_PLATFORM_NAME_LOWERCASE}.cmake
  34. INCLUDE_DIRECTORIES
  35. PRIVATE
  36. Source
  37. PUBLIC
  38. Include
  39. BUILD_DEPENDENCIES
  40. PRIVATE
  41. AZ::AzCore
  42. Gem::${gem_name}.Static
  43. )
  44. # Inject the gem name into the Module source file
  45. ly_add_source_properties(
  46. SOURCES
  47. Source/HttpRequestorModule.cpp
  48. PROPERTY COMPILE_DEFINITIONS
  49. VALUES
  50. O3DE_GEM_NAME=${gem_name}
  51. O3DE_GEM_VERSION=${gem_version})
  52. # Load the "Gem::${gem_name}" module in all types of applicatons.
  53. ly_create_alias(NAME ${gem_name}.Clients NAMESPACE Gem TARGETS Gem::${gem_name})
  54. ly_create_alias(NAME ${gem_name}.Servers NAMESPACE Gem TARGETS Gem::${gem_name})
  55. ly_create_alias(NAME ${gem_name}.Unified NAMESPACE Gem TARGETS Gem::${gem_name})
  56. ly_create_alias(NAME ${gem_name}.Builders NAMESPACE Gem TARGETS Gem::${gem_name})
  57. ly_create_alias(NAME ${gem_name}.Tools NAMESPACE Gem TARGETS Gem::${gem_name})
  58. ################################################################################
  59. # Tests
  60. ################################################################################
  61. if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
  62. ly_add_target(
  63. NAME ${gem_name}.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
  64. NAMESPACE Gem
  65. FILES_CMAKE
  66. httprequestor_tests_files.cmake
  67. INCLUDE_DIRECTORIES
  68. PRIVATE
  69. Source
  70. Tests
  71. BUILD_DEPENDENCIES
  72. PRIVATE
  73. AZ::AzTest
  74. Gem::${gem_name}.Static
  75. )
  76. ly_add_googletest(
  77. NAME Gem::${gem_name}.Tests
  78. TEST_SUITE sandbox
  79. )
  80. endif()