[Marble-devel] Review Request 127649: [OS X] build in a more "traditional" way (for distribution systems like MacPorts, Fink etc)

René J.V. Bertin rjvbertin at gmail.com
Sat Jun 18 11:13:02 UTC 2016


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127649/#review96676
-----------------------------------------------------------



question to /self and anyone who has the answer handy.


CMakeLists.txt (line 53)
<https://git.reviewboard.kde.org/r/127649/#comment65323>

    Can one initialise this option something like
    
    ```
    option(APPLE_STANDALONE_BUNDLE "Generate a standalone app bundle when building on Apple's OS X" ${APPLE})
    ```
    
    or would that require an if/else?


- René J.V. Bertin


On May 3, 2016, 10:32 p.m., René J.V. Bertin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127649/
> -----------------------------------------------------------
> 
> (Updated May 3, 2016, 10:32 p.m.)
> 
> 
> Review request for KDE Software on Mac OS X and Marble.
> 
> 
> Repository: marble
> 
> 
> Description
> -------
> 
> Disclaimer: the patch as presented is currently a hack that only shows what is done, not how to do it properly. I'll clean it up if there is interest in incorporating this as a selectable option.
> 
> That being said, here's the point.
> Marble currently aims to build 1 or 2 more or less standalone app bundles when being built on Mac OS X. There is nothing wrong with that, but it presents a problem for distribution systems like MacPorts or Fink or HomeBrew that aim to share libraries among packages and to remain as close as possible to the runtime context for which packages were designed (i.e. XDG/Freedesktop). Evidently the goal is not to replace the OS X desktop with a Plasma shell; rather, the idea is that the feature set will be most complete and maintenance will be easiest when differences like where resources are to be found are as small as possible. Think of it as running KDE applications installed with their dependencies in some separate prefix, under e.g. a Gnome, XFCE or even a "bare-bones X11" desktop environment.
> 
> The patch achieves this by disabling all APPLE-specific things in the CMake files except for the required frameworks (Apple's, not KF5), currently by replacing APPLE with the unknown APPEL token.
> The result is that there is still an app bundle that is created, for the KF5-based marble (but not for marble-qt though that ought to be possible too). A few additional lines create and install an application icon for marble.app . Everything else is installed in its usual location under the prefix.
> 
> I would assume that this is more or less a prerequisite to build a package like digiKam which can use libMarble ... which would be a lot less evident if that library is hidden in a relocatable app bundle.
> 
> If there is a chance that this patch is accepted I'd propose replacing the APPEL hack with a variable like `option(BUILD_APPLE_APPBUNDLE,"build app bundle(s)" YES)`.
> 
> 
> Diffs
> -----
> 
>   CMakeLists.txt a2fd21e 
>   src/CMakeLists.txt ade1bce 
>   src/apps/marble-kde/CMakeLists.txt ea2c39f 
>   src/apps/marble-mobile/main.cpp e612b4f 
>   src/apps/marble-qt/CMakeLists.txt 96ee766 
>   src/apps/marble-qt/qtmain.cpp b66ad63 
>   src/lib/astro/CMakeLists.txt 21b3fbe 
>   src/lib/marble/AbstractFloatItem.cpp 4506405 
>   src/lib/marble/CMakeLists.txt ee39e4d 
>   src/lib/marble/MarbleDirs.cpp c7d3c62 
>   src/lib/marble/geodata/data/GeoDataFeature.cpp 2953e37 
>   src/lib/marble/geodata/data/GeoDataLabelStyle.cpp cace904 
>   src/plugins/render/graticule/GraticulePlugin.cpp 6a64188 
>   src/plugins/render/measure/MeasureToolPlugin.cpp 26cf4d9 
>   src/plugins/render/weather/WeatherItem.cpp 766cbca 
>   src/plugins/runner/kml/CMakeLists.txt 8ed0ea4 
>   src/plugins/runner/osm/CMakeLists.txt 12b48a4 
>   src/plugins/runner/shp/CMakeLists.txt 3aebc5c 
>   tests/CMakeLists.txt d0db4d6 
> 
> Diff: https://git.reviewboard.kde.org/r/127649/diff/
> 
> 
> Testing
> -------
> 
> On OS X 10.9.5, with Qt 5.6 and FWs 5.20.0, installed under /opt/local
> 
> 
> Thanks,
> 
> René J.V. Bertin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/marble-devel/attachments/20160618/98688405/attachment.html>


More information about the Marble-devel mailing list