1. 08 Aug, 2020 1 commit
  2. 05 Aug, 2020 1 commit
  3. 10 May, 2017 1 commit
    • Friedrich W. H. Kossebau's avatar
      Fix installation folder for qm files in KDE Apps release settings · aab38315
      Friedrich W. H. Kossebau authored
      Summary:
      Old CMake code for estimating the installation dir of the qm files
      was broken, did not match where the code is looking and thus the
      traditional path as used before by the separate KDE Application
      translation release tarballs as well code using libmarblewidget
      and explicitely loading the translation with ecm_create_qm_loader,
      as it is needed.
      
      Test Plan:
      Works now for installation on Linux.
      Android only theoretically tested ;)
      Windows & macOS... no idea
      
      Reviewers: rahn, nienhueser, ltoscano
      
      Reviewed By: nienhueser
      
      Differential Revision: https://phabricator.kde.org/D5792
      aab38315
  4. 01 May, 2017 1 commit
    • Friedrich W. H. Kossebau's avatar
      Support translation catalogs added in KDE Application release tarball · 746d3138
      Friedrich W. H. Kossebau authored
      Summary:
      Starting with KDE Applications 17.04 the po files for the translations
      are now added to the tarball of the sources they belong to, instead of
      being released separately.
      The release script also makes the assumption that all KDE Applications
      use CMake, ECM and KI18n and simply inject the lines
      ecm_install_po_files_as_qm(poqm)
      ki18n_install(po)
      to the end of the toplevel CMakeLists.txt.
      
      Which does not work for Marble. To solve this, the release script
      creating the KDE Applications tarballs gives Marble some special handling.
      
      Additionally Marble's buildsystem needs to handle the case of Qt-only
      building, where both macros are not available.
      
      This patch solves this for now  by using a custom macro for the po->qm files,
      and (in a temporary hacky way) calling ki18n_install in a subdir
      where the macro is known due to linking against KI18n and which will be
      skipt in qt-only builds.
      
      For that this patch moves the existing code for handling the
      po->qm translations for the bundle packaging of marble-maps into the
      global MarbleMacros.cmake file and adapts it, so it can be reused also
      for the release tarball po->qm files.
      
      Test Plan:
      Without po and poqm file build works as before.
      Copied the po and poqm files from the released tarballs into the
      toplevel dir, qm & mo files were created and installed as they should.
      
      Custom bundle_translations target also works as before.
      
      Reviewers: rahn, nienhueser, ltoscano, aacid
      
      Reviewed By: nienhueser
      
      Differential Revision: https://phabricator.kde.org/D5648
      746d3138
  5. 14 Nov, 2016 1 commit
    • Friedrich W. H. Kossebau's avatar
      Set RPATH to custom dirs of own and foreign libs; no linking to build dir · c816a2bc
      Friedrich W. H. Kossebau authored
      Summary:
      When installing marble to a non-standard system directory
      the executable loader needs to be informed about the location of the
      marble libraries. Until now for marble executables this needs to be done
      via the env var LD_LIBRARY_PATH, which has the disadvantage of needing
      to be done as explicit separate step and also affects other executables
      which see this env var.
      Instead the custom locations of linked libraries can be tagged within
      the executable, via the RPATH (or RUNPATH) entries, which then is
      automatically available and also only valid for the given executable.
      
      Libmarblewidget only works with data & plugins in installation folders.
      So when running executables from the build dir (apps, tools, tests)
      linked to libraries from the build dir, for one things might not work
      due to not yet installed data/plugins. Or there are API/ABI-related
      changes done but without reinstallation, so installed plugins and
      libraries in the build dir are incompatible and will fail with
      strange behaviour.
      To protect against that some more when linking the executables
      in the build dir the RPATH can be set already to the installation
      location only, so the versions of the libraries in the build dir
      will not be seen and at least libraries and plugins are consistent.
      
      More info e.g. here:
      https://cmake.org/Wiki/CMake_RPATH_handling
      http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
      
      Reviewers: rahn, shentey, nienhueser, #marble
      
      Reviewed By: nienhueser, #marble
      
      Differential Revision: https://phabricator.kde.org/D3358
      c816a2bc
  6. 07 Aug, 2016 1 commit
  7. 24 Apr, 2016 1 commit
    • Friedrich W. H. Kossebau's avatar
      Use Qt5::* notation with target_link_libraries, & PUBLIC/PRIVATE interfaces · 10aab9db
      Friedrich W. H. Kossebau authored
      Summary:
      Qt5::* notation is the usual way to refer to the imported cmake targets
      representing the Qt5 modules/libs.
      
      PUBLIC & PRIVATE link interfaces help to speed up compilation & linking,
      because libs listed in PRIVATE will stay implementation detail of the lib
      and not result in consumers of the lib also having those libs in the link
      list. And it also reduces the amount of includes used, so less dirs to
      search headers in.
      To allow SailfishOS 2.0 builds, which has older cmake, still use
      LINK_PUBLIC/LINK_PRIVATE for now
      
      Reviewers: rahn, nienhueser
      
      Reviewed By: nienhueser
      
      Differential Revision: https://phabricator.kde.org/D1438
      10aab9db
  8. 17 Apr, 2016 1 commit
  9. 22 Oct, 2015 1 commit
  10. 30 Jul, 2015 1 commit
  11. 16 Jul, 2015 1 commit
    • Dennis Nienhüser's avatar
      Fix automoc related cmake warnings · ba768c96
      Dennis Nienhüser authored
      Fixes warnings about using automoc in relaxed mode which was required
      for keeping compatibility with older cmake versions. Minimum cmake
      version is now 2.8.6.
      
      REVIEW: 124333
      ba768c96
  12. 01 Jun, 2015 1 commit
    • Dennis Nienhüser's avatar
      Port to KDE Frameworks 5. · cf115885
      Dennis Nienhüser authored
      Squashed commit of the kde-frameworks-5 branch, which consisted of
      commit 5f8db001 (message repeated below) and some other minor ones.
      
      Affects apps/marble-kde, bindings (not tested), doc, plasmarunner,
      plasmoid (deactivated as ktimezonewidget is now gone), thumbcreator.
      
      Also cleans up cmake files: The QTONLY options is gone completely.
      KDE parts are only included where necessary, most notably not in
      src/lib. Since users might still pass it, QTONLY=TRUE is forwarded
      to WITH_KF5=FALSE which matches the old behavior most closely. The new
      behavior is better by default however, not erroring out if KF5 is
      missing, but instead building Qt parts only.
      Additionally the QT5BUILD option is sanitized to behave as originally
      planned: You don't have to pass it anymore when both Qt4 and Qt5 are
      installed, but cmake figures out which of the two to use and the other
      one is disabled (does not interfere anymore).
      
      Compiles without warnings (aside automoc) and without kde4support
      libraries. I'm pretty sure however that I broke some parts at runtime
      for now, e.g. config saving and installation/loading of some parts.
      I18n is not tested as well. Needs to be taken care of in subsequent
      commits.
      cf115885
  13. 03 Apr, 2015 1 commit
  14. 17 Nov, 2013 1 commit
    • Dennis Nienhüser's avatar
      Revert "Reuse MARBLE_PLUGIN_INSTALL_PATH." · 77546c4a
      Dennis Nienhüser authored
      Note that this will break a cmake install when using a local
      install path and QTONLY=TRUE, so needs a better approach in
      the future. Workarounds are using sudo/root for make install
      or disabling designer plugins (WITH_DESIGNER_PLUGIN=FALSE)
      
      This reverts commit 2773f06a.
      
      CCBUG: 327690
      77546c4a
  15. 03 Nov, 2013 1 commit
    • Dennis Nienhüser's avatar
      Directory structure reorganization · 1a0dbc18
      Dennis Nienhüser authored
      Moves files and directories:
      1) src/lib => src/lib/marble
      2) src/*marble-qt related* => src/apps/marble-qt
         src/*marble (KDE) related* => src/apps/marble-kde
         src/qt-components/marble-touch => src/apps/marble-touch
      
      1) is a preparation to align the structure of installed headers with
      the structure of the library sources, so that we can build tools and
      examples in the same go and detect API changes early.
      2) results in a much more tidy src/ and more intuitive location of the
      sources of the respective applications.
      
      REVIEW: 112114
      1a0dbc18
  16. 02 Nov, 2013 1 commit
  17. 30 Oct, 2013 1 commit
    • 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
  18. 20 Oct, 2013 1 commit
  19. 29 Aug, 2013 1 commit
  20. 11 Jan, 2013 1 commit
  21. 31 Dec, 2012 1 commit
  22. 30 Nov, 2012 1 commit
    • Pino Toscano's avatar
      make tests compilable also when compiling with kdelibs · ab1e36d6
      Pino Toscano authored
      - set BUILD_MARBLE_TESTS according to KDE4_BUILD_TESTS
      - introduce a new marble_add_qtonly_test, similar to marble_add_test, to compile a test only in QTONLY mode
      - setup the kde4 include directories
      - define -DQT_GUI_LIB to make QtTest aware that they are gui tests
      - compile TestGeoSceneWriter and MercatorProjectionTest only in QTONLY mode, as they use internal classes (not exported, so unavailable when symbol visibility is used)
      
      REVIEW: 107474
      ab1e36d6
  23. 28 Nov, 2012 2 commits
    • Pino Toscano's avatar
      make tests compilable also when compiling with kdelibs · 6d8a4709
      Pino Toscano authored
      - set BUILD_MARBLE_TESTS according to KDE4_BUILD_TESTS
      - introduce a new marble_add_qtonly_test, similar to marble_add_test, to compile a test only in QTONLY mode
      - setup the kde4 include directories
      - define -DQT_GUI_LIB to make QtTest aware that they are gui tests
      - compile TestGeoSceneWriter and MercatorProjectionTest only in QTONLY mode, as they use internal classes (not exported, so unavailable when symbol visibility is used)
      
      REVIEW: 107474
      6d8a4709
    • Dennis Nienhüser's avatar
      Build status summary in cmake runs · b99121f6
      Dennis Nienhüser authored
      Uses the FeatureSummary module of cmake and should be
      backwards-compatible to early 2.8.x versions (maybe also 2.6?) versions
      thanks to the marble_set_package_properties macro.
      
      REVIEW: 107465
      b99121f6
  24. 17 Jul, 2012 1 commit
    • Michael Palimaka's avatar
      Make automagic dependencies controllable. · 93831398
      Michael Palimaka authored
      Instead of building plugins unconditionally if the required dependency
      is found, make it possible to choose at configure time.
      
      The macro macro_optional_find_package is bundled to support Qt-only builds,
      but is conditionally defined in that circumstance.
      
      REVIEW: 105598
      93831398
  25. 06 Jun, 2012 1 commit
  26. 11 Sep, 2011 1 commit
    • Dennis Nienhüser's avatar
      Install decl. plugins in CMAKE_INSTALL_PREFIX unless /usr/local is used · a58a2cc5
      Dennis Nienhüser authored
      Declarative plugins are loaded by Qt from cwd, QLibraryInfo::ImportsPath
      and QML_IMPORT_PATH. Setting up the latter is inconvenient for users,
      so we try to avoid it:
      - When CMAKE_INSTALL_PREFIX is in line with QML_IMPORTS_PATH, be happy
      - When CMAKE_INSTALL_PREFIX is /usr/local (default), install to
      QML_IMPORTS_PATH (cmake, something like /usr/lib/qt4/imports) even if
      that is out of CMAKE_INSTALL_PREFIX and be quiet about it to avoid
      confusing people reading the compile output.
      - When CMAKE_INSTALL_PREFIX is different (e.g. in $HOME), respect it
      when installing to avoid permission problems and instruct the user to
      setup the QML_IMPORT_PATH environment variable.
      a58a2cc5
  27. 06 Sep, 2011 1 commit
  28. 27 Jul, 2011 1 commit
  29. 09 Jan, 2011 1 commit
  30. 11 Nov, 2010 1 commit
  31. 08 Jun, 2010 1 commit
  32. 09 Feb, 2009 2 commits
  33. 09 Jul, 2008 1 commit
  34. 03 Jul, 2008 1 commit
  35. 13 Jun, 2008 1 commit