Browse Source

fix shared/static linkage detection and text codec auto-import for Qt4

The earlier approach was very convoluted and did not work for a static
Qt5 build.
Ashish Kulkarni 10 years ago
parent
commit
10d50bf71f
5 changed files with 7 additions and 23 deletions
  1. 3 19
      common.pri
  2. 1 1
      src/image/image.pro
  3. 1 1
      src/lib/converter.cc
  4. 1 1
      src/lib/lib.pro
  5. 1 1
      src/pdf/pdf.pro

+ 3 - 19
common.pri

@@ -15,27 +15,11 @@
 # You should have received a copy of the GNU Lesser General Public License
 # along with wkhtmltopdf.  If not, see <http:#www.gnu.org/licenses/>.
 
-QT4_PRL = libQtGui.prl  QtGui.prl  QtGui.framework/QtGui.prl
-QT5_PRL = libQt5Gui.prl Qt5Gui.prl
-
-for(prl, QT4_PRL):exists($$[QT_INSTALL_LIBS]/$${prl}) {
-    include($$[QT_INSTALL_LIBS]/$${prl})
-    CONFIG += qt_gui_prl_found
-}
-for(prl, QT5_PRL):exists($$[QT_INSTALL_LIBS]/$${prl}) {
-    include($$[QT_INSTALL_LIBS]/$${prl})
-    CONFIG += qt_gui_prl_found
+CONFIG(static, shared|static):lessThan(QT_MAJOR_VERSION, 5) {
+    DEFINES  += QT4_STATICPLUGIN_TEXTCODECS
+    QTPLUGIN += qcncodecs qjpcodecs qkrcodecs qtwcodecs
 }
 
-qt_gui_prl_found {
-    contains(QMAKE_PRL_CONFIG, static): DEFINES += QT_STATIC
-    else:                               DEFINES += QT_SHARED
-}
-contains(QMAKE_PRL_CONFIG, static): QTPLUGIN += qcncodecs qjpcodecs qkrcodecs qtwcodecs
-
-# if we can't determine, assume that it is shared
-!qt_gui_prl_found: DEFINES += QT_SHARED
-
 INCLUDEPATH += ../../include
 RESOURCES    = $$PWD/wkhtmltopdf.qrc
 

+ 1 - 1
src/image/image.pro

@@ -40,7 +40,7 @@ target.path=$$INSTALLBASE/bin
 
 include(../shared/shared.pri)
 
-contains(DEFINES, QT_SHARED) {
+CONFIG(shared, shared|static) {
   LIBS += -L../../bin -lwkhtmltox
 } else {
   include(../lib/lib.pri)

+ 1 - 1
src/lib/converter.cc

@@ -24,7 +24,7 @@
 #include <QWebFrame>
 #include <qapplication.h>
 
-#ifdef QT_STATIC
+#ifdef QT4_STATICPLUGIN_TEXTCODECS
 #include <QtPlugin>
 Q_IMPORT_PLUGIN(qcncodecs)
 Q_IMPORT_PLUGIN(qjpcodecs)

+ 1 - 1
src/lib/lib.pro

@@ -22,7 +22,7 @@ include(../../common.pri)
 include(lib.pri)
 
 DEF_FILE = lib.def
-contains(QMAKE_PRL_CONFIG, static): DEFINES += QT_NODLL
+CONFIG(static, shared|static): DEFINES += QT_NODLL
 
 unix {
    headers.target=headers

+ 1 - 1
src/pdf/pdf.pro

@@ -40,7 +40,7 @@ target.path=$$INSTALLBASE/bin
 
 include(../shared/shared.pri)
 
-contains(DEFINES, QT_SHARED) {
+CONFIG(shared, shared|static) {
   LIBS += -L../../bin -lwkhtmltox
 } else {
   include(../lib/lib.pri)