[KDE/Mac] Review Request 122279: [OS X] make it build on OS X. Again ...

René J.V. Bertin rjvbertin at gmail.com
Tue Jan 27 18:05:05 UTC 2015


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

Review request for KDE Software on Mac OS X and Yichao Yu.


Repository: qtcurve


Description
-------

Two regressions were exposed/introduced by the recent efforts to make the code build even on systems without X11, notably OS X.

- When KDE4 is installed (for instance through MacPorts) and KDE4 support is activated, a KDE header is included (kapplication.h) that has its own "stub" typedef for the `Display` type. Only it defines the type to be a `void*` rather than using the definition XOrg uses. 
I have proposed to change that in kdelibs, but in the meantime it is safer to avoid typedef'ing DISPLAY on OS X, and use a different function prototype for the 2 function prototypes in `x11base.h` that require it.
This does not appear to be an issue when building for GTk2/X11 on OS X.

- When building against a non-MacPorts (or Fink, or HomeBrew) Qt install, X headers will typically not be available. The toplevel CMake file catches that and includes a minimal stub from the QtCurve source tree, but *not* when the user has set `QTC_ENABLE_X11=Off`.
This patch adds the forgotten `includes_directories` statement, and adds the `SYSTEM` keyword in both cases because the xcb.h header is included as a system header using `#include <xcb/xcb.h>` (i.e. with sharp brackets and not double quotes).

I've also corrected a small typo in the CMake file.


Diffs
-----

  CMakeLists.txt 9bc4c3d 
  lib/utils/x11base.h 7c41223 

Diff: https://git.reviewboard.kde.org/r/122279/diff/


Testing
-------

On OS X against Qt4+KDE 4.14.4, GTk2/X11 and Qt 5.4.0 ("Qt only") all from MacPorts.
On OS X against Qt 5.4.0 installed through Digia's installer.

FWIW, my Qt 5.4.0/MacPorts install has both the regular "Cocoa" platform plugin and the xcb platform plugin. QtCurve works with both, and with the xcb plugin on local and remote X11 displays.


Thanks,

René J.V. Bertin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-mac/attachments/20150127/a155d39a/attachment.html>


More information about the kde-mac mailing list