| 87 | | ELSE(${OSG_WINDOWING_SYSTEM} STREQUAL "Carbon") |
| 88 | | |
| 89 | | # X11 for everybody else |
| 90 | | |
| 91 | | |
| 92 | | INCLUDE(FindPkgConfig OPTIONAL) |
| 93 | | IF (PKG_CONFIG_FOUND) |
| 94 | | |
| 95 | | PKG_CHECK_MODULES(XRANDR xrandr) |
| | 87 | SET(LIB_EXTRA_LIBS ${COCOA_LIBRARY} ${LIB_EXTRA_LIBS}) |
| | 88 | |
| | 89 | ELSE(${OSG_WINDOWING_SYSTEM} STREQUAL "Cocoa") |
| | 90 | IF(${OSG_WINDOWING_SYSTEM} STREQUAL "Carbon") |
| | 91 | ADD_DEFINITIONS(-DUSE_DARWIN_CARBON_IMPLEMENTATION) |
| | 92 | SET(LIB_PUBLIC_HEADERS ${LIB_PUBLIC_HEADERS} |
| | 93 | ${HEADER_PATH}/api/Carbon/GraphicsWindowCarbon |
| | 94 | ${HEADER_PATH}/api/Carbon/PixelBufferCarbon |
| | 95 | ) |
| | 96 | SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} |
| | 97 | GraphicsWindowCarbon.cpp |
| | 98 | DarwinUtils.h |
| | 99 | DarwinUtils.mm |
| | 100 | PixelBufferCarbon.cpp |
| | 101 | ) |
| | 102 | SET(LIB_EXTRA_LIBS ${COCOA_LIBRARY} ${LIB_EXTRA_LIBS}) |
| | 103 | |
| | 104 | ELSE(${OSG_WINDOWING_SYSTEM} STREQUAL "Carbon") |
| | 105 | |
| | 106 | # X11 for everybody else |
| | 107 | |
| | 108 | |
| | 109 | INCLUDE(FindPkgConfig OPTIONAL) |
| | 110 | IF (PKG_CONFIG_FOUND) |
| | 111 | |
| | 112 | PKG_CHECK_MODULES(XRANDR xrandr) |
| | 113 | |
| | 114 | IF (XRANDR_FOUND) |
| | 115 | OPTION(OSGVIEWER_USE_XRANDR "Set to ON to enable Xrandr support for GraphicsWindowX11." ON) |
| | 116 | ELSE(XRANDR_FOUND) |
| | 117 | SET(OSGVIEWER_USE_XRANDR OFF) |
| | 118 | ENDIF (XRANDR_FOUND) |
| | 119 | ELSE(PKG_CONFIG_FOUND) |
| | 120 | SET(OSGVIEWER_USE_XRANDR OFF) |
| | 121 | ENDIF(PKG_CONFIG_FOUND) |
| | 122 | |
| | 123 | |
| | 124 | SET(LIB_PUBLIC_HEADERS ${LIB_PUBLIC_HEADERS} |
| | 125 | ${HEADER_PATH}/api/X11/GraphicsWindowX11 |
| | 126 | ${HEADER_PATH}/api/X11/PixelBufferX11 |
| | 127 | ) |
| | 128 | |
| | 129 | |
| | 130 | SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} |
| | 131 | GraphicsWindowX11.cpp |
| | 132 | PixelBufferX11.cpp |
| | 133 | ) |
| 97 | | IF (XRANDR_FOUND) |
| 98 | | OPTION(OSGVIEWER_USE_XRANDR "Set to ON to enable Xrandr support for GraphicsWindowX11." ON) |
| 99 | | ELSE(XRANDR_FOUND) |
| 100 | | SET(OSGVIEWER_USE_XRANDR OFF) |
| 101 | | ENDIF (XRANDR_FOUND) |
| 102 | | ELSE(PKG_CONFIG_FOUND) |
| 103 | | SET(OSGVIEWER_USE_XRANDR OFF) |
| 104 | | ENDIF(PKG_CONFIG_FOUND) |
| 105 | | |
| 106 | | |
| 107 | | SET(LIB_PUBLIC_HEADERS ${LIB_PUBLIC_HEADERS} |
| 108 | | ${HEADER_PATH}/api/X11/GraphicsWindowX11 |
| 109 | | ${HEADER_PATH}/api/X11/PixelBufferX11 |
| 110 | | ) |
| 111 | | |
| 112 | | |
| 113 | | SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} |
| 114 | | GraphicsWindowX11.cpp |
| 115 | | PixelBufferX11.cpp |
| 116 | | ) |
| 117 | | |
| 118 | | IF(OSGVIEWER_USE_XRANDR) |
| 119 | | |
| 120 | | ADD_DEFINITIONS(-DOSGVIEWER_USE_XRANDR) |
| 121 | | SET(LIB_PRIVATE_HEADERS ${LIB_PRIVATE_HEADERS} ${XRANDR_INCLUDE_DIRS} ) |
| 122 | | |
| 123 | | IF (X11_Xrandr_LIB) |
| 124 | | SET(LIB_EXTRA_LIBS ${X11_Xrandr_LIB} ${LIB_EXTRA_LIBS}) |
| 125 | | ELSE(X11_Xrandr_LIB) |
| 126 | | SET(LIB_EXTRA_LIBS ${XRANDR_LIBRARIES} ${LIB_EXTRA_LIBS}) |
| 127 | | ENDIF(X11_Xrandr_LIB) |
| | 135 | IF(OSGVIEWER_USE_XRANDR) |
| 129 | | ENDIF(OSGVIEWER_USE_XRANDR) |
| 130 | | |
| 131 | | # X11 on Apple requires X11 library plus OpenGL linking hack on Leopard |
| 132 | | IF(APPLE) |
| 133 | | # Find GL/glx.h |
| 134 | | IF(EXISTS ${CMAKE_OSX_SYSROOT}/usr/X11/include/GL/glx.h) |
| 135 | | SET(OPENGL_INCLUDE_DIR /usr/X11/include) |
| 136 | | SET(OPENGL_LIBRARIES /usr/X11/lib/libGL.dylib) |
| 137 | | ELSEIF(EXISTS ${CMAKE_OSX_SYSROOT}/usr/X11R6/include/GL/glx.h) |
| 138 | | SET(OPENGL_INCLUDE_DIR /usr/X11R6/include) |
| 139 | | SET(OPENGL_LIBRARIES /usr/X11R6/lib/libGL.dylib) |
| 140 | | ENDIF(EXISTS ${CMAKE_OSX_SYSROOT}/usr/X11/include/GL/glx.h) |
| 141 | | INCLUDE_DIRECTORIES(BEFORE SYSTEM ${OPENGL_INCLUDE_DIR}) |
| 142 | | |
| 143 | | SET(LIB_EXTRA_LIBS ${X11_X11_LIB} ${OPENGL_LIBRARIES} ${LIB_EXTRA_LIBS}) |
| 144 | | 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") |
| 145 | | ENDIF(APPLE) |
| 146 | | |
| 147 | | |
| 148 | | ENDIF(${OSG_WINDOWING_SYSTEM} STREQUAL "Carbon") |
| 149 | | |
| | 137 | ADD_DEFINITIONS(-DOSGVIEWER_USE_XRANDR) |
| | 138 | SET(LIB_PRIVATE_HEADERS ${LIB_PRIVATE_HEADERS} ${XRANDR_INCLUDE_DIRS} ) |
| | 139 | |
| | 140 | IF (X11_Xrandr_LIB) |
| | 141 | SET(LIB_EXTRA_LIBS ${X11_Xrandr_LIB} ${LIB_EXTRA_LIBS}) |
| | 142 | ELSE(X11_Xrandr_LIB) |
| | 143 | SET(LIB_EXTRA_LIBS ${XRANDR_LIBRARIES} ${LIB_EXTRA_LIBS}) |
| | 144 | ENDIF(X11_Xrandr_LIB) |
| | 145 | |
| | 146 | ENDIF(OSGVIEWER_USE_XRANDR) |
| | 147 | |
| | 148 | # X11 on Apple requires X11 library plus OpenGL linking hack on Leopard |
| | 149 | IF(APPLE) |
| | 150 | # Find GL/glx.h |
| | 151 | IF(EXISTS ${CMAKE_OSX_SYSROOT}/usr/X11/include/GL/glx.h) |
| | 152 | SET(OPENGL_INCLUDE_DIR /usr/X11/include) |
| | 153 | SET(OPENGL_LIBRARIES /usr/X11/lib/libGL.dylib) |
| | 154 | ELSEIF(EXISTS ${CMAKE_OSX_SYSROOT}/usr/X11R6/include/GL/glx.h) |
| | 155 | SET(OPENGL_INCLUDE_DIR /usr/X11R6/include) |
| | 156 | SET(OPENGL_LIBRARIES /usr/X11R6/lib/libGL.dylib) |
| | 157 | ENDIF(EXISTS ${CMAKE_OSX_SYSROOT}/usr/X11/include/GL/glx.h) |
| | 158 | INCLUDE_DIRECTORIES(BEFORE SYSTEM ${OPENGL_INCLUDE_DIR}) |
| | 159 | |
| | 160 | SET(LIB_EXTRA_LIBS ${X11_X11_LIB} ${OPENGL_LIBRARIES} ${LIB_EXTRA_LIBS}) |
| | 161 | 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") |
| | 162 | ENDIF(APPLE) |
| | 163 | |
| | 164 | |
| | 165 | ENDIF(${OSG_WINDOWING_SYSTEM} STREQUAL "Carbon") |
| | 166 | ENDIF(${OSG_WINDOWING_SYSTEM} STREQUAL "Cocoa") |