[cmake-developers] Cross compiling toolchain variables

Brad King brad.king at kitware.com
Thu Oct 24 16:38:44 EDT 2013


On 10/21/2013 04:23 PM, Stephen Kelly wrote:
> I've pushed the cross-compiling-toolchain-variables topic to my clone.

Great!  Here are some comments.

The CMAKE_<LANG>_COMPILER_TARGET variable needs documentation added,
especially to say that it is only supported in a toolchain file.
CMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN needs documentation too.

At one point you do this:

> +      "set(_IMPORT_PREFIX \"${_CMAKE_SYSROOT}${_IMPORT_PREFIX}\")\n";
> ...
> +    this->ImportPrefix = "${_CMAKE_SYSROOT}${_IMPORT_PREFIX}/";

Doesn't that double up the sysroot?  What is the purpose of
adjusting the import prefix like this?  Don't these target files
compute the prefix relative to themselves anyway?  That should
give the right path either on the host or in the target environment.
We never needed anything special for CMAKE_FIND_ROOT_PATH.

In the CMAKE_SYSROOT doc:

> +paths searched by the find_* commands.

The line should be

 paths searched by the ``find_*`` commands.

to ensure the _ and * do not look like inline markup.

> I have not worked on merging the CMAKE_OSX_SYSROOT feature with 
> CMAKE_SYSROOT as I don't have the required OSX knowledge
[snip]
> Can I go ahead and investigate implementing what is described in the above 
> linked mail with CMAKE_EXTERNAL_INSTALL_PREFIX? Any updated ideas for a name 
> for the variable?

I'll have to look back at these two parts more before responding.

> That also relates to this bug:
>
>  https://bugreports.qt-project.org/browse/QTBUG-32308
>
> and this mail:
>
>  http://thread.gmane.org/gmane.comp.lib.qt.devel/13444/focus=13450

These folks should try the CMake 2.8.12 release.  It added these:

 OS X: Search system SDKs for frameworks
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1fce189e

 OS X: Enable command-line build without tools in PATH
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=03ab170f

which taught CMake how to search for things in the system SDK
directories.

-Brad



More information about the cmake-developers mailing list