[OE-core] [PATCH] cmake bbclass: fix support for native builds

Stefan Herbrechtsmeier stefan at herbrechtsmeier.net
Tue Jun 30 13:28:56 UTC 2015


Am 30.06.2015 um 15:18 schrieb Koen Kooi:
> For native builds  of recipes (e.g. mariadb-native) cmake *must* look outside of its sysroot to find the compiler, so instruct it to do so.
>
> Signed-off-by: Koen Kooi <koen.kooi at linaro.org>
> ---
>   meta/classes/cmake.bbclass | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
> index b0a3972..29a78e5 100644
> --- a/meta/classes/cmake.bbclass
> +++ b/meta/classes/cmake.bbclass
> @@ -27,6 +27,9 @@ OECMAKE_RPATH ?= ""
>   OECMAKE_PERLNATIVE_DIR ??= ""
>   OECMAKE_EXTRA_ROOT_PATH ?= ""
>   
> +OECMAKE_PATHS ?= ""
> +OECMAKE_PATHS_class-native = "set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH )"
> +
>   cmake_do_generate_toolchain_file() {
>   	cat > ${WORKDIR}/toolchain.cmake <<EOF
>   # CMake system name must be something like "Linux".
> @@ -67,6 +70,8 @@ list(APPEND CMAKE_MODULE_PATH "${STAGING_DATADIR}/cmake/Modules/")
>   # add for non /usr/lib libdir, e.g. /usr/lib64
>   set( CMAKE_LIBRARY_PATH ${libdir} ${base_libdir})
>   
> +${OECMAKE_PATHS}
> +
>   EOF
>   }
>   
This would generate a second set of the 
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM with a different value.

Why not add a new variable and use it in the existing set:

+OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "ONLY"
+OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM_class-native = "BOTH"

-set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
+set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM 
${OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM})




More information about the Openembedded-core mailing list