Alexander Neundorf neundorf at kde.org
Sun Nov 20 17:17:08 UTC 2011

On Sunday 20 November 2011, Laszlo Papp wrote:
> > I highly recommend adding support in cmake for the --sysroot option to
> > the compiler and linker and supporting that too in cmake's own engine.
> > The sysroot option is not exactly equivalent to a chroot: you may still
> > find build files outside it, such as the library you're compiling.
> > However, it changes where the default locations are.
> I agree.
> Also, It needs to be addressed as soon as possible. It is a real
> headache. The current patch and workflow on Harmattan (patching from
> the debian/rules file after the FindKDE4Internal.cmake generation
> sounds slubberish. 


> It might probably be needed by more packages on
> various embedded platforms.

Regarding the "as soon as possible".
The RC1 for the next CMake release 2.8.7, is scheduled for early december. So 
for this it's too late.
2.8.8 will be about 3 months later, so let's say April 2012.

Personally, I don't have any hardware myself where I could cross compile to, 
and even if I had, I wouldn't have the time to actually do it.

Right now CMake supports CMAKE_FIND_ROOT_PATH, which is partly what sysroot 
is. It does that part for the searching of libraries, headers, etc.
I.e. it is a list of root directories, and to each of those all standard 
search directories are appended when the find_library/file/...() commands are 
searching for files.

It is currently not taken into account when installing files, and also not 
when generating the files for the exported targets. Maybe it also needs to be 
taken into account in other places. Compatiblity has to be kept, and once 
there is such relatively complex support, proper testing needs to be set up 
for it.

So, improving the cross compiling support in cmake in such a way is more than 
I can do in my spare time.

If you want to have it, there are basically two options:

* implement it yourself, and get your patch accepted on the cmake-developers 
list. I will support you.

* find a company (Thiago, Laszlo, you are working at Intel and Nokia, right ?) 
which has commercial interest in cross compiling Qt-based applications, and 
then get in touch with Kitware and pay them to enhance cmake. Their main 
office is in the US (www.kitware.com), but since last year they also have an 
office in Lyon, France (www.kitware.fr).

Until this is done, for my side, the recommended way to build KDE for other 
targets is to use a VM like scratchbox.


More information about the Kde-buildsystem mailing list