The hashes don't match anything public and git isn't happy: Applying: cmake.bbclass: allow cmake to find hosttools error: sha1 information is lacking or useless (meta/classes/cmake.bbclass). error: could not build fake ancestor Patch failed at 0001 cmake.bbclass: allow cmake to find hosttools
Ross On Tue, 9 Oct 2018 at 14:36, Pascal Bach <[email protected]> wrote: > Currently the generated toolchain file is unable to find hosttools as they > do not appear in the search paths. > > One example where this is useful is for projects that query git for their > version > number as git is usually provided via HOSTTOOLS. > > Just adding HOSTTOOLS_DIR is not enough as binaries are located directly > under > ${HOSTTOOLS_DIR}. Like ${HOSTTOOLS_DIR}/git for example. > CMake however only searches in [s]bin sub directories of the paths > specified in > CMAKE_FIND_ROOT_PATH. Explicitly adding / to CMAKE_SYSTEM_PROGRAM_PATH > makes > CMake look in the right location. > > Signed-off-by: Pascal Bach <[email protected]> > --- > meta/classes/cmake.bbclass | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass > index 684f71299a..421d85fd9d 100644 > --- a/meta/classes/cmake.bbclass > +++ b/meta/classes/cmake.bbclass > @@ -92,7 +92,7 @@ set( CMAKE_CXX_LINK_FLAGS "${OECMAKE_CXX_LINK_FLAGS}" > CACHE STRING "LDFLAGS" ) > > # only search in the paths provided so cmake doesnt pick > # up libraries and tools from the native build machine > -set( CMAKE_FIND_ROOT_PATH ${STAGING_DIR_HOST} ${STAGING_DIR_NATIVE} > ${CROSS_DIR} ${OECMAKE_PERLNATIVE_DIR} ${OECMAKE_EXTRA_ROOT_PATH} > ${EXTERNAL_TOOLCHAIN}) > +set( CMAKE_FIND_ROOT_PATH ${STAGING_DIR_HOST} ${STAGING_DIR_NATIVE} > ${CROSS_DIR} ${OECMAKE_PERLNATIVE_DIR} ${OECMAKE_EXTRA_ROOT_PATH} > ${EXTERNAL_TOOLCHAIN} ${HOSTTOOLS_DIR}) > set( CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ${OECMAKE_FIND_ROOT_PATH_MODE} ) > set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ${OECMAKE_FIND_ROOT_PATH_MODE} ) > set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ${OECMAKE_FIND_ROOT_PATH_MODE} ) > @@ -113,6 +113,10 @@ list(APPEND CMAKE_MODULE_PATH > "${STAGING_DATADIR}/cmake/Modules/") > # add for non /usr/lib libdir, e.g. /usr/lib64 > set( CMAKE_SYSTEM_LIBRARY_PATH ${libdir} ${base_libdir}) > > +# by default CMake only looks in [s]bin subdirectories of > CMAKE_FIND_ROOT_PATH > +# adding / makes CMake look for binaries in hosttools too. > +set( CMAKE_SYSTEM_PROGRAM_PATH /) > + > # avoid treating imports as system includes > set( CMAKE_NO_SYSTEM_FROM_IMPORTED ON) > > -- > 2.11.0 > > -- > _______________________________________________ > Openembedded-core mailing list > [email protected] > http://lists.openembedded.org/mailman/listinfo/openembedded-core >
-- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
