From 7a7ee85f69092f1950d752b66871b9598f914a77 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Tue, 5 Aug 2008 15:06:22 +0000 Subject: [PATCH] From Eric Sokolowski, "Fixed the build of the osgViewer library to get GL/glx.h from the right place, when building on OSX with X11" --- src/osgViewer/CMakeLists.txt | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/osgViewer/CMakeLists.txt b/src/osgViewer/CMakeLists.txt index 14dda55b3..ef82fdc04 100644 --- a/src/osgViewer/CMakeLists.txt +++ b/src/osgViewer/CMakeLists.txt @@ -35,6 +35,7 @@ SET(LIB_COMMON_FILES ViewerEventHandlers.cpp ) +SET(LIB_EXTRA_LIBS) IF(WIN32) @@ -89,9 +90,26 @@ ELSE(WIN32) PKG_CHECK_MODULES(XRANDR REQUIRED xrandr) ADD_DEFINITIONS(-DOSGVIEWER_USE_XRANDR) SET(LIB_PUBLIC_HEADERS ${LIB_PUBLIC_HEADERS} ${XRANDR_INCLUDE_DIRS}) - LINK_LIBRARIES(Xrandr) + LINK_LIBRARIES(Xrandr) ENDIF(OSGVIEWER_USE_XRANDR) + # X11 on Apple requires X11 library plus OpenGL linking hack on Leopard + IF(APPLE) + # Find GL/glx.h + IF(EXISTS ${CMAKE_OSX_SYSROOT}/usr/X11/include/GL/glx.h) + SET(OPENGL_INCLUDE_DIR /usr/X11/include) + SET(OPENGL_LIBRARIES /usr/X11/lib/libGL.dylib) + ELSEIF(EXISTS ${CMAKE_OSX_SYSROOT}/usr/X11R6/include/GL/glx.h) + SET(OPENGL_INCLUDE_DIR /usr/X11R6/include) + SET(OPENGL_LIBRARIES /usr/X11R6/lib/libGL.dylib) + ENDIF(EXISTS ${CMAKE_OSX_SYSROOT}/usr/X11/include/GL/glx.h) + INCLUDE_DIRECTORIES(BEFORE SYSTEM ${OPENGL_INCLUDE_DIR}) + + SET(LIB_EXTRA_LIBS ${X11_X11_LIB} ${OPENGL_LIBRARIES} ${LIB_EXTRA_LIBS}) + SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:${CMAKE_OSX_SYSROOT}/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib") + ENDIF(APPLE) + + ENDIF(${OSG_WINDOWING_SYSTEM} STREQUAL "Carbon") ENDIF(WIN32) @@ -112,6 +130,7 @@ LINK_INTERNAL(${LIB_NAME} osgUtil osg OpenThreads + ${LIB_EXTRA_LIBS} ) LINK_CORELIB_DEFAULT(${LIB_NAME})