[Buildroot] CMake package requires out of source build

mattwood2000 at gmail.com mattwood2000 at gmail.com
Thu Feb 18 15:23:27 UTC 2021


Hi Adam,

Thanks for this, sorry I somehow missed your email yesterday.

I'll take a look at what you did and compare it to my patches, but as of
now I have a working solution.

Thanks ,Matt.

On Wed, Feb 17, 2021, 3:58 PM Adam Duskett <aduskett at gmail.com> wrote:

> Hello;
>
> I have been porting several aws-iot packages to buildroot in an
> external tree found here:
> https://github.com/aduskett/buildroot-aws-iot/
>
> I added avs-device-sdk in the alexa-packages branch along with a small
> patch to allow for
> in-source builds.
>
> https://github.com/aduskett/buildroot-aws-iot/tree/alexa-packages
>
> Thanks!
>
> Adam
>
> On Wed, Feb 17, 2021 at 10:16 AM Alexander Dahl <post at lespocky.de> wrote:
> >
> > Hello Matt,
> >
> > On Wed, Feb 17, 2021 at 11:59:36AM -0500, mattwood2000 at gmail.com wrote:
> > > On Wed, Feb 17, 2021 at 10:52 AM Alexander Dahl <post at lespocky.de>
> wrote:
> > > > Just out of curiousity: why would you want to build in source
> anyways?
> > > > Why not build out of source as usually recommended and first class
> > > > supported by CMake?
> > >
> > > I would prefer to build the source like a normal cmake package,
> > > however Amazon disallows building their SDK anywhere within the
> > > original source directory.  Normally, there should not be any issue
> > > with:
> > >
> > > ./cmake_pkg_src
> > > ./cmake_pkg_src/buildroot-build // PKG_SUPPORTS_IN_SOURCE_BUILD = NO
> >
> > Oh, my bad. Of course building in a subfolder "build" (or with another
> name like above) is
> > quite common with CMake. I usually don't do this, but that's of course
> > only my personal preference.
> >
> > > But in this case there is a cmake rule that iterates over the entire
> > > source directory to check if the build directory is present:
> > >
> https://github.com/alexa/avs-device-sdk/blob/master/build/cmake/DisallowOutOfSourceBuilds.cmake
> >
> > That makes no sense to me. In that script they link to
> >
> https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#cmake-does-not-generate-a-make-distclean-target-why
> > but that only covers in source builds.
> >
> > > Removing the rule from BuildDefaults.cmake gets around this issue.
> > > Also, the source builds perfectly fine this way.  I'm not sure why
> > > Amazon forces this.
> >
> > Agreed. So why not patch 'build/BuildDefaults.cmake' like that and add
> > the patch to the buildroot package for that avs-device-sdk instead of
> > changing buildroot core?
> >
> > Greets
> > Alex
> >
> > --
> > /"\ ASCII RIBBON | »With the first link, the chain is forged. The first
> > \ / CAMPAIGN     | speech censured, the first thought forbidden, the
> >  X  AGAINST      | first freedom denied, chains us all irrevocably.«
> > / \ HTML MAIL    | (Jean-Luc Picard, quoting Judge Aaron Satie)
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20210218/331d0a3b/attachment-0002.html>


More information about the buildroot mailing list