Am 30.07.2015 um 17:20 schrieb Clinton Stimpson: > On Thursday, July 30, 2015 10:56:02 AM Brad King wrote: >> On 07/30/2015 09:29 AM, Pascal Bach wrote: >>> CMAKE_FIND_ROOT_PATH_MODE would then need to be extended to support >>> something like NATIVE and TARGET that one could use to choose where >>> to look for files. >>> This way every find_* call could explicitly tell if it wants a host >>> or a target version. >> Are you proposing new keyword arguments to find_* commands to specify >> this? The problem is that find modules don't necessarily know which >> kind of binary the application wants. That is why we have the >> CMAKE_FIND_ROOT_PATH_MODE_<type> variables. >> >> The existing CMAKE_FIND_ROOT_PATH* and CMAKE_SYSROOT options have been >> sufficient for most packages for a long time. We regularly get >> complaints that FindPythonLibs does not ask the python executable >> where to get its libraries, and our answer every time is that it is >> wrong to do that for cross compiling. FindQt4 is making that mistake, >> and that is the cause of these troubles. >> >> FindQt4 should be taught not to ask qmake for anything when cross >> compiling. > FindQt4 supports 2 use cases when cross compiling. > > 1. One Qt installation with a mix of native and non-native files. > > 2. Two Qt installations, one native and one non-native. In this case, qmake > may still be queried to find other tools, but CMAKE_FIND_ROOT_PATH is used to > find the non-native includes and libraries. > > The second case is what you are asking for, right? Yes case 2 is exactly what Yocto does, one qt-native and one qt-target. There might also be a third installation from the host machine (installed via apt-get for example).
I need to check if I can modify FindQt4 to not use qmake for libary and header finding if CROSS_COMPILING is set. But just rely on plain find_* commands. > > This why I previously suggested changing > from > SET(CMAKE_FIND_ROOT_PATH /sysroot/arm ...) > to > SET(CMAKE_FIND_ROOT_PATH /sysroot/arm/usr ...) I could not get this to work. It seems that the variables returned by qmake take priority over everything else. Pascal > > Because its a find root, not a sysroot. > -- 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-developers