gRPCLookup.cmake 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. if(NOT gRPC_FOUND)
  2. find_package(gRPC CONFIG)
  3. if(NOT gRPC_FOUND)
  4. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  5. set(FIND_LIBRARY_USE_LIB64_PATHS TRUE)
  6. set(FIND_LIBRARY_USE_LIBX32_PATHS FALSE)
  7. set(FIND_LIBRARY_USE_LIB32_PATHS FALSE)
  8. else()
  9. set(FIND_LIBRARY_USE_LIBX32_PATHS TRUE)
  10. set(FIND_LIBRARY_USE_LIB32_PATHS TRUE)
  11. set(FIND_LIBRARY_USE_LIB64_PATHS FALSE)
  12. endif()
  13. find_program(gRPC_CPP_PLUGIN_EXECUTABLE grpc_cpp_plugin)
  14. if(NOT gRPC_CPP_PLUGIN_EXECUTABLE STREQUAL gRPC_CPP_PLUGIN_EXECUTABLE-NOTFOUND)
  15. add_executable(gRPC::grpc_cpp_plugin IMPORTED)
  16. set_target_properties(gRPC::grpc_cpp_plugin PROPERTIES IMPORTED_LOCATION ${gRPC_CPP_PLUGIN_EXECUTABLE})
  17. endif()
  18. find_library(gRPC_LIBRARY grpc)
  19. if(NOT gRPC_LIBRARY STREQUAL gRPC_LIBRARY-NOTFOUND)
  20. add_library(gRPC::grpc SHARED IMPORTED)
  21. set_target_properties(gRPC::grpc PROPERTIES IMPORTED_LOCATION ${gRPC_LIBRARY})
  22. endif()
  23. find_library(gRPC_CPP_LIBRARY grpc++)
  24. if(NOT gRPC_CPP_LIBRARY STREQUAL gRPC_LIBRARY-NOTFOUND)
  25. add_library(gRPC::grpc++ SHARED IMPORTED)
  26. set_target_properties(gRPC::grpc++ PROPERTIES IMPORTED_LOCATION ${gRPC_CPP_LIBRARY} INTERFACE_LINK_LIBRARIES protobuf::libprotobuf)
  27. endif()
  28. unset(gRPC_FOUND)
  29. if(NOT gRPC_LIBRARY STREQUAL gRPC_LIBRARY-NOTFOUND
  30. AND NOT gRPC_CPP_PLUGIN_EXECUTABLE STREQUAL gRPC_CPP_PLUGIN_EXECUTABLE-NOTFOUND
  31. AND NOT gRPC_CPP_LIBRARY STREQUAL gRPC_LIBRARY-NOTFOUND)
  32. set(gRPC_FOUND TRUE)
  33. else()
  34. unset(gRPC_LIBRARY)
  35. unset(gRPC_CPP_PLUGIN_EXECUTABLE)
  36. unset(gRPC_CPP_LIBRARY)
  37. endif()
  38. endif()
  39. endif()