--- CMake/Packages/FindOGRE.cmake.orig	2011-05-08 20:28:04.000000000 +0200
+++ CMake/Packages/FindOGRE.cmake	2011-11-28 03:24:52.000000000 +0100
@@ -68,6 +68,13 @@
   set(OGRE_LIB_SUFFIX "")
 endif ()
 
+if (APPLE AND OGRE_STATIC)
+  # If OGRE_STATIC, force CMake to select static versions
+  # of dependent libraries on MacOS X
+  SET(OLD_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
+  SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a;.framework")
+endif(APPLE AND OGRE_STATIC)
+
 
 set(OGRE_LIBRARY_NAMES "OgreMain${OGRE_LIB_SUFFIX}")
 get_debug_names(OGRE_LIBRARY_NAMES)
@@ -144,9 +151,11 @@
 # try to locate Ogre via pkg-config
 use_pkgconfig(OGRE_PKGC "OGRE${OGRE_LIB_SUFFIX}")
 
-if(NOT OGRE_BUILD_PLATFORM_IPHONE)
-  # try to find framework on OSX
-  findpkg_framework(OGRE)
+if(APPLE AND NOT OGRE_BUILD_PLATFORM_IPHONE)
+  if (NOT OGRE_STATIC)
+    # try to find framework on OSX
+    findpkg_framework(OGRE)
+  endif()
 else()
 	set(OGRE_LIBRARY_FWK "")
 endif()
@@ -258,10 +267,9 @@
     endif ()
   endif ()
 
-  set(OGRE_LIBRARIES ${OGRE_LIBRARIES} ${OGRE_LIBRARY_FWK} ${ZZip_LIBRARIES} ${ZLIB_LIBRARIES} 
-    ${FreeImage_LIBRARIES} ${FREETYPE_LIBRARIES} 
-    ${X11_LIBRARIES} ${X11_Xt_LIBRARIES} ${XAW_LIBRARY} ${X11_Xrandr_LIB}
-    ${Cocoa_LIBRARIES} ${Carbon_LIBRARIES})
+  list(APPEND OGRE_LIBRARIES
+    ${ZZip_LIBRARIES} ${ZLIB_LIBRARIES}
+    ${FreeImage_LIBRARIES} ${FREETYPE_LIBRARIES})
 
   if (NOT ZLIB_FOUND OR NOT ZZip_FOUND)
     set(OGRE_DEPS_FOUND FALSE)
@@ -274,10 +282,22 @@
   endif ()
   if (UNIX AND NOT APPLE)
 	if (NOT X11_FOUND)
-      set(OGRE_DEPS_FOUND FALSE)
+	  set(OGRE_DEPS_FOUND FALSE)
 	endif ()
+
+	list(APPEND OGRE_LIBRARIES
+	  ${X11_LIBRARIES} ${X11_Xt_LIBRARIES} ${XAW_LIBRARY} ${X11_Xrandr_LIB})
   endif ()
 
+  if (APPLE)
+    list(APPEND OGRE_LIBRARIES
+      ${Cocoa_LIBRARIES} ${Carbon_LIBRARIES})
+      # If FreeType is found on MacOS X, it has a hidden
+      # dependency on libbzip2
+      FIND_PACKAGE(BZip2 REQUIRED)
+      list(APPEND OGRE_LIBRARIES ${BZIP2_LIBRARIES})
+  endif()
+
   if (OGRE_CONFIG_THREADS)
     if (OGRE_CONFIG_THREAD_PROVIDER EQUAL 1)
       find_package(Boost COMPONENTS thread QUIET)
@@ -532,3 +552,7 @@
 find_path(OGRE_MEDIA_DIR NAMES packs/cubemapsJS.zip HINTS ${OGRE_MEDIA_SEARCH_PATH}
   PATHS ${OGRE_PREFIX_PATH} PATH_SUFFIXES ${OGRE_MEDIA_SEARCH_SUFFIX})
 
+if (APPLE AND OGRE_STATIC)
+  # Restore old CMAKE_FIND_LIBRARY_SUFFIXES on MacOS X
+  SET(CMAKE_FIND_LIBRARY_SUFFIXES ${OLD_CMAKE_FIND_LIBRARY_SUFFIXES})
+endif(APPLE AND OGRE_STATIC)