FindGTest.cmake 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. # Locate the Google C++ Testing Framework.
  2. #
  3. # Defines the following variables:
  4. #
  5. # GTEST_FOUND - Found the Google Testing framework
  6. # GTEST_INCLUDE_DIRS - Include directories
  7. # GTEST_LIBRARIES - The GTest library
  8. # GTEST_MAIN_LIBRARIES - The GTest library for automatic main()
  9. #
  10. # Accepts the following CMake/Environment variables as input:
  11. #
  12. # GTEST_ROOT - The root directory of the gtest install prefix
  13. #
  14. # Copyright (c) 2009, Philip Lowman <[email protected]>
  15. #
  16. # Redistribution AND use is allowed according to the terms of the New
  17. # BSD license.
  18. # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
  19. find_path(GTEST_INCLUDE_DIR gtest/gtest.h
  20. HINTS
  21. $ENV{GTEST_ROOT}/include
  22. ${GTEST_ROOT}/include
  23. )
  24. function(_gtest_find_library _name _library)
  25. find_library(${_name} ${_library}
  26. HINTS
  27. $ENV{GTEST_ROOT}
  28. ${GTEST_ROOT}
  29. PATH_SUFFIXES lib64 lib
  30. )
  31. endfunction()
  32. _gtest_find_library(GTEST_LIBRARY gtest)
  33. _gtest_find_library(GTEST_LIBRARY_DEBUG gtestd)
  34. _gtest_find_library(GTEST_MAIN_LIBRARY gtest_main)
  35. _gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_maind)
  36. mark_as_advanced(GTEST_INCLUDE_DIR)
  37. mark_as_advanced(GTEST_LIBRARY)
  38. mark_as_advanced(GTEST_LIBRARY_DEBUG)
  39. mark_as_advanced(GTEST_MAIN_LIBRARY)
  40. mark_as_advanced(GTEST_MAIN_LIBRARY_DEBUG)
  41. include(FindPackageHandleStandardArgs)
  42. FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTEST DEFAULT_MSG GTEST_INCLUDE_DIR GTEST_LIBRARY GTEST_MAIN_LIBRARY)
  43. set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIR})
  44. # Have *_LIBRARIES contain debug/release keywords if DEBUG library is available
  45. if(GTEST_LIBRARY AND GTEST_LIBRARY_DEBUG)
  46. set(GTEST_LIBRARIES
  47. optimized ${GTEST_LIBRARY}
  48. debug ${GTEST_LIBRARY_DEBUG})
  49. else()
  50. set(GTEST_LIBRARIES ${GTEST_LIBRARY})
  51. endif()
  52. if(GTEST_MAIN_LIBRARY AND GTEST_MAIN_LIBRARY_DEBUG)
  53. set(GTEST_MAIN_LIBRARIES
  54. optimized ${GTEST_MAIN_LIBRARY}
  55. debug ${GTEST_MAIN_LIBRARY_DEBUG})
  56. else()
  57. set(GTEST_MAIN_LIBRARIES ${GTEST_MAIN_LIBRARY})
  58. endif()