From 6d606f1101c1a172fb6d738d6f1865aa61849e68 Mon Sep 17 00:00:00 2001
From: Alexey Firago <alexey_firago@mentor.com>
Date: Fri, 20 Oct 2017 00:04:19 +0300
Subject: [PATCH] CMakeLists.txt: Fix grpc_cpp_plugin path during cross-compiling or native build

Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
Signed-off-by: Hiram Lew <lew@avast.com>
Signed-off-by: Jan Kaisrlik <jan.kaisrlik@avast.com>
---
 CMakeLists.txt                    | 9 ++++++++-
 templates/CMakeLists.txt.template | 9 ++++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -193,6 +193,13 @@ function(protobuf_generate_grpc_cpp)
     return()
   endif()
 
+  #if cross-compiling or nativesdk, find host plugin
+  if(CMAKE_CROSSCOMPILING)
+      find_program(gRPC_CPP_PLUGIN grpc_cpp_plugin)
+  else()
+      set(gRPC_CPP_PLUGIN $<TARGET_FILE:grpc_cpp_plugin>)
+  endif()
+
   set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR})
   foreach(FIL ${ARGN})
     get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
--- a/templates/CMakeLists.txt.template
+++ b/templates/CMakeLists.txt.template
@@ -233,6 +233,13 @@
       return()
     endif()
 
+    #if cross-compiling or nativesdk, find host plugin
+    if(CMAKE_CROSSCOMPILING)
+        find_program(gRPC_CPP_PLUGIN grpc_cpp_plugin)
+    else()
+        set(gRPC_CPP_PLUGIN $<TARGET_FILE:grpc_cpp_plugin>)
+    endif()
+
     set(_protobuf_include_path -I . -I <%text>${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}</%text>)
     foreach(FIL <%text>${ARGN}</%text>)
       get_filename_component(ABS_FIL <%text>${FIL}</%text> ABSOLUTE)
