On Monday 15 April 2013, Stephen Kelly wrote:
> Alexander Neundorf wrote:
> > I think that's a good idea.
> > Qt, once built, knows where the compiler is and what the target operating
> > system is, so it is a good source of information for that.
> > It also knows at least some part of CMAKE_FIND_ROOT_PATH, that would be
> > its own install locations, maybe it knows even more about where things
> > are to be found for the target ?
> 
> I've uploaded the change I've worked on for Qt:
> 
>  https://codereview.qt-project.org/#change,53858
> 
> The CMAKE_FIND_ROOT_PATH is indeed known, as is the CMAKE_PREFIX_PATH and
> all relevant compilers. That seems to be all the relevant information for a
> toolchain. 

Mostly. CMAKE_FIND_ROOT_PATH can also contain additional user-specific 
directories, but I guess it's ok.
It's actually great, since this should make cross-compiling with Qt much 
easier :-)

> I tried also defining CMAKE_AR and CMAKE_LINKER, but that fails
> and is not needed anyway. Setting CMAKE_LINKER fails because the variable
> contains 'g++' and the '+' cause regex compile failure in
> CMakeParseImplicitLinkInfo.cmake.
> 
> So, after building Qt, a project can be built using
> 
>  cmake .. -DCMAKE_TOOLCHAIN_FILE=/path/to/qt/cmake/Qt5Toolchain.cmake
> 
> The generated file is deliberately named generically so that that always
> works. The path to the Qt build will be specific enough anyway. The
> toolchain files contain absolute paths to the sysroot and the cross-
> compilers.
> 
> When building Qt, a sysroot can be passed to the configure script, and a
> so- called 'host-prefix' can be passed too. Cross compiled libraries get
> installed into the prefix, and host-compiled tools like moc and qmake get
> installed to the hostprefix. In my patch, I install the toolchain file to
> 
>  $$hostprefix/cmake/Qt5Toolchain.cmake

Is hostprefix somewhere in lib/ ?

Alex
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to