CMakeLists.txt 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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. if(NOT PAL_TRAIT_BUILD_HOST_TOOLS)
  9. return()
  10. endif()
  11. # This will set python_package_name to whatever the package 'Python' is associated with
  12. ly_get_package_association(Python python_package_name)
  13. if (NOT python_package_name)
  14. set(python_package_name "python-no-package-assocation-found")
  15. message(WARNING "Python was not found in the package assocation list. Did someone call ly_associate_package(xxxxxxx Python) ?")
  16. endif()
  17. ly_add_target(
  18. NAME ProjectManager.Static STATIC
  19. NAMESPACE AZ
  20. AUTOMOC
  21. FILES_CMAKE
  22. project_manager_files.cmake
  23. Platform/${PAL_PLATFORM_NAME}/PAL_${PAL_PLATFORM_NAME_LOWERCASE}_files.cmake
  24. PLATFORM_INCLUDE_FILES
  25. Platform/${PAL_PLATFORM_NAME}/PAL_${PAL_PLATFORM_NAME_LOWERCASE}.cmake
  26. Platform/Common/${PAL_TRAIT_COMPILER_ID}/projectmanager_${PAL_TRAIT_COMPILER_ID_LOWERCASE}.cmake
  27. COMPILE_DEFINITIONS
  28. PRIVATE
  29. PY_PACKAGE="${python_package_name}"
  30. INCLUDE_DIRECTORIES
  31. PRIVATE
  32. Source
  33. Platform/${PAL_PLATFORM_NAME}
  34. BUILD_DEPENDENCIES
  35. PRIVATE
  36. 3rdParty::Qt::Core
  37. 3rdParty::Qt::Concurrent
  38. 3rdParty::Qt::Widgets
  39. 3rdParty::Python
  40. 3rdParty::pybind11
  41. AZ::AzCore
  42. AZ::AzFramework
  43. AZ::AzToolsFramework
  44. )
  45. if(PAL_TRAIT_BUILD_EXTERNAL_CRASH_HANDLER_SUPPORTED)
  46. ly_target_link_libraries(ProjectManager.Static PRIVATE AZ::ToolsCrashHandler)
  47. endif()
  48. ly_add_target(
  49. NAME ProjectManager APPLICATION
  50. OUTPUT_NAME o3de
  51. NAMESPACE AZ
  52. AUTORCC
  53. FILES_CMAKE
  54. project_manager_app_files.cmake
  55. INCLUDE_DIRECTORIES
  56. PRIVATE
  57. Source
  58. BUILD_DEPENDENCIES
  59. PRIVATE
  60. 3rdParty::Qt::Core
  61. 3rdParty::Qt::Concurrent
  62. 3rdParty::Qt::Widgets
  63. 3rdParty::Python
  64. 3rdParty::pybind11
  65. AZ::AzCore
  66. AZ::AzFramework
  67. AZ::AzQtComponents
  68. AZ::AzToolsFramework
  69. AZ::ProjectManager.Static
  70. )
  71. if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
  72. ly_add_target(
  73. NAME ProjectManager.Tests EXECUTABLE
  74. NAMESPACE AZ
  75. AUTORCC
  76. FILES_CMAKE
  77. project_manager_tests_files.cmake
  78. Platform/${PAL_PLATFORM_NAME}/PAL_${PAL_PLATFORM_NAME_LOWERCASE}_tests_files.cmake
  79. INCLUDE_DIRECTORIES
  80. PRIVATE
  81. Source
  82. Platform/${PAL_PLATFORM_NAME}
  83. BUILD_DEPENDENCIES
  84. PRIVATE
  85. 3rdParty::Qt::Core
  86. 3rdParty::Qt::Concurrent
  87. 3rdParty::Qt::Widgets
  88. 3rdParty::Python
  89. 3rdParty::pybind11
  90. AZ::AzTest
  91. AZ::AzFramework
  92. AZ::AzFrameworkTestShared
  93. AZ::AzQtComponents
  94. AZ::ProjectManager.Static
  95. AZ::AzToolsFramework
  96. )
  97. ly_add_googletest(
  98. NAME AZ::ProjectManager.Tests
  99. LABELS REQUIRES_tiaf
  100. TEST_COMMAND $<TARGET_FILE:AZ::ProjectManager.Tests> --unittest
  101. )
  102. endif()