mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-14 05:49:57 +00:00
grpc: fix cross-compilation of grpc applications
When we build an application that uses grpc for the target, following
error occurs
CMake Error at <application work dir>/recipe-sysroot/usr/lib/cmake/grpc/gRPCTargets.cmake:179 (message):
| The imported target "gRPC::grpc_cpp_plugin" references the file
|
| "<application work dir>/recipe-sysroot/usr/bin/grpc_cpp_plugin"
|
| but this file does not exist. Possible reasons include:
|
| * The file was deleted, renamed, or moved to another location.
|
| * An install or uninstall procedure did not complete successfully.
|
| * The installation package was faulty and contained
|
| "<application work dir>/recipe-sysroot/usr/lib/cmake/grpc/gRPCTargets.cmake"
|
| but not all the files it references.
|
| Call Stack (most recent call first):
| <application work dir>/recipe-sysroot/usr/lib/cmake/grpc/gRPCConfig.cmake:25 (include)
| CMakeLists.txt:4 (find_package)
That's because target grpc was built with CPP plugin support and
referenes it from CMake config file. This commit disables CPP plugin
build for the target, and sets dependency on compiler for native and SDK
builds
Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 17af9e0501)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
committed by
Armin Kuster
parent
9476e659b7
commit
5578f481a3
@@ -13,7 +13,11 @@ DEPENDS:append:class-nativesdk = " grpc-native "
|
||||
PACKAGE_BEFORE_PN = "${PN}-compiler"
|
||||
|
||||
RDEPENDS:${PN}-compiler = "${PN}"
|
||||
RDEPENDS:${PN}-dev += "${PN}-compiler"
|
||||
RDEPENDS:${PN}-dev:class_native += "${PN}-compiler"
|
||||
# Configuration above allows to cross-compile gRPC applications
|
||||
# In order to compile applications on the target, use the dependency below
|
||||
# Both dependencies are mutually exclusive
|
||||
# RDEPENDS:${PN}-dev += "${PN}-compiler"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV_grpc = "96b73272eadc01afb5fb45b92b408c47e4387274"
|
||||
@@ -39,6 +43,7 @@ EXTRA_OECMAKE = " \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ??= "cpp shared"
|
||||
PACKAGECONFIG_class-target ?= "shared"
|
||||
PACKAGECONFIG[cpp] = "-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF"
|
||||
PACKAGECONFIG[csharp] = "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF"
|
||||
PACKAGECONFIG[node] = "-DgRPC_BUILD_GRPC_NODE_PLUGIN=ON,-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF"
|
||||
|
||||
Reference in New Issue
Block a user