[CMake] [PATCH] Qt cross compile with cmake v2.8.4

Markus Rathgeb maggu2810 at googlemail.com
Thu Mar 10 13:56:00 EST 2011


Sorry, I forgot the attachement.

2011/3/10 Markus Rathgeb <maggu2810 at googlemail.com>:
>> Ok, and what was the error you were getting?
>> Is this a problem because you have Qt installed in the same relative location
>> from the non-rooted and rooted directory?
>
> QT_LIBRARY_DIR, QT_HEADERS_DIR, ... are detected fine in and with the
> given root path.
> Then FIND_PATH is used to find the modules.
> As paths that should be used to find the specified directory are
> (e.g.) "${QT_HEADERS_DIR}/${QT_MODULE}" used.
> We have to remember, that "${QT_HEADERS_DIR}" already contain the
> ${CMAKE_FIND_ROOT_PATH}.
>
> In the "non patched version" all paths added on FIND_PATH will be
> prefixed with "CMAKE_FIND_ROOT_PATH" again.
> On the "patched version" this will be prevented by "NO_CMAKE_FIND_ROOT_PATH"
>
> I attached a cut down strace output to explain what I mean.
>
> You could compare it with the cmake Toolchain configuration file of
> the last email.
>
> As you can see, the compiled libraries libQtGui.so, libQtNetwork.so,
> libQtSql.so, libQtXml.so could be found by the patched FindQt4.cmake
>
> Could I show you, what I see as problem?
>
-------------- next part --------------
/**********************************
 * NON PATCHED VERSION            *
 *********************************/

access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtGui/QtGui", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtGui.framework/Headers/QtGui", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/Qt3Support/Qt3Support", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/Qt3Support.framework/Headers/Qt3Support", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtSvg/QtSvg", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtSvg.framework/Headers/QtSvg", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtScript/QtScript", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtScript.framework/Headers/QtScript", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtTest/QtTest", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtTest.framework/Headers/QtTest", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtUiTools/QtUiTools", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtUiTools.framework/Headers/QtUiTools", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtHelp/QtHelp", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtHelp.framework/Headers/QtHelp", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtWebKit/QtWebKit", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtWebKit.framework/Headers/QtWebKit", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtXmlPatterns/QtXmlPatterns", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtXmlPatterns.framework/Headers/QtXmlPatterns", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/phonon/phonon", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/phonon.framework/Headers/phonon", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/phonon/phonondefs.h", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/phonon.framework/Headers/phonondefs.h", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtNetwork/QtNetwork", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtNetwork.framework/Headers/QtNetwork", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtMultimedia/QtMultimedia", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtMultimedia.framework/Headers/QtMultimedia", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtNsPlugin/QtNsPlugin", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtNsPlugin.framework/Headers/QtNsPlugin", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtOpenGL/QtOpenGL", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtOpenGL.framework/Headers/QtOpenGL", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtSql/QtSql", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtSql.framework/Headers/QtSql", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtXml/QtXml", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtXml.framework/Headers/QtXml", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtDesigner/QtDesigner", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtDesigner.framework/Headers/QtDesigner", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtDBus/QtDBus", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtDBus.framework/Headers/QtDBus", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtScriptTools/QtScriptTools", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtScriptTools.framework/Headers/QtScriptTools", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtDeclarative/QtDeclarative", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtDeclarative.framework/Headers/QtDeclarative", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtDesigner/QDesignerComponents", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtDesigner.framework/Headers/QDesignerComponents", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtAssistant/QtAssistant", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtAssistant.framework/Headers/QtAssistant", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtAssistant/QAssistantClient", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/qtcrosstest/../rootfs/platform/sysroot-target/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtAssistant.framework/Headers/QAssistantClient", R_OK) = -1 ENOENT (No such file or directory)



/**********************************
 * PATCHED VERSION                *
 *********************************/

access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtGui/QtGui", R_OK) = 0
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/Qt3Support/Qt3Support", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/Qt3Support.framework/Headers/Qt3Support", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtSvg/QtSvg", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtSvg.framework/Headers/QtSvg", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtScript/QtScript", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtScript.framework/Headers/QtScript", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtTest/QtTest", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtTest.framework/Headers/QtTest", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtUiTools/QtUiTools", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtUiTools.framework/Headers/QtUiTools", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtHelp/QtHelp", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtHelp.framework/Headers/QtHelp", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtWebKit/QtWebKit", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtWebKit.framework/Headers/QtWebKit", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtXmlPatterns/QtXmlPatterns", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtXmlPatterns.framework/Headers/QtXmlPatterns", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/phonon/phonon", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/phonon.framework/Headers/phonon", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/phonon/phonondefs.h", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/phonon.framework/Headers/phonondefs.h", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtNetwork/QtNetwork", R_OK) = 0
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtMultimedia/QtMultimedia", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtMultimedia.framework/Headers/QtMultimedia", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtNsPlugin/QtNsPlugin", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtNsPlugin.framework/Headers/QtNsPlugin", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtOpenGL/QtOpenGL", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtOpenGL.framework/Headers/QtOpenGL", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtSql/QtSql", R_OK) = 0
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtXml/QtXml", R_OK) = 0
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtDesigner/QtDesigner", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtDesigner.framework/Headers/QtDesigner", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtDBus/QtDBus", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtDBus.framework/Headers/QtDBus", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtScriptTools/QtScriptTools", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtScriptTools.framework/Headers/QtScriptTools", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtDeclarative/QtDeclarative", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtDeclarative.framework/Headers/QtDeclarative", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtDesigner/QDesignerComponents", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtDesigner.framework/Headers/QDesignerComponents", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtAssistant/QtAssistant", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtAssistant.framework/Headers/QtAssistant", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/include/QtAssistant/QAssistantClient", R_OK) = -1 ENOENT (No such file or directory)
access("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/QtAssistant.framework/Headers/QAssistantClient", R_OK) = -1 ENOENT (No such file or directory)
open("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3
stat64("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/libQtGui.so", {st_mode=S_IFREG|0755, st_size=8376876, ...}) = 0
stat64("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/libQtNetwork.so", {st_mode=S_IFREG|0755, st_size=961272, ...}) = 0
stat64("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/libQtSql.so", {st_mode=S_IFREG|0755, st_size=193456, ...}) = 0
stat64("/home/maggu2810/trunk/rootfs/platform/sysroot-target/usr/lib/libQtXml.so", {st_mode=S_IFREG|0755, st_size=221292, ...}) = 0


More information about the CMake mailing list