Wireshark-dev: [Wireshark-dev] Building under OSX Yosemite using cmake

From: David Ameiss <netshark@xxxxxxxxxxxxx>
Date: Mon, 10 Nov 2014 14:43:15 -0600
I've run into some issues building on OSX Yosemite with Xcode 6.1 and cmake. Fortunately, I seem to have solved them...

- Qt 5.2.1 doesn't build properly on Yosemite (can't recall the specific error offhand), but Qt 5.3.2 builds (and seems to work) fine

- With the Xcode 6.1 command-line tools for Yosemite, for some reason "-I/System/Library/Frameworks/Kernel.framework/headers" gets put into the command line. This causes a whole raft of strange compile problems, apparently since the headers in that location are not complete. I did not run into this issue under Mavericks. I was able to work around this problem by adding "-D CMAKE_FIND_FRAMEWORK=LAST" to the cmake command line. This does not appear to be necessary under Mavericks.

- CFPropertyListCreateFromStream() has been deprecated in Yosemite, in favor of CFPropertyListCreateWithStream(). The autotools build checks for this function, and sets HAVE_CFPROPERTYLISTCREATEWITHSTREAM appropriately - but the cmake build does not. I have submitted a change to fix this: https://code.wireshark.org/review/#/c/5226/ I'm not sure the location of the added test is correct, so whoever reviews it - feel free to move it to the right place. ConfigureChecks.cmake seemed to be the appropriate place, but I don't know enough about cmake to know if APPLE_CORE_FOUNDATION_LIBRARY would be visible there.

- Related to Bug 10640... not only does upgrading from Mavericks to Yosemite break the /usr/X11 link, it also breaks the /usr/X11R6 link (/usr/X11R6 --> /opt/X11), which prevents <cairo.h> from being located. Simply "ln -s /opt/X11 /usr/X11R6" to fix this one.

--
David Ameiss
netshark@xxxxxxxxxxxxx