FindGMock.cmake 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #
  2. # Find libgmock
  3. #
  4. # LIBGMOCK_DEFINES - List of defines when using libgmock.
  5. # LIBGMOCK_INCLUDE_DIR - where to find gmock/gmock.h, etc.
  6. # LIBGMOCK_LIBRARIES - List of libraries when using libgmock.
  7. # LIBGMOCK_FOUND - True if libgmock found.
  8. IF (LIBGMOCK_INCLUDE_DIR)
  9. # Already in cache, be silent
  10. SET(LIBGMOCK_FIND_QUIETLY TRUE)
  11. ENDIF ()
  12. FIND_PATH(LIBGMOCK_INCLUDE_DIR gmock/gmock.h)
  13. FIND_LIBRARY(LIBGMOCK_MAIN_LIBRARY_DEBUG NAMES gmock_maind)
  14. FIND_LIBRARY(LIBGMOCK_MAIN_LIBRARY_RELEASE NAMES gmock_main)
  15. FIND_LIBRARY(LIBGMOCK_LIBRARY_DEBUG NAMES gmockd)
  16. FIND_LIBRARY(LIBGMOCK_LIBRARY_RELEASE NAMES gmock)
  17. FIND_LIBRARY(LIBGTEST_LIBRARY_DEBUG NAMES gtestd)
  18. FIND_LIBRARY(LIBGTEST_LIBRARY_RELEASE NAMES gtest)
  19. find_package(Threads REQUIRED)
  20. INCLUDE(SelectLibraryConfigurations)
  21. SELECT_LIBRARY_CONFIGURATIONS(LIBGMOCK_MAIN)
  22. SELECT_LIBRARY_CONFIGURATIONS(LIBGMOCK)
  23. SELECT_LIBRARY_CONFIGURATIONS(LIBGTEST)
  24. set(LIBGMOCK_LIBRARIES
  25. ${LIBGMOCK_MAIN_LIBRARY}
  26. ${LIBGMOCK_LIBRARY}
  27. ${LIBGTEST_LIBRARY}
  28. Threads::Threads
  29. )
  30. if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
  31. # The GTEST_LINKED_AS_SHARED_LIBRARY macro must be set properly on Windows.
  32. #
  33. # There isn't currently an easy way to determine if a library was compiled as
  34. # a shared library on Windows, so just assume we've been built against a
  35. # shared build of gmock for now.
  36. SET(LIBGMOCK_DEFINES "GTEST_LINKED_AS_SHARED_LIBRARY=1" CACHE STRING "")
  37. endif()
  38. # handle the QUIETLY and REQUIRED arguments and set LIBGMOCK_FOUND to TRUE if
  39. # all listed variables are TRUE
  40. INCLUDE(FindPackageHandleStandardArgs)
  41. FIND_PACKAGE_HANDLE_STANDARD_ARGS(
  42. GMock
  43. DEFAULT_MSG
  44. LIBGMOCK_MAIN_LIBRARY
  45. LIBGMOCK_LIBRARY
  46. LIBGTEST_LIBRARY
  47. LIBGMOCK_LIBRARIES
  48. LIBGMOCK_INCLUDE_DIR
  49. )
  50. MARK_AS_ADVANCED(
  51. LIBGMOCK_DEFINES
  52. LIBGMOCK_MAIN_LIBRARY
  53. LIBGMOCK_LIBRARY
  54. LIBGTEST_LIBRARY
  55. LIBGMOCK_LIBRARIES
  56. LIBGMOCK_INCLUDE_DIR
  57. )