OpenSceneGraph/src/osgViewer
Robert Osfield c2ae14f94d From Erik den Dekker, "
IF(${CMAKE_OSX_SYSROOT} STREQUAL "/Developer/SDKs/MacOSX10.7.sdk")
...

            ELSEIF(${CMAKE_OSX_SYSROOT} STREQUAL "/Developer/SDKs/MacOSX10.5.sdk" OR ${CMAKE_OSX_SYSROOT} STREQUAL "/Developer/SDKs/MacOSX10.6.sdk")

...

ELSEIF(EXISTS /Developer/SDKs/MacOSX10.4u.sdk)
...

            ELSE()

...

            ENDIF()


Which is fragile because XCode could be installed into another directory than /Developer. (In case XCode is not installed into the /Developer directory CMake can automatically resolve the path via command line utility ${CMAKE_XCODE_SELECT} --print-path)

This issue bites me currently because the latest XCode (Version 4.3.1 - 4E1019) installed through the Mac App Store is per default installed in "/Applications/Xcode.app/Contents/Developer" and hence the 10.7 SDK in "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk"

Searching the web to find the proper way to determine the version of the Platform SDK programmatically, I found no standard way. I came up with 2 options myself:

1) Parse the path string to extract the version number

2) Read a value from the SDKSettings.plist found in the root of each SDK  (e.g., "defaults read ${CMAKE_OSX_ROOT}/SDKSettings.plist CanonicalName" gives "macosx10.7")

I implemented the last option and verified that at least the following Mac OS SDKs (10.3.9, 10.4, 10.5, 10.6, 10.7) support this method. It also looks reasonably future proof. An additional benefit of this method is that it also seems to be compatible with iOS and iOS Simulator SDKs (at least for version 5.1, but I assume this also applies to older versions). This is interesting because the CMake infrastructure to build OSG for iOS currently still contains similar hard-coded paths and even requires you to manually change the cmake file to build for another iOS SDK version. In the near future I hope to address these issues, but I haven't been able to try this yet."
2012-03-23 10:18:27 +00:00
..
CMakeLists.txt From Erik den Dekker, " 2012-03-23 10:18:27 +00:00
CompositeViewer.cpp Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
DarwinUtils.h Fixed permissions 2010-06-03 16:02:01 +00:00
DarwinUtils.mm From Ulrich Hertlein, Added some error checks and memory cleanup. 2011-09-12 16:24:08 +00:00
GraphicsWindow.cpp From Jan Peciva, "please find attached proposed fix for ON_DEMAND rendering. The biggest issue was 2011-04-19 12:01:38 +00:00
GraphicsWindowCarbon.cpp Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
GraphicsWindowCocoa.mm From Stephan Huber, "attached you'll find a first version of multi-touch-support for OS X (>= 2012-02-03 15:15:37 +00:00
GraphicsWindowIOS.mm From Thomas Hogarth, build fix for IOS build 2012-02-28 10:21:21 +00:00
GraphicsWindowWin32.cpp Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
GraphicsWindowX11.cpp Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
HelpHandler.cpp Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
IOSUtils.h Removed executable permission. 2011-06-14 09:11:58 +00:00
IOSUtils.mm From Stephan Huber, " 2012-02-10 17:24:08 +00:00
PixelBufferCarbon.cpp Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
PixelBufferCocoa.mm Removed inappropriate warning 2012-03-20 12:01:02 +00:00
PixelBufferWin32.cpp Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
PixelBufferX11.cpp Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
Renderer.cpp Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
Scene.cpp Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
ScreenCaptureHandler.cpp Fixed a range of issues reported by cppcheck: 2011-06-20 19:15:53 +00:00
StatsHandler.cpp Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
Version.cpp Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
View.cpp Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
Viewer.cpp Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00
ViewerBase.cpp Moved setEndBarrierOperation(..) implementation into .cpp and added support for stoppig and starting threading if required. 2012-01-24 17:30:44 +00:00
ViewerEventHandlers.cpp Ran script to remove trailing spaces and tabs 2012-03-21 17:36:20 +00:00