11#  get external pythonqtall config or enable all by default
22
3+ isEmpty ( PYTHONQTALL_CONFIG  ) {
4+   PYTHONQTALL_CONFIG  = $$(PYTHONQTALL_CONFIG) 
5+ }
6+ 
37isEmpty ( PYTHONQTALL_CONFIG  ) {
48  message ("using default PythonQt_QtAll Configuration" )
59  CONFIG  += PythonQtCore
6-   CONFIG  += PythonQtGui
7-   CONFIG  += PythonQtSvg
8-   CONFIG  += PythonQtSql
9-   CONFIG  += PythonQtNetwork
10-   CONFIG  += PythonQtOpengl  
11-   CONFIG  += PythonQtXml
12-   CONFIG  += PythonQtXmlpatterns
13-   CONFIG  += PythonQtMultimedia
14-   CONFIG  += PythonQtQml
15-   CONFIG  += PythonQtQuick
16-   CONFIG  += PythonQtUiTools
10+   qtHaveModule(gui):qtHaveModule(widgets): CONFIG  += PythonQtGui
11+   qtHaveModule(svg): CONFIG  += PythonQtSvg
12+   qtHaveModule(sql): CONFIG  += PythonQtSql
13+   qtHaveModule(network): CONFIG  += PythonQtNetwork
14+   qtHaveModule(opengl): CONFIG  += PythonQtOpengl
15+   qtHaveModule(xml): CONFIG  += PythonQtXml
16+   qtHaveModule(xmlpatterns): CONFIG  += PythonQtXmlpatterns
17+   qtHaveModule(multimedia): CONFIG  += PythonQtMultimedia
18+   qtHaveModule(qml): CONFIG  += PythonQtQml
19+   qtHaveModule(quick): CONFIG  += PythonQtQuick
20+   qtHaveModule(uitools): CONFIG  += PythonQtUiTools
1721
1822  qtHaveModule(webkit):CONFIG  += PythonQtWebKit
1923} else {
@@ -36,10 +40,10 @@ CONFIG += dll qt
3640DEFINES  += PYTHONQT_QTALL_EXPORTS 
3741
3842HEADERS  +=                \ 
39-   PythonQt_QtAll.h 
43+   $$PWD / PythonQt_QtAll.h
4044
4145SOURCES  +=                \ 
42-   PythonQt_QtAll.cpp 
46+   $$PWD / PythonQt_QtAll.cpp
4347
4448unix  {
4549  CONFIG  += create_pc create_prl no_install_prl
@@ -60,79 +64,81 @@ headers.path = /include
6064
6165INSTALLS  += target  headers 
6266
67+ defineTest(Xinclude) {
68+   f=$$PYTHONQT_GENERATED_PATH / $$1/ $${1 }.pri 
69+   exists ($$f ):include ($$f ):export(HEADERS ):export(SOURCES ):export(DEFINES )
70+ 
71+ }
72+ 
73+ 
6374PythonQtCore {
6475  DEFINES  += PYTHONQT_WITH_CORE 
65-   include  ( $$PYTHONQT_GENERATED_PATH/ com_trolltech_qt_core/com_trolltech_qt_core.pri  )
76+   Xinclude ( com_trolltech_qt_core)
6677}
6778
6879PythonQtGui  {
6980  DEFINES  += PYTHONQT_WITH_GUI 
70-   include  ( $$PYTHONQT_GENERATED_PATH/ com_trolltech_qt_gui/com_trolltech_qt_gui.pri  )
81+   Xinclude ( com_trolltech_qt_gui)
7182  QT  += gui  widgets printsupport
7283}
7384
7485PythonQtSvg {
7586  DEFINES  += PYTHONQT_WITH_SVG 
76-   include  ( $$PYTHONQT_GENERATED_PATH/ com_trolltech_qt_svg/com_trolltech_qt_svg.pri  )
87+   Xinclude ( com_trolltech_qt_svg)
7788  QT  +=svg 
7889}
7990
8091PythonQtSql {
8192  DEFINES  += PYTHONQT_WITH_SQL 
82-   include  ( $$PYTHONQT_GENERATED_PATH/ com_trolltech_qt_sql/com_trolltech_qt_sql.pri  )
93+   Xinclude ( com_trolltech_qt_sql)
8394  QT  += sql 
8495}
8596
8697PythonQtNetwork {
8798  DEFINES  += PYTHONQT_WITH_NETWORK 
88-   include  ( $$PYTHONQT_GENERATED_PATH/ com_trolltech_qt_network/com_trolltech_qt_network.pri  )
99+   Xinclude ( com_trolltech_qt_network)
89100  QT  += network 
90101}
91102
92103PythonQtOpengl {
93104  DEFINES  += PYTHONQT_WITH_OPENGL 
94-   PythonQtCore: include  ($$PYTHONQT_GENERATED_PATH/com_trolltech_qt_opengl/com_trolltech_qt_opengl.pri )
95105  QT  += opengl 
96- }
97- 
98- PythonQtXml {
99-   DEFINES  += PYTHONQT_WITH_XML 
100-   include  ($$PYTHONQT_GENERATED_PATH/com_trolltech_qt_xml/com_trolltech_qt_xml.pri )
106+   PythonQtCore: Xinclude (com_trolltech_qt_opengl)
101107  QT  += xml 
102108}
103109
104110PythonQtXmlpatterns {
105111  DEFINES  += PYTHONQT_WITH_XMLPATTERNS 
106-   include  ( $$PYTHONQT_GENERATED_PATH/ com_trolltech_qt_xmlpatterns/com_trolltech_qt_xmlpatterns.pri  )
112+   Xinclude ( com_trolltech_qt_xmlpatterns)
107113  QT  += xmlpatterns
108114}
109115
110116PythonQtMultimedia {
111117  DEFINES  += PYTHONQT_WITH_MULTIMEDIA 
112-   include  ( $$PYTHONQT_GENERATED_PATH/ com_trolltech_qt_multimedia/com_trolltech_qt_multimedia.pri  )
113-  QT  += multimedia multimediawidgets
118+   Xinclude ( com_trolltech_qt_multimedia)
119+    QT  += multimedia multimediawidgets
114120}
115121
116122PythonQtQml {
117123  DEFINES  += PYTHONQT_WITH_QML 
118-   include  ( $$PYTHONQT_GENERATED_PATH/ com_trolltech_qt_qml/com_trolltech_qt_qml.pri  )
124+   Xinclude ( com_trolltech_qt_qml)
119125  QT  += qml
120126}
121127
122128PythonQtQuick {
123129  DEFINES  += PYTHONQT_WITH_QUICK 
124-   include  ( $$PYTHONQT_GENERATED_PATH/ com_trolltech_qt_quick/com_trolltech_qt_quick.pri  )
130+   Xinclude ( com_trolltech_qt_quick)
125131  QT  += quick quickwidgets
126132}
127133
128134PythonQtUiTools {
129135  DEFINES  += PYTHONQT_WITH_UITOOLS 
130-   include  ( $$PYTHONQT_GENERATED_PATH/ com_trolltech_qt_uitools/com_trolltech_qt_uitools.pri  )
136+   Xinclude ( com_trolltech_qt_uitools)
131137  QT  += uitools
132138}
133139
134140PythonQtWebKit {
135141  DEFINES  += PYTHONQT_WITH_WEBKIT 
136-   include  ( $$PYTHONQT_GENERATED_PATH/ com_trolltech_qt_webkit/com_trolltech_qt_webkit.pri  )
142+   Xinclude ( com_trolltech_qt_webkit)
137143  QT  += webkit webkitwidgets
138144}
0 commit comments