FindgoogletestRelOnly.cmake.template 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. # this file actually ingests the library and defines targets.
  9. # Googletest
  10. set(GOOGLETEST_INCLUDE_DIR $${CMAKE_CURRENT_LIST_DIR}/googletest/include)
  11. set(GOOGLETEST_LIBS_DIR $${CMAKE_CURRENT_LIST_DIR}/googletest/lib)
  12. set(GOOGLETEST_COMPILE_DEFINITIONS
  13. ${CUSTOM_ADDITIONAL_COMPILE_DEFINITIONS})
  14. set(GOOGLETEST_LINK_OPTIONS
  15. ${CUSTOM_ADDITIONAL_LINK_OPTIONS})
  16. # GTest
  17. #################################################################
  18. set(TARGET_WITH_NAMESPACE "3rdParty::googletest::GTest")
  19. if (NOT TARGET $${TARGET_WITH_NAMESPACE})
  20. set(GOOGLETEST_GTEST_LIBRARY $${GOOGLETEST_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}gtest$${CMAKE_STATIC_LIBRARY_SUFFIX})
  21. add_library($${TARGET_WITH_NAMESPACE} INTERFACE IMPORTED GLOBAL)
  22. ly_target_include_system_directories(TARGET $${TARGET_WITH_NAMESPACE} INTERFACE $${GOOGLETEST_INCLUDE_DIR})
  23. target_link_libraries($${TARGET_WITH_NAMESPACE} INTERFACE $${GOOGLETEST_GTEST_LIBRARY})
  24. target_link_options($${TARGET_WITH_NAMESPACE} INTERFACE $${GOOGLETEST_LINK_OPTIONS})
  25. target_compile_definitions($${TARGET_WITH_NAMESPACE} INTERFACE $${GOOGLETEST_COMPILE_DEFINITIONS})
  26. set(GOOGLETEST_GTEST_FOUND True)
  27. endif()
  28. # GTestMain
  29. #################################################################
  30. set(TARGET_WITH_NAMESPACE "3rdParty::googletest::GTestMain")
  31. if (NOT TARGET $${TARGET_WITH_NAMESPACE})
  32. set(GOOGLETEST_GTESTMAIN_LIBRARY $${GOOGLETEST_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}gtest_main$${CMAKE_STATIC_LIBRARY_SUFFIX})
  33. add_library($${TARGET_WITH_NAMESPACE} INTERFACE IMPORTED GLOBAL)
  34. ly_target_include_system_directories(TARGET $${TARGET_WITH_NAMESPACE} INTERFACE $${GOOGLETEST_INCLUDE_DIR})
  35. target_link_libraries($${TARGET_WITH_NAMESPACE} INTERFACE $${GOOGLETEST_GTESTMAIN_LIBRARY})
  36. target_link_options($${TARGET_WITH_NAMESPACE} INTERFACE $${GOOGLETEST_LINK_OPTIONS})
  37. target_compile_definitions($${TARGET_WITH_NAMESPACE} INTERFACE $${GOOGLETEST_COMPILE_DEFINITIONS})
  38. set(GOOGLETEST_GTESTMAIN_FOUND True)
  39. endif()
  40. # GMock
  41. #################################################################
  42. set(TARGET_WITH_NAMESPACE "3rdParty::googletest::GMock")
  43. if (NOT TARGET $${TARGET_WITH_NAMESPACE})
  44. set(GOOGLETEST_GMOCK_LIBRARY $${GOOGLETEST_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}gmock$${CMAKE_STATIC_LIBRARY_SUFFIX})
  45. add_library($${TARGET_WITH_NAMESPACE} INTERFACE IMPORTED GLOBAL)
  46. ly_target_include_system_directories(TARGET $${TARGET_WITH_NAMESPACE} INTERFACE $${GOOGLETEST_INCLUDE_DIR})
  47. target_link_libraries($${TARGET_WITH_NAMESPACE} INTERFACE $${GOOGLETEST_GMOCK_LIBRARY})
  48. target_link_options($${TARGET_WITH_NAMESPACE} INTERFACE $${GOOGLETEST_LINK_OPTIONS})
  49. target_compile_definitions($${TARGET_WITH_NAMESPACE} INTERFACE $${GOOGLETEST_COMPILE_DEFINITIONS})
  50. set(GOOGLETEST_GMOCK_FOUND True)
  51. endif()
  52. # GMockMain
  53. #################################################################
  54. set(TARGET_WITH_NAMESPACE "3rdParty::googletest::GMockMain")
  55. if (NOT TARGET $${TARGET_WITH_NAMESPACE})
  56. set(GOOGLETEST_GMOCKMAIN_LIBRARY $${GOOGLETEST_LIBS_DIR}/$${CMAKE_STATIC_LIBRARY_PREFIX}gmock_main$${CMAKE_STATIC_LIBRARY_SUFFIX})
  57. add_library($${TARGET_WITH_NAMESPACE} INTERFACE IMPORTED GLOBAL)
  58. ly_target_include_system_directories(TARGET $${TARGET_WITH_NAMESPACE} INTERFACE $${GOOGLETEST_INCLUDE_DIR})
  59. target_link_libraries($${TARGET_WITH_NAMESPACE} INTERFACE $${GOOGLETEST_GMOCKMAIN_LIBRARY})
  60. target_link_options($${TARGET_WITH_NAMESPACE} INTERFACE $${GOOGLETEST_LINK_OPTIONS})
  61. target_compile_definitions($${TARGET_WITH_NAMESPACE} INTERFACE $${GOOGLETEST_COMPILE_DEFINITIONS})
  62. set(GOOGLETEST_GMOCKMAIN_FOUND True)
  63. endif()