Hi again

Am 30.07.2015 um 10:54 schrieb Pascal Bach:
> Hi Clint, Hi Brad
>> What I want to avoid is users thinking that what you are proposing overrides 
>> any other way of finding Qt when cross compiling.
>>
>> The wording you propose is "To find Qt in a cross compile environment set 
>> the 
>> following variables"
>> However there are users for which setting only CMAKE_FIND_ROOT_PATH is 
>> enough.
>> Or setting CMAKE_FIND_ROOT_PATH plus QT_QMAKE_EXECUTABLE is enough.
> That sounds reasonable.
>> Brad had a good question in another email.  Can't you set 
>> QT_QMAKE_EXECUTABLE?
>> My guess, is no, because that qmake returns paths under one sysroot.
> Brads suggestion doesn't work as it again finds the native Qt version.
>
>  I think the proper way might be for CMake to be aware of that one sysroot is 
> native and the other one is for the target.
> so find_program would look in the native one and the other find_* functions 
> would look in the target sysroot.
>
> I'm not sure how this could be achived?
I gave this some additional tought and maybe the soltuion would be to solve 
this on a lower level within CMake.

Here is an idea:

In additiona to CMAKE_SYSROOT we could add a CMAKE_HOST_SYSROOT.
CMAKE_HOST_SYSROOT is by default set to the normal host path but could be 
changed in a case like we have for FindQt4.

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.
find_program by defaul would prefer NATIVE while find_library etc. would prefer 
TARGET, but this could be changed per call if necessary.


With this changes I think the implementation for FindQt4 and maybe others could 
be simplified.
Also CMakeLists.txt for cross compiled projects would be easier.

Would this be a feasible extension?


PS: It looks kind of similar to what was done with CMAKE_APPBUNDLE_PATH for Mac 
OS X, but I haven't look deeper into how this works.

Pascal
-- 

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

Reply via email to