Added a build system option to enable/disable uitools support as some distributions do not support that

This commit is contained in:
Matthias Koefferlein 2021-02-27 18:03:37 +01:00
parent 66199958a5
commit 33ae3b0239
7 changed files with 43 additions and 18 deletions

View File

@ -26,6 +26,7 @@ IS_WINDOWS="no"
IS_LINUX="no" IS_LINUX="no"
HAVE_QTBINDINGS=1 HAVE_QTBINDINGS=1
HAVE_QT_UITOOLS=1
HAVE_64BIT_COORD=0 HAVE_64BIT_COORD=0
HAVE_QT=1 HAVE_QT=1
HAVE_QT5="" # not set HAVE_QT5="" # not set
@ -83,15 +84,18 @@ while [ "$*" != "" ]; do
shift shift
case $a in case $a in
-with-qtbinding)
HAVE_QTBINDINGS=1
;;
-without-qt) -without-qt)
HAVE_QT=0 HAVE_QT=0
;; ;;
-with-qtbinding)
HAVE_QTBINDINGS=1
;;
-without-qtbinding) -without-qtbinding)
HAVE_QTBINDINGS=0 HAVE_QTBINDINGS=0
;; ;;
-without-qt-uitools)
HAVE_QT_UITOOLS=0
;;
-with-64bit-coord) -with-64bit-coord)
HAVE_64BIT_COORD=1 HAVE_64BIT_COORD=1
;; ;;
@ -207,6 +211,7 @@ while [ "$*" != "" ]; do
echo "" echo ""
echo " -with-qtbinding Create Qt bindings for ruby scripts [default]" echo " -with-qtbinding Create Qt bindings for ruby scripts [default]"
echo " -without-qtbinding Don't create Qt bindings for ruby scripts" echo " -without-qtbinding Don't create Qt bindings for ruby scripts"
echo " -without-qt-uitools Don't include uitools in Qt binding"
echo " -with-64bit-coord Use long (64bit) coordinates - EXPERIMENTAL FEATURE" echo " -with-64bit-coord Use long (64bit) coordinates - EXPERIMENTAL FEATURE"
echo " (only available for gcc>=4.4 for 64bit build)" echo " (only available for gcc>=4.4 for 64bit build)"
echo " -without-64bit-coord Don't use long (64bit) coordinates [default]" echo " -without-64bit-coord Don't use long (64bit) coordinates [default]"
@ -604,6 +609,7 @@ qmake_options=(
PYTHONEXTSUFFIX="$PYTHONEXTSUFFIX" PYTHONEXTSUFFIX="$PYTHONEXTSUFFIX"
HAVE_PYTHON="$HAVE_PYTHON" HAVE_PYTHON="$HAVE_PYTHON"
HAVE_QTBINDINGS="$HAVE_QTBINDINGS" HAVE_QTBINDINGS="$HAVE_QTBINDINGS"
HAVE_QT_UITOOLS="$HAVE_QT_UITOOLS"
HAVE_64BIT_COORD="$HAVE_64BIT_COORD" HAVE_64BIT_COORD="$HAVE_64BIT_COORD"
HAVE_QT="$HAVE_QT" HAVE_QT="$HAVE_QT"
HAVE_QT5="$HAVE_QT5" HAVE_QT5="$HAVE_QT5"

View File

@ -1,4 +1,6 @@
include($$PWD/../../klayout.pri)
TEMPLATE = subdirs TEMPLATE = subdirs
SUBDIRS = \ SUBDIRS = \
@ -15,8 +17,8 @@ QtSql.depends += QtCore
QtDesigner.depends += QtCore QtDesigner.depends += QtCore
QtXml.depends += QtCore QtXml.depends += QtCore
contains(QT_MODULES, uitools) { equals(HAVE_QT_UITOOLS, "1") {
# Not all distributions have uitools
SUBDIRS += QtUiTools SUBDIRS += QtUiTools
QtUiTools.depends += QtCore QtUiTools.depends += QtCore
} }

View File

@ -1,4 +1,6 @@
include($$PWD/../../klayout.pri)
TEMPLATE = subdirs TEMPLATE = subdirs
SUBDIRS = \ SUBDIRS = \
@ -25,8 +27,7 @@ QtSvg.depends += QtCore QtWidgets
QtXmlPatterns.depends += QtCore QtXmlPatterns.depends += QtCore
QtXml.depends += QtCore QtXml.depends += QtCore
contains(QT_MODULES, uitools) { equals(HAVE_QT_UITOOLS, "1") {
# Not all distributions have uitools
SUBDIRS += QtUiTools SUBDIRS += QtUiTools
QtUiTools.depends += QtCore QtUiTools.depends += QtCore
} }

View File

@ -40,6 +40,15 @@ equals(HAVE_QTBINDINGS, "1") {
DEFINES += HAVE_QTBINDINGS DEFINES += HAVE_QTBINDINGS
} }
!equals(HAVE_QT_UITOOLS, "0") {
# auto-select uitools, not all distributions have it
contains(QT_MODULES, "uitools") {
HAVE_QT_UITOOLS = 1
} else {
HAVE_QT_UITOOLS = 0
}
}
equals(HAVE_64BIT_COORD, "1") { equals(HAVE_64BIT_COORD, "1") {
DEFINES += HAVE_64BIT_COORD DEFINES += HAVE_64BIT_COORD
} }
@ -164,18 +173,20 @@ equals(HAVE_QT, "0") {
equals(HAVE_QT5, "1") { equals(HAVE_QT5, "1") {
QT += designer printsupport widgets QT += designer printsupport widgets
contains(QT_MODULES, "uitools") {
# not all distributions have uitools
QT += uitools
}
equals(HAVE_QTBINDINGS, "1") { equals(HAVE_QTBINDINGS, "1") {
QT += multimedia multimediawidgets xmlpatterns svg gui QT += multimedia multimediawidgets xmlpatterns svg gui
} }
equals(HAVE_QT_UITOOLS, "1") {
QT += uitools
}
} else { } else {
CONFIG += designer uitools CONFIG += designer
equals(HAVE_QT_UITOOLS, "1") {
CONFIG += uitools
}
} }
contains(QT_MODULES, "uitools") { equals(HAVE_QT_UITOOLS, "1") {
DEFINES += HAVE_QT_UITOOLS DEFINES += HAVE_QT_UITOOLS
} }

View File

@ -5,6 +5,7 @@ include($$PWD/../../klayout.pri)
TARGET = klayout TARGET = klayout
include($$PWD/../../klayout.pri)
include($$PWD/../../app.pri) include($$PWD/../../app.pri)
include($$PWD/../../with_all_libs.pri) include($$PWD/../../with_all_libs.pri)
@ -26,7 +27,7 @@ DEPENDPATH += $$QTBASIC_INC
equals(HAVE_QTBINDINGS, "1") { equals(HAVE_QTBINDINGS, "1") {
LIBS += -lklayout_qtbasic -lklayout_QtGui -lklayout_QtXml -lklayout_QtNetwork -lklayout_QtSql -lklayout_QtDesigner LIBS += -lklayout_qtbasic -lklayout_QtGui -lklayout_QtXml -lklayout_QtNetwork -lklayout_QtSql -lklayout_QtDesigner
contains(QT_MODULES, uitools) { equals(HAVE_QT_UITOOLS, "1") {
LIBS += -lklayout_QtUiTools LIBS += -lklayout_QtUiTools
} }
equals(HAVE_QT5, "1") { equals(HAVE_QT5, "1") {

View File

@ -8,7 +8,7 @@ SOURCES = \
HEADERS += \ HEADERS += \
contains(QT_MODULES, uitools) { equals(HAVE_QT_UITOOLS, "1") {
LIBS += -lklayout_QtUiTools LIBS += -lklayout_QtUiTools
} }

View File

@ -1,4 +1,6 @@
include($$PWD/../klayout.pri)
TEMPLATE = subdirs TEMPLATE = subdirs
SUBDIRS = \ SUBDIRS = \
db \ db \
@ -20,7 +22,6 @@ SUBDIRS = \
QtSql \ QtSql \
QtWidgets \ QtWidgets \
QtDesigner \ QtDesigner \
QtUiTools \
QtMultimedia \ QtMultimedia \
QtPrintSupport \ QtPrintSupport \
QtSvg \ QtSvg \
@ -35,13 +36,16 @@ SUBDIRS = \
QtXml \ QtXml \
QtSql \ QtSql \
QtNetwork \ QtNetwork \
QtDesigner \ QtDesigner
QtUiTools
} }
} }
} }
equals(HAVE_QT_UITOOLS, "1") {
SUBDIRS += QtUiTools
}
ALL_DIRS = $$SUBDIRS ALL_DIRS = $$SUBDIRS
SUBDIRS += unit_tests SUBDIRS += unit_tests