In my project I build on Linux i686 and I use a Toolchain file to specify the ARM cross-compiler

https://cmake.org/cmake/help/v3.6/manual/cmake-toolchains.7.html

The nice thing is that if you mark some files as "generated" CMAKE will automatically use the build rather than the target toolchains. For instance, I have a Flex/Byson compiler that is generated locally on i686 , but then compiled for ARM.

Regards,

Michele

Le 10/10/2016 à 11:10, Robert Bielik a écrit :

Thanks Craig,

Your solution will work for me I think.

Regards

/R

*From:*Craig Scott [mailto:craig.sc...@crascit.com]
*Sent:* den 10 oktober 2016 10:47
*To:* Robert Bielik <robert.bie...@dirac.com>
*Cc:* Cmake@cmake.org
*Subject:* Re: [CMake] Crosscompilation woes

Here's one possible solution (not perfect, but has been working in production for us for a while now for a similar scenario to what you describe):

http://stackoverflow.com/q/36084785/1938798

An alternative is a superbuild arrangement which would require a top level project to drive two sub-builds brought in via ExternalProject <https://cmake.org/cmake/help/latest/module/ExternalProject.html>, one for the host and the other for arm. This is both better and worse, depending on your point of view, so you may need to do some research/experimenting to see which is a better fit for your situation.

On Mon, Oct 10, 2016 at 7:29 PM, Robert Bielik <robert.bie...@dirac.com <mailto:robert.bie...@dirac.com>> wrote:

    Hi all,

    I am crosscompiling a project for arm (on linux i686), and use
    codegeneration tools within the project (together with
    add_custom_command). Of course, this will fail, since the tools
    are compiled for arm also and thus won't execute on my host
    system. So the tools need to be compiled for i686 whilst the rest
    for arm. I'm sure this can be handled by CMake although haven't
    done it before so would appreciate pointers :)

    Regards
    /Robert

    --

    Powered by www.kitware.com <http://www.kitware.com>

    Please keep messages on-topic and check the CMake FAQ at:
    http://www.cmake.org/Wiki/CMake_FAQ
    <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
    <http://cmake.org/cmake/help/support.html>
    CMake Consulting: http://cmake.org/cmake/help/consulting.html
    <http://cmake.org/cmake/help/consulting.html>
    CMake Training Courses: http://cmake.org/cmake/help/training.html
    <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




-- 

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

Reply via email to