[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