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

Pascal Bach pascal.bach at siemens.com
Wed Oct 10 08:16:18 UTC 2018


I re submitted all 4 patches a series.

Sorry for the inconvenience, I miss-judged the conflicts between the patches.

Passcal


On 09.10.2018 17:07, Burton, Ross wrote:
> 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 <mailto: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 <mailto: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 <mailto:Openembedded-core at lists.openembedded.org>
>     http://lists.openembedded.org/mailman/listinfo/openembedded-core
>




More information about the Openembedded-core mailing list