On Sat, 6 Oct 2018 at 06:18, Steve Scott <ssc...@san.rr.com> wrote: > I am able to generate a standard SDK with native and target > sysroots. The target sysroot has header files for my custom > libraries. The header files are generally installed in > <path-to-sdk-target-sysroot>/usr/include/ > > We use cmake and googletest running on the *host* for testing some of > our libraries. So I need to build googletest and the test apps using the > host (x86_64) tools. The test apps need to include the target's library > header files. > > I tried specifying the SDK's *target* usr/include as an include directory to > the compiler, but files in this tree preempted the standard compiler (g++) > system include files. I can avoid this problem by installing the library > header files under the SDK's native sysroot; i.e. in > <path-to-sdk-native-sysroot>/usr/include/ > and setting this directory as an include directory on the compiler > command line. > > However, I cannot grok how to get these files into the SDK's native > tree. It seems related to > BBCLASSEXTEND = "native nativesdk" > but I'm just chasing my tail trying to figure out the magic incantation. > > Does anyone know how to do this? Or is there a better approach?
Assuming the recipe is correctly written, simply adding: BBCLASSEXTEND = "native nativesdk" Will give your recipe (eg foo.bb) native and nativesdk variant (foo-native and nativesdk-foo). The class extension automatically changes the paths so in general that's all you need to do. Then just add nativesdk-foo to your SDK using TOOLCHAIN_HOST_TASK_append = " nativesdk-foo". Ross -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto