CMakeLists.txt 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. cmake_minimum_required(VERSION 2.8.2)
  2. set(CMAKE_CXX_STANDARD 11)
  3. include(CTest)
  4. if (CMAKE_VERSION VERSION_LESS 3.2)
  5. set(UPDATE_DISCONNECTED_IF_AVAILABLE "")
  6. else()
  7. set(UPDATE_DISCONNECTED_IF_AVAILABLE "UPDATE_DISCONNECTED 1")
  8. endif()
  9. include(DownloadProject.cmake)
  10. download_project(PROJ googletest
  11. PREFIX CMAKE_SOURCE_DIR/test/googletest
  12. GIT_REPOSITORY https://github.com/google/googletest.git
  13. GIT_TAG master
  14. ${UPDATE_DISCONNECTED_IF_AVAILABLE}
  15. )
  16. # Prevent GoogleTest from overriding our compiler/linker options
  17. # when building with Visual Studio
  18. set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
  19. add_subdirectory(${googletest_SOURCE_DIR} ${googletest_BINARY_DIR})
  20. # When using CMake 2.8.11 or later, header path dependencies
  21. # are automatically added to the gtest and gmock targets.
  22. # For earlier CMake versions, we have to explicitly add the
  23. # required directories to the header search path ourselves.
  24. if (CMAKE_VERSION VERSION_LESS 2.8.11)
  25. include_directories("${gtest_SOURCE_DIR}/include"
  26. "${gmock_SOURCE_DIR}/include")
  27. endif()
  28. include_directories("../../core/include/")
  29. add_executable(core_ut
  30. alibabacloud_ut.cc
  31. asynccallercontext_ut.cc
  32. clientconfiguration_ut.cc
  33. commonrequest_ut.cc
  34. commonresponse_ut.cc
  35. credentials_ut.cc
  36. curlhttpclient_ut.cc
  37. endpointprovider_ut.cc
  38. error_ut.cc
  39. executor_ut.cc
  40. httprequest_ut.cc
  41. httpresponse_ut.cc
  42. httpmessage_ut.cc
  43. hmacsha1signer_ut.cc
  44. networkproxy_ut.cc
  45. roaservicerequest_ut.cc
  46. rpcservicerequest_ut.cc
  47. runnable_ut.cc
  48. serviceresult_ut.cc
  49. servicerequest_ut.cc
  50. simplecredentialsprovider_ut.cc
  51. url_ut.cc
  52. utils_ut.cc)
  53. set_target_properties(core_ut
  54. PROPERTIES
  55. OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}core_ut
  56. RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
  57. target_link_libraries(core_ut core gtest gmock_main)
  58. add_test(NAME core_ut COMMAND core_ut)