Quick update:
Changing the headers worked and I was able to remove the QT_INCLUDE_DIR
lines from the CMakeLists.txt files.

In
apiextractor/typesystem.cpp
Change
#include <Qt/QtXml>
To
#include <QtXml/QtXml>

And in
pyside/data/typesystem/typesystem_core.xml
Change
<include file-name="Qt/qtextdocument.h location="global">
To
<include file-name="QtGui/qtextdocument.h location="global">


Now I just have the boost issue for the missing return_value_policy for
void* in qthread_wrapper.cpp.  But it's getting close!



On Tue, Sep 8, 2009 at 8:51 PM, Brendan Duncan <[email protected]>wrote:

> I did build Qt myself because I didn't know if Trolltech (Nokia...whatever)
> included the x86_64 version of the libraries.
>
> When compiling it manually, it installs things in three places.  It
> installs into all of the standard OSX Frameworks directories like you
> mentioned; it makes the /usr/local/Qt4.5 directory, which just has some
> configuration sorts of files; and it makes /usr/local/Trolltech/Qt-4.5.2,
> which has the full includes/lib/bin/etc directories that would be available
> on normal non-"I got to do things my own way" operating systems.
>
> You can use the Frameworks with Qt, or you can use the stuff in the
> /usr/local/Trolltech directory.  A number of #include's in PySide use the
> old-style Qt headers, like
> #include <Qt/QtXml>
> which can't be found in the Frameworks directories because there isn't a
> framework for the generic <Qt/...> headers.
>
> I guess the correct solution would be to fix PySide.  PySide shouldn't be
> using those headers, and should be using the actual Qt module directores,
> #include <QtXml/QtXml>
> in which case the headers would be found in the available Qt Frameworks.
> CMake automatically adds the Qt libraries with the -framework linker
> arguments, should everything should be good to go by getting rid of the
> <Qt/...> includes.
>
> The one exception is that Trolltech doesn't include a Framework for
> QtUiTools, which does get installed in the /usr/local/Trolltech directory
> when building Qt manually.  In the pyside CMakeLists.txt, I had to add
> set(QT_QTUITOOLS_INCLUDE_DIR
> "/usr/local/Trolltech/Qt-4.5.2/include/QtUiTools")
> in order for CMake to find those headers.  I'm not sure what you're
> supposed to do if you just installed the binaries for Qt and Trolltech
> doesn't provide a Framework for that.
>
>
>
>
>
> 2009/9/8 Mike Taylor <[email protected]>
>
>
>> But there are still a couple of issues:
>>
>> * Qt headers still need to be found, which I fixed by adding
>>
>> set(QT_INCLUDE_DIR "/usr/local/Trolltech/Qt-4.5.2/include")
>>
>> to CMakeLists.txt.  I'm not sure what the best way of dealing with this
>> is.
>>
>>
>> FindQt4 defines QT_INCLUDE_DIR as far as I know.
>> http://www.cmake.org/cmake/help/cmake2.6docs.html#module:FindQt4
>>
>> My knowledge about Mac OS is zero, but is /usr/local/Trolltech the default
>>
>> install dir? Any chance FindQt4 is looking in /usr/Trolltech?
>>
>>
>> Actually Qt on the Mac is more complicated that. Brendan, did you build
>> your own copy of Qt? I installed the binary package from the Qt web site and
>> it has a /usr/local/Qt4.5 directory, but there's nothing of interest in
>> there (i.e. no headers or libraries). There aren't any Trolltech directories
>> anywhere that I can see.
>>
>> OS X has the concept of "Frameworks" and that is how Qt is packaged by
>> default on the Mac. Frameworks are actually kind of nice. They are a
>> packaging up of headers and libraries into a bundle. And, the bundles have
>> versioning in them, so they can contain multiple versions.
>>
>> > ls -d /Library/Frameworks/Qt*
>> /Library/Frameworks/Qt3Support.framework/
>> /Library/Frameworks/QtOpenGL.framework/
>> /Library/Frameworks/QtAssistant.framework/
>> /Library/Frameworks/QtScript.framework/
>> /Library/Frameworks/QtCore.framework/
>> /Library/Frameworks/QtScriptTools.framework/
>> /Library/Frameworks/QtDBus.framework/
>> /Library/Frameworks/QtSql.framework/
>> /Library/Frameworks/QtDesigner.framework/
>> /Library/Frameworks/QtSvg.framework/
>> /Library/Frameworks/QtDesignerComponents.framework/
>> /Library/Frameworks/QtTest.framework/
>> /Library/Frameworks/QtGui.framework/
>> /Library/Frameworks/QtWebKit.framework/
>> /Library/Frameworks/QtHelp.framework/
>> /Library/Frameworks/QtXml.framework/
>> /Library/Frameworks/QtNetwork.framework/
>> /Library/Frameworks/QtXmlPatterns.framework/
>>
>> Those are the standard frameworks installed by Qt.
>>
>> You can use the includes from a framework or link to it by using the
>> -framework flag on gcc (e.g. -framework QtCore). /Library/Framework is part
>> of the standard framework path, so those frameworks will be found by the
>> compiler.
>>
>> My quick glimpse of the CMake docs does indicate that it knows about OS X
>> frameworks. But I'm not very familiar with the workings of CMake.
>>
>> I hope that helps. I hope I can scrape together some time to give building
>> Pyslide a shot myself. I'm very excited about the project.
>>
>> /\/\ike
>>
>
>
_______________________________________________
PySide mailing list
[email protected]
http://lists.openbossa.org/listinfo/pyside

Reply via email to