[OE-core] [PATCH] cmake.bbclass: search both sysroot-native and host for native packages

Burton, Ross ross.burton at intel.com
Tue Oct 9 15:07:03 UTC 2018


All but this one apply now... weird.

If you can rebase on top of poky-contrib:ross/thud then that would be great.

Ross

On Tue, 9 Oct 2018 at 15:07, Pascal Bach <pascal.bach at siemens.com> wrote:

> Certain headers and libraries like `math.h` an `-m` are only available on
> the
> host as they are provided by the host toolchain.
>
> This leads to issues that a find_library in CMake doesn't find the `m`
> library
> of a find_path doesn't find `math.h`. This issue occurred in the wireshark
> recipe
> for example.
>
> This change enables CMake to also look on the host for libraries and
> includes when
> building a native package.
>
> Signed-off-by: Pascal Bach <pascal.bach at siemens.com>
> ---
>  meta/classes/cmake.bbclass | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
> index 6e2c34e4c6..89a2a77a50 100644
> --- a/meta/classes/cmake.bbclass
> +++ b/meta/classes/cmake.bbclass
> @@ -43,8 +43,8 @@ OECMAKE_RPATH ?= ""
>  OECMAKE_PERLNATIVE_DIR ??= ""
>  OECMAKE_EXTRA_ROOT_PATH ?= ""
>
> -OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "ONLY"
> -OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM_class-native = "BOTH"
> +OECMAKE_FIND_ROOT_PATH_MODE = "ONLY"
> +OECMAKE_FIND_ROOT_PATH_MODE_class-native = "BOTH"
>
>  EXTRA_OECMAKE_append = " ${PACKAGECONFIG_CONFARGS}"
>
> @@ -93,10 +93,10 @@ 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_MODE_PACKAGE ONLY )
> -set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
> ${OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM} )
> -set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
> -set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
> +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} )
> +set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ${OECMAKE_FIND_ROOT_PATH_MODE} )
>
>  $cmake_sysroot
>
> --
> 2.11.0
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20181009/e48f3fe3/attachment-0002.html>


More information about the Openembedded-core mailing list