On Tue, Apr 18, 2017 at 3:24 PM, Zabel, Oliver <oliverza...@gmx.de> wrote:
> Hi, thanks a lot for your input. I will take a look at the SuperProject > (with ExternalProject_Add() call) constellation as well as the meta build > tools. I'm quite new to this stuff, so please allow me my question: does > this even make sense what i'm trying or are there some "patterns" that > handles this stuff that i'm not aware of? > If it works in your situation, then it makes sense. ;) I'm not aware of any particular common pattern for what you're trying to do, so you may just have to experiment a bit. Not sure if it is relevant or if it will just be a distraction for you, but you may find Ruslo's polly project to be an interesting resource for toolchains. https://github.com/ruslo/polly > > *Gesendet:* Dienstag, 18. April 2017 um 00:23 Uhr > *Von:* "Craig Scott" <craig.sc...@crascit.com> > *An:* "Florent Castelli" <florent.caste...@gmail.com> > *Cc:* CMake <cmake@cmake.org>, "Zabel, Oliver" <oliverza...@gmx.de> > *Betreff:* Re: [CMake] Predownload > The top level build doesn't actually need to build anything itself. It > would just become a sequence of ExternalProject_Add() calls with some > simple logic for selecting which things to turn on/off, etc. The first > ExternalProject_Add() would download the toolchain files. The subsequent > ExternalProject_Add() calls could then use those toolchain files in their > configure steps. You just need to ensure you create the dependencies > between the ExternalProject targets to ensure the toolchain downloads > happen before the other ExternalProject targets that need them. > > > On Tue, Apr 18, 2017 at 8:21 AM, Florent Castelli < > florent.caste...@gmail.com> wrote: >> >> Don't you need the toolchain to be configured (Aka project() called) >> before ExternalProject? You wouldn't be able to update it after the >> download. >> >> /Florent >> >> On Apr 17, 2017 11:18 PM, "Craig Scott" <craig.sc...@crascit.com> wrote: >>> >>> Actually, ExternalProject could even be used to download and unpack the >>> toolchain files in a superbuild arrangement too. Probably makes more sense >>> now that I think about it, since it provides unpacking as well, not just >>> downloading and has a much richer set of download methods. >>> >>> On Tue, Apr 18, 2017 at 8:16 AM, Craig Scott <craig.sc...@crascit.com> >>> wrote: >>>> >>>> One option may be a superbuild arrangement (based on ExternalProject, >>>> online searches should give you details). The only thing the top level >>>> would do is setup the sub builds, including downloading and selecting which >>>> toolchain(s) to use for each sub build. >>>> >>>> >>>> On Tue, Apr 18, 2017 at 8:03 AM, Florent Castelli < >>>> florent.caste...@gmail.com> wrote: >>>>> >>>>> It is possible. >>>>> >>>>> Nothing prevents you from calling execute_process to download as >>>>> extract your toolchain file when it is run. You probably want to check the >>>>> destination folder for a pre existing download though. >>>>> >>>> >>>> >>>> If you use file(DOWNLOAD...) for downloading the toolchain files and >>>> you specify an EXPECTED_HASH, this will also conveniently take care of only >>>> downloading the file if it isn't already present. Shouldn't need to resort >>>> to execute_process() to do the download. >>>> >>>> >>>> >>>> >>>>> Then, you proceed on configuring Cmake to use it as usual. >>>>> >>>>> /Florent >>>>> >>>>> On Apr 17, 2017 14:11, "Zabel, Oliver" <oliverza...@gmx.de> wrote: >>>>> >>>>> Hi, >>>>> >>>>> >>>>> >>>>> i’m developing Software for embedded Systems and my applications Need >>>>> to run on different target platforms. Until now we are build our Code with >>>>> make but i’d like to Switch to cmake. ATM we’re putting our Compiler >>>>> toolchains in our VCS to be able to produce the same binarys even after >>>>> years. Until now, there is only one toolchain include in a Project as >>>>> svn-external/git submodule. But i want to use toolchain-files with cmake. >>>>> >>>>> >>>>> >>>>> Now here is my idea and i’d like to know whether this is possible with >>>>> cmake. >>>>> >>>>> I have my Project root and in this Folder i’d like to have different >>>>> toolchain files for different Compilers. I’d like to exclude the Compilers >>>>> as external. >>>>> >>>>> Now i’d like to build the cmake Cache by calling cmake with the >>>>> required toolchain file. Is it now somehow possible, to download the >>>>> required toolchain before the Cache is buidl up? If this would be >>>>> possible, >>>>> i could dynamicly choose which toolchain i want to have – would be great >>>>> for Compiler / unit Tests as well. >>>>> >>>>> >>>>> >>>>> Perhaps someone has a better idea to do this or even i using such a >>>>> System and give me a hint? >>>>> >>>>> >>>>> >>>>> Thanks a lot! >>>>> >>>>> >>>>> >>>>> Best regards, >>>>> >>>>> Oliver >>>>> >>>>> -- >>>>> >>>>> Powered by www.kitware.com >>>>> >>>>> Please keep messages on-topic and check the CMake FAQ at: >>>>> http://www.cmake.org/Wiki/CMake_FAQ >>>>> >>>>> Kitware offers various services to support the CMake community. For >>>>> more information on each offering, please visit: >>>>> >>>>> CMake Support: http://cmake.org/cmake/help/support.html >>>>> CMake Consulting: http://cmake.org/cmake/help/consulting.html >>>>> CMake Training Courses: http://cmake.org/cmake/help/training.html >>>>> >>>>> Visit other Kitware open-source projects at http://www.kitware.com/ >>>>> opensource/opensource.html >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://public.kitware.com/mailman/listinfo/cmake >>>>> >>>>> >>>>> -- >>>>> >>>>> Powered by www.kitware.com >>>>> >>>>> Please keep messages on-topic and check the CMake FAQ at: >>>>> http://www.cmake.org/Wiki/CMake_FAQ >>>>> >>>>> Kitware offers various services to support the CMake community. For >>>>> more information on each offering, please visit: >>>>> >>>>> CMake Support: http://cmake.org/cmake/help/support.html >>>>> CMake Consulting: http://cmake.org/cmake/help/consulting.html >>>>> CMake Training Courses: http://cmake.org/cmake/help/training.html >>>>> >>>>> Visit other Kitware open-source projects at http://www.kitware.com/ >>>>> opensource/opensource.html >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> http://public.kitware.com/mailman/listinfo/cmake >>>> >>>> >>>> >>>> -- >>>> Craig Scott >>>> Melbourne, Australia >>>> https://crascit.com >>>> >>> >>> >>> -- >>> Craig Scott >>> Melbourne, Australia >>> https://crascit.com >>> >> > > -- > Craig Scott > Melbourne, Australia > https://crascit.com > -- Craig Scott Melbourne, Australia https://crascit.com
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake