Advertisement
Marss36

Untitled

Mar 16th, 2021
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.81 KB | None | 0 0
  1. find_package(Threads REQUIRED)
  2.  
  3. include(ExternalProject)
  4. ExternalProject_Add(
  5. googletest
  6. GIT_REPOSITORY https://github.com/google/googletest.git
  7. UPDATE_COMMAND ""
  8. INSTALL_COMMAND ""
  9. LOG_DOWNLOAD ON
  10. LOG_CONFIGURE ON
  11. LOG_BUILD ON)
  12.  
  13. ExternalProject_Get_Property(googletest source_dir)
  14. set(GTEST_INCLUDE_DIRS ${source_dir}/googletest/include)
  15. set(GMOCK_INCLUDE_DIRS ${source_dir}/googlemock/include)
  16.  
  17. file(MAKE_DIRECTORY ${GTEST_INCLUDE_DIRS})
  18. file(MAKE_DIRECTORY ${GMOCK_INCLUDE_DIRS})
  19.  
  20. ExternalProject_Get_Property(googletest binary_dir)
  21. if(UNIX)
  22. set(GTEST_LIBRARY_PATH ${binary_dir}/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gtest.a)
  23. else ()
  24. set(GTEST_LIBRARY_PATH ${binary_dir}/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gtest.lib)
  25. endif
  26.  
  27. set(GTEST_LIBRARY gtest)
  28. add_library(${GTEST_LIBRARY} UNKNOWN IMPORTED)
  29. set_target_properties(${GTEST_LIBRARY} PROPERTIES
  30. "IMPORTED_LOCATION" "${GTEST_LIBRARY_PATH}"
  31. "IMPORTED_LINK_INTERFACE_LIBRARIES" "${CMAKE_THREAD_LIBS_INIT}"
  32. "INTERFACE_INCLUDE_DIRECTORIES" "${GTEST_INCLUDE_DIRS}")
  33. add_dependencies(${GTEST_LIBRARY} googletest)
  34. if(UNIX)
  35. set(GTEST_MAIN_LIBRARY_PATH ${binary_dir}/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gtest_main.a)
  36. else ()
  37. set(GTEST_MAIN_LIBRARY_PATH ${binary_dir}/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gtest_main.lib)
  38. endif
  39.  
  40. set(GTEST_MAIN_LIBRARY gtest_main)
  41. add_library(${GTEST_MAIN_LIBRARY} UNKNOWN IMPORTED)
  42. set_target_properties(${GTEST_MAIN_LIBRARY} PROPERTIES
  43. "IMPORTED_LOCATION" "${GTEST_MAIN_LIBRARY_PATH}"
  44. "IMPORTED_LINK_INTERFACE_LIBRARIES" "${CMAKE_THREAD_LIBS_INIT}"
  45. "INTERFACE_INCLUDE_DIRECTORIES" "${GTEST_INCLUDE_DIRS}")
  46. add_dependencies(${GTEST_MAIN_LIBRARY} googletest)
  47. if(UNIX)
  48. set(GMOCK_LIBRARY_PATH ${binary_dir}/googlemock/${CMAKE_FIND_LIBRARY_PREFIXES}gmock.a)
  49. else ()
  50. set(GMOCK_LIBRARY_PATH ${binary_dir}/googlemock/${CMAKE_FIND_LIBRARY_PREFIXES}gmock.lib)
  51. endif
  52.  
  53. set(GMOCK_LIBRARY gmock)
  54. add_library(${GMOCK_LIBRARY} UNKNOWN IMPORTED)
  55. set_target_properties(${GMOCK_LIBRARY} PROPERTIES
  56. "IMPORTED_LOCATION" "${GMOCK_LIBRARY_PATH}"
  57. "IMPORTED_LINK_INTERFACE_LIBRARIES" "${CMAKE_THREAD_LIBS_INIT}"
  58. "INTERFACE_INCLUDE_DIRECTORIES" "${GMOCK_INCLUDE_DIRS}")
  59. add_dependencies(${GMOCK_LIBRARY} googletest)
  60. if(UNIX)
  61. set(GMOCK_MAIN_LIBRARY_PATH ${binary_dir}/googlemock/${CMAKE_FIND_LIBRARY_PREFIXES}gmock_main.a)
  62. else ()
  63. set(GMOCK_MAIN_LIBRARY_PATH ${binary_dir}/googlemock/${CMAKE_FIND_LIBRARY_PREFIXES}gmock_main.lib)
  64. endif
  65.  
  66. set(GMOCK_MAIN_LIBRARY gmock_main)
  67. add_library(${GMOCK_MAIN_LIBRARY} UNKNOWN IMPORTED)
  68. set_target_properties(${GMOCK_MAIN_LIBRARY} PROPERTIES
  69. "IMPORTED_LOCATION" "${GMOCK_MAIN_LIBRARY_PATH}"
  70. "IMPORTED_LINK_INTERFACE_LIBRARIES" "${CMAKE_THREAD_LIBS_INIT}"
  71. "INTERFACE_INCLUDE_DIRECTORIES" "${GMOCK_INCLUDE_DIRS}")
  72. add_dependencies(${GMOCK_MAIN_LIBRARY} ${GTEST_LIBRARY})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement