]> git.lyx.org Git - lyx.git/commitdiff
Improved Qt framework configuration detection on macOS, add support for Qt6
authorStephan Witt <switt@lyx.org>
Sun, 24 Oct 2021 19:41:11 +0000 (21:41 +0200)
committerStephan Witt <switt@lyx.org>
Sun, 24 Oct 2021 19:41:11 +0000 (21:41 +0200)
config/qt.m4
development/LyX-Mac-binary-release.sh

index 129e2ab61c35ccf32419d729484ed4740089d784..b9ffe284a1359338a99fbef916c032aac52b3b28 100644 (file)
@@ -44,6 +44,7 @@ AC_DEFUN([QT_CHECK_COMPILE],
                qt_cv_libname=
                for libname in $qt_guilibs \
                               '-framework QtCore -framework QtConcurrent -framework QtSvg -framework QtWidgets -framework QtMacExtras -framework QtGui'\
+                              '-framework QtCore -framework QtConcurrent -framework QtSvg -framework QtSvgWidgets -framework QtWidgets -framework QtGui'\
                               '-framework QtCore -framework QtGui'
                do
                        QT_TRY_LINK($libname)
@@ -366,21 +367,27 @@ AC_DEFUN([QT_DO_MANUAL_CONFIG],
        QT_CORE_LDFLAGS=
        if test -n "$qt_cv_includes"; then
                QT_INCLUDES="-I$qt_cv_includes"
-               for i in Qt QtCore QtGui QtWidgets QtSvg QtConcurrent QtMacExtras; do
+               for i in Qt QtCore QtGui QtWidgets QtSvg QtConcurrent QtSvgWidgets QtCore5Compat QtMacExtras; do
                        QT_INCLUDES="$QT_INCLUDES -I$qt_cv_includes/$i"
+                       if test "$lyx_use_packaging" = "macosx" ; then
+                               QT_INCLUDES="$QT_INCLUDES -I$qt_cv_libraries/${i}.framework/Headers"
+                       fi
                done
                QT_CORE_INCLUDES="-I$qt_cv_includes -I$qt_cv_includes/QtCore"
        fi
        case "$qt_cv_libraries" in
-       *framework*)
-               QT_LDFLAGS="-F$qt_cv_libraries"
-               QT_CORE_LDFLAGS="-F$qt_cv_libraries"
-               ;;
        "")
                ;;
        *)
-               QT_LDFLAGS="-L$qt_cv_libraries"
-               QT_CORE_LDFLAGS="-L$qt_cv_libraries"
+               if test "$lyx_use_packaging" = "macosx" ; then
+                       QT_INCLUDES="$QT_INCLUDES -F$qt_cv_libraries"
+                       QT_CORE_INCLUDES="$QT_CORE_INCLUDES -I$qt_cv_libraries/QtCore.framework/Headers -F$qt_cv_libraries"
+                       QT_LDFLAGS="-F$qt_cv_libraries"
+                       QT_CORE_LDFLAGS="-F$qt_cv_libraries"
+               else
+                       QT_LDFLAGS="-L$qt_cv_libraries"
+                       QT_CORE_LDFLAGS="-L$qt_cv_libraries"
+               fi
                ;;
        esac
        AC_SUBST(QT_INCLUDES)
index 00b58e435edbfbc9ff9143c345de327dc97658f1..7cd3b794af96aece9b4233755b7c532773b3cded 100644 (file)
@@ -374,6 +374,10 @@ case "${QtVersion}" in
        QtLibraries=${QtLibraries:-"QtSvg QtXml QtPrintSupport QtMacExtras QtWidgets QtGui QtNetwork QtConcurrent QtCore"}
        QtFrameworkVersion="5"
        ;;
+6*)
+       QtLibraries=${QtLibraries:-"QtCore5Compat QtDBus QtSvg QtXml QtPrintSupport QtSvgWidgets QtWidgets QtGui QtNetwork QtConcurrent QtCore"}
+       QtFrameworkVersion="A"
+       ;;
 *)
        QtLibraries=${QtLibraries:-"QtSvg QtXml QtGui QtNetwork QtCore"}
        QtFrameworkVersion="4"
@@ -425,16 +429,6 @@ build_qt() {
                "${QtSourceDir}"/configure ${QtConfigureOptions} ${QTARCHS} -prefix "${QtInstallDir}"
                make -j1 && make -j1 install
        )
-       if [ -d "${QtInstallDir}" -a ! -f "${QtInstallDir}"/include/QtCore ]; then
-               cd "${QtInstallDir}" && (
-                       mkdir -p include
-                       cd include
-                       for libnm in ${QtLibraries} ; do
-                               test -d ${libnm} -o -L ${libnm} || \
-                               ( ln -s ../lib/${libnm}.framework/Headers ${libnm} && echo Link to framework ${libnm} )
-                       done
-               )
-       fi
 }
 
 case ${QtOnlyPackage:-"no"} in
@@ -697,7 +691,7 @@ build_lyx() {
                mkdir -p "${LyxBuildDir}" && cd "${LyxBuildDir}"
 
                CPPFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYCFLAGS}"
-               LDFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYLDFLAGS} -F${QtInstallDir}/lib"
+               LDFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYLDFLAGS}"
 
                if [ "$configure_qt_frameworks" = "yes" ]; then
                        export QT_CORE_CFLAGS="-FQtCore"