[OE-core] [PATCH] cmake.bbclass: Set CMAKE_CROSSCOMPILING correctly

Khem Raj raj.khem at gmail.com
Tue Apr 18 18:53:04 UTC 2017


On Tue, Apr 18, 2017 at 8:02 AM, Kyle Russell <bkylerussell at gmail.com> wrote:
> If CMAKE_SYSTEM_NAME is defined, CMake assumes we're cross-compiling,
> which is not necessarily the case.
> ---
>  meta/classes/cmake.bbclass | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
> index 9e74599..2dbaa8c 100644
> --- a/meta/classes/cmake.bbclass
> +++ b/meta/classes/cmake.bbclass
> @@ -42,9 +42,13 @@ def map_target_arch_to_uname_arch(target_arch):
>      return target_arch
>
>  cmake_do_generate_toolchain_file() {
> +       if [ "${BUILD_SYS}" == "${HOST_SYS}" ]; then

dont use == here that will make it bash specific.

> +           CMAKE_CROSSCOMPILING="set( CMAKE_CROSSCOMPILING FALSE )"
> +       fi
>         cat > ${WORKDIR}/toolchain.cmake <<EOF
>  # CMake system name must be something like "Linux".
>  # This is important for cross-compiling.
> +${CMAKE_CROSSCOMPILING}
>  set( CMAKE_SYSTEM_NAME `echo ${TARGET_OS} | sed -e 's/^./\u&/' -e 's/^\(Linux\).*/\1/'` )
>  set( CMAKE_SYSTEM_PROCESSOR ${@map_target_arch_to_uname_arch(d.getVar('TARGET_ARCH'))} )
>  set( CMAKE_C_COMPILER ${OECMAKE_C_COMPILER} )
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list