jsonrpc: fix interface library paths in cmake files

The cmake files generated by this recipe contain a number
of interfacing libraries, with absolute paths, which also
contain the TMPDIR. The TMPDIR part of these paths were
just truncated by the recipe, to avoid the corresponding
QA check error.

However this made it impossible to to link against this
library from other recipes. When one tried, the find_package
command failed with the following error:

| Run Build Command(s): ninja -v -j 12 all
| ninja: error: '/usr/lib/libjsoncpp.so', needed by 'jsonrpctest', missing and no known rule to make it

To avoid this, instead of just truncating this path, set it to
${CMAKE_SYSROOT} placeholder (which is resolved by CMake to
the correct value at build-time, using the variable set by
cmake.bbclass)

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Gyorgy Sarvari 2025-02-13 22:03:13 +01:00 committed by Khem Raj
parent b16f9c6f04
commit 91a0e89229
No known key found for this signature in database
GPG Key ID: BB053355919D3314

View File

@ -26,7 +26,7 @@ EXTRA_OECMAKE += "-DCOMPILE_TESTS=NO -DCOMPILE_STUBGEN=NO -DCOMPILE_EXAMPLES=NO
"
do_install:append() {
sed -i -e 's#${RECIPE_SYSROOT}##g' ${D}${libdir}/libjson-rpc-cpp/cmake/libjson-rpc-cppTargets.cmake
sed -i -e 's#${RECIPE_SYSROOT}#\${CMAKE_SYSROOT}#g' ${D}${libdir}/libjson-rpc-cpp/cmake/libjson-rpc-cppTargets.cmake
}
FILES:${PN}-dev += "${libdir}/libjson-rpc-cpp/cmake"