--- 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)