[OE-core] [PATCHv2] cmake: set CMAKE_NO_SYSTEM_FROM_IMPORTED to ON

Andreas Müller schnitzeltony at googlemail.com
Tue Sep 6 15:56:29 UTC 2016


On Tue, Sep 6, 2016 at 3:21 PM, Jack Mitchell <ml at embed.me.uk> wrote:
> From: Jack Mitchell <jack at embed.me.uk>
>
> set CMAKE_NO_SYSTEM_FROM_IMPORTED to ON in the bbclass
> and also the toolchain file. This is required as GCC6
> has become more tetchy about the use of -isystem in the
> compiler flags.
>
> Imported targets aren't used much in cmake at the moment which
> is why errors have been rare and probably worked around in
> different ways prior to this patch.
>
> Signed-off-by: Jack Mitchell <jack at embed.me.uk>
> ---
>  meta/classes/cmake.bbclass                                | 1 +
>  meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake | 1 +
>  2 files changed, 2 insertions(+)
>
> diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
> index 5203d8a..8339a6b 100644
> --- a/meta/classes/cmake.bbclass
> +++ b/meta/classes/cmake.bbclass
> @@ -57,6 +57,7 @@ set( CMAKE_CXX_FLAGS_RELEASE "${OECMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "Additi
>  set( CMAKE_ASM_FLAGS_RELEASE "${OECMAKE_C_FLAGS_RELEASE}" CACHE STRING "Additional ASM FLAGS for release" )
>  set( CMAKE_C_LINK_FLAGS "${OECMAKE_C_LINK_FLAGS}" CACHE STRING "LDFLAGS" )
>  set( CMAKE_CXX_LINK_FLAGS "${OECMAKE_CXX_LINK_FLAGS}" CACHE STRING "LDFLAGS" )
> +set( CMAKE_NO_SYSTEM_FROM_IMPORTED ON )
>
>  # only search in the paths provided so cmake doesnt pick
>  # up libraries and tools from the native build machine
> diff --git a/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake b/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
> index 60014bb..8279eb6 100644
> --- a/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
> +++ b/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
> @@ -7,6 +7,7 @@ set( CMAKE_FIND_ROOT_PATH $ENV{OECORE_TARGET_SYSROOT} $ENV{OECORE_NATIVE_SYSROOT
>  set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
>  set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
>  set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
> +set( CMAKE_NO_SYSTEM_FROM_IMPORTED ON )
>
>  string(REGEX MATCH "sysroots/([a-zA-Z0-9]+)" CMAKE_SYSTEM_PROCESSOR $ENV{SDKTARGETSYSROOT})
>  string(REGEX REPLACE "sysroots/" "" CMAKE_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR})
> --
> 2.9.3
>
Why not simply adding

-DCMAKE_NO_SYSTEM_FROM_IMPORTED=1

to cmake to avoid redundancy [1].

[1] https://github.com/schnitzeltony/oe-core/commit/930af34efb08c359541514e202173ec93a3a19c7

Andreas



More information about the Openembedded-core mailing list