Skip to content
  • Michael Zanetti's avatar
    Support for Qt5. · 834c04d3
    Michael Zanetti authored
    Adds support for compiling against Qt5. This affects the Marble library
    and the Marble Qt Desktop application. When compiling against Qt5,
    the Marble KDE Desktop application is not build (porting to KDE
    frameworks 5 is yet to be done).
    
    If both Qt4 and Qt5 are installed on the system, Qt4 is chosen by
    default. It can be overriden using the QT5BUILD=TRUE cmake variable.
    When building against Qt5, cmake will emit lots of
    CMAKE_AUTOMOC_RELAXED_MODE related warnings. Please ignore them.
    
    REVIEW: 113392
    FEATURE:
    
    Squashed commit of the following:
    
    commit 90286f9a
    Merge: b47483d2 2773f06a
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Wed Oct 30 18:18:27 2013 +0100
    
        Merge branch 'master' into qt5
    
    commit b47483d2
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Wed Oct 23 10:53:18 2013 +0200
    
        Have cmake set fpic option
    
        Hopefully it is smart enough to determine the correct setting based
        on operating system / compiler. Might suppress warning messages in
        windows/mingw.
    
    commit 04acc49b
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Wed Oct 23 09:07:18 2013 +0200
    
        Link against qt sql libraries
    
    commit 9a7e86de
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Oct 20 19:42:44 2013 +0200
    
        Determine build flags automatically where possible.
    
        - If Qt4 is not installed, but Qt5 is, do a QT5BUILD automatically
        - If both Qt4 and Qt5 are installed, use Qt4 unless user sets QT5BUILD
        - When doing QT5BUILD, do a QTONLY build (KDE frameworks 5 support tbd)
    
    commit 6600b366
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Oct 20 18:50:44 2013 +0200
    
        Reuse MARBLE_PLUGIN_INSTALL_PATH.
    
        Do not handle KDE vs Qt build specially wrt plugin install path. Also
        enables non-system installation for QTONLY=OFF width designer plugins.
    
    commit 94270cf0
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Oct 20 18:50:24 2013 +0200
    
        Remove duplicate macro
    
    commit b6c66aa9
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Oct 20 18:49:51 2013 +0200
    
        Support building qt designer plugins with qt5
    
    commit 43ac9240
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Oct 20 17:22:16 2013 +0200
    
        Fix typo
    
    commit 2f52806b
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Oct 20 17:18:25 2013 +0200
    
        Don't use NULL. Use 0.
    
    commit c75c1998
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Oct 20 17:11:10 2013 +0200
    
        Fix typo
    
    commit 75c0e416
    Merge: 2788ad89 a356329a
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Oct 20 17:06:30 2013 +0200
    
        Merge branch 'master' into qt5
    
    commit 2788ad89
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Oct 20 14:35:20 2013 +0200
    
        Include marble_export.h for the Q_PLUGIN_METADATA definition with qt4
    
    commit 7696304f
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Oct 20 14:22:22 2013 +0200
    
        Move if() clauses out of include_directories command.
    
        Not sure if newer cmake versions allow that syntax, but the statements
        end up as-is in include directory commands here (cmake 2.8.11.2) which
        confuse g++.
    
    commit f32eda23
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Oct 20 14:20:18 2013 +0200
    
        Fix class name in typedef
    
    commit 90d113b9
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Oct 20 14:01:11 2013 +0200
    
        Remove -qt=qt5 option which is unknown to qmake in qt 5.0 at least
    
    commit 59d45806
    Merge: fce79d75 b5acbb90
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Oct 20 11:29:11 2013 +0200
    
        Merge branch 'master' into qt5
    
        Conflicts:
        	src/plugins/CMakeLists.txt
        	src/plugins/qt-components/CMakeLists.txt
        	src/plugins/qt-components/QtComponentsPlugin.h
        	src/qt-components/marble-touch/CMakeLists.txt
    
    commit fce79d75
    Author: Michael Zanetti <michael_zanetti@gmx.net>
    Date:   Sun Sep 22 21:40:01 2013 +0200
    
        fix qml components install dir for Qt5
    
    commit 82ea5526
    Author: Michael Zanetti <michael_zanetti@gmx.net>
    Date:   Tue Sep 17 22:44:55 2013 +0200
    
        make marble-touch compile with qt5
    
    commit 763837ff
    Merge: 8f8a6834 63294506
    Author: Michael Zanetti <michael_zanetti@gmx.net>
    Date:   Tue Sep 17 21:46:06 2013 +0200
    
        Merge branch 'master' into qt5
    
        Conflicts:
        	src/lib/StackedTile.cpp
    
    commit 8f8a6834
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Sep 1 16:44:12 2013 +0200
    
        QtMobility only works with Qt4
    
    commit c1f8c6f6
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Sep 1 16:39:52 2013 +0200
    
        Port roleNames() to Qt5
    
    commit e29cc404
    Merge: 4c9ba04b 5543d999
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Sep 1 16:29:28 2013 +0200
    
        Merge branch 'master' into qt5
    
        Conflicts:
        	src/lib/NewstuffModel.h
        	src/lib/routing/SpeakersModel.h
        	src/plugins/declarative/MapThemeModel.cpp
        	src/plugins/declarative/MapThemeModel.h
    
    commit 4c9ba04b
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Fri Aug 30 20:12:30 2013 +0200
    
        Guard QT_USE_FILE include against Qt5 build. Add missing include dir.
    
    commit 77bd5705
    Author: Michael Zanetti <mzanetti@kde.org>
    Date:   Thu Aug 29 23:29:56 2013 +0200
    
        ported tests to Qt 5
    
    commit f5b7e6ac
    Author: Michael Zanetti <mzanetti@kde.org>
    Date:   Thu Aug 29 22:05:51 2013 +0200
    
        all plugins ported to Qt5 (components plugin's QML files not ported yet)
    
    commit ae390969
    Author: Michael Zanetti <mzanetti@kde.org>
    Date:   Thu Aug 29 21:54:47 2013 +0200
    
        marble-mobile ported to Qt5
    
    commit 22cd33d6
    Merge: db5fec5e eb4206dc
    Author: Michael Zanetti <mzanetti@kde.org>
    Date:   Thu Aug 29 21:38:33 2013 +0200
    
        Merge branch 'master' into qt5
    
        Conflicts:
        	MarbleMacros.cmake
        	src/CMakeLists.txt
        	src/lib/CMakeLists.txt
        	src/plugins/render/earthquake/CMakeLists.txt
        	src/plugins/render/elevationprofilefloatitem/CMakeLists.txt
        	src/plugins/render/elevationprofilemarker/CMakeLists.txt
        	src/plugins/render/navigation/CMakeLists.txt
        	src/plugins/render/opendesktop/CMakeLists.txt
    
    commit db5fec5e
    Author: Michael Zanetti <mzanetti@kde.org>
    Date:   Thu Aug 29 21:32:25 2013 +0200
    
        ported runner plugins to Qt5
    
    commit e7898acf
    Author: Michael Zanetti <mzanetti@kde.org>
    Date:   Sun Aug 25 16:26:26 2013 +0200
    
        don't use QDeclarative typedefs in headers
    
    commit 46c614fd
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Aug 25 15:28:26 2013 +0200
    
        Provide Q_PLUGIN_METADATA needed for plugin loading with qt5
    
    commit 0c1a3d42
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Aug 25 15:27:15 2013 +0200
    
        Phonon only works with Qt4.
    
        Including it anyway leads to linking against both qt4 and qt5 which
        results in a segfault at runtime during plugin loading.
    
    commit b457c410
    Author: Dennis Nienhüser <earthwings@gentoo.org>
    Date:   Sun Aug 25 15:09:47 2013 +0200
    
        Fix declarative plugin installation path
    
    commit 87dd04a0
    Author: Michael Zanetti <mzanetti@kde.org>
    Date:   Sun Aug 25 14:34:05 2013 +0200
    
        make new cloudsync code work with Qt5
    
    commit c15282ba
    Merge: 49c2920e 39727c59
    Author: Michael Zanetti <mzanetti@kde.org>
    Date:   Sun Aug 25 14:30:43 2013 +0200
    
        Merge branch 'master' into qt5
    
        Conflicts:
        	CMakeLists.txt
        	src/lib/AbstractDataPluginModel.cpp
        	src/lib/ServerLayout.cpp
        	src/tilecreator/CMakeLists.txt
    
    commit 49c2920e
    Author: Michael Zanetti <mzanetti@kde.org>
    Date:   Sun Aug 25 14:03:36 2013 +0200
    
        typdef QDeclarative -> QQml/QQuick as much as possible
    
    commit b48c6a90
    Author: Michael Zanetti <mzanetti@kde.org>
    Date:   Sun Aug 25 13:53:19 2013 +0200
    
        remove debug message
    
    commit 485dfc56
    Author: Michael Zanetti <mzanetti@kde.org>
    Date:   Sun Aug 25 13:51:30 2013 +0200
    
        finish porting plugins to Qt5
    
    commit aab97586
    Author: Michael Zanetti <mzanetti@kde.org>
    Date:   Wed Aug 21 23:47:40 2013 +0200
    
        compiles and runs with Qt5. Plugins and tests disabled for now.
    
    commit f5adf6ee
    Author: Michael Zanetti <mzanetti@kde.org>
    Date:   Sun Aug 4 16:26:18 2013 +0200
    
        use cmake automoc for cmake version >= 2.8 and QT5
    834c04d3