Changeset 9835

Show
Ignore:
Timestamp:
03/02/09 12:40:00 (5 years ago)
Author:
shuber
Message:

* added CMake support for new imageio-plugin
* added new option "Cocoa" for OSG_WINDOWING_SYSTEM


Location:
OpenSceneGraph/branches/osg-cocoa-dev/src
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/branches/osg-cocoa-dev/src/osgPlugins/CMakeLists.txt

    r9817 r9835  
    115115 
    116116 
     117# imageio-plugin for os x 
     118IF(APPLE) 
     119        ADD_SUBDIRECTORY(imageio) 
     120ENDIF(APPLE) 
     121 
    117122 
    118123############################################################ 
  • OpenSceneGraph/branches/osg-cocoa-dev/src/osgPlugins/imageio/CMakeLists.txt

    r9831 r9835  
    55SET(TARGET_ADDED_LIBRARIES) 
    66SET(TARGET_LIBRARIES_VARS IMAGEIO_LIBRARY ) 
    7  
     7SET(TARGET_EXTERNAL_LIBRARIES "/System/Library/Frameworks/Accelerate.framework" ) 
    88#### end var setup  ### 
    99SETUP_PLUGIN(imageio) 
  • OpenSceneGraph/branches/osg-cocoa-dev/src/osgViewer/CMakeLists.txt

    r9671 r9835  
    6767 
    6868    IF(APPLE) 
    69         SET(OSG_WINDOWING_SYSTEM "Carbon" CACHE STRING "Windowing system type for graphics window creation, options Carbon or X11.") 
     69        SET(OSG_WINDOWING_SYSTEM "Carbon" CACHE STRING "Windowing system type for graphics window creation, options Carbon, Cocoa or X11.") 
    7070    ELSE(APPLE) 
    7171        SET(OSG_WINDOWING_SYSTEM "X11" CACHE STRING "Windowing system type for graphics window creation. options only X11") 
    7272    ENDIF(APPLE) 
    7373     
    74  
    75     IF(${OSG_WINDOWING_SYSTEM} STREQUAL "Carbon") 
     74    IF(${OSG_WINDOWING_SYSTEM} STREQUAL "Cocoa") 
    7675 
    7776        # FIXME: OS X needs selection mechanism for Cocoa, Carbon, X11 
    7877        SET(LIB_PUBLIC_HEADERS ${LIB_PUBLIC_HEADERS}  
    79             ${HEADER_PATH}/api/Carbon/GraphicsWindowCarbon 
    80             ${HEADER_PATH}/api/Carbon/PixelBufferCarbon 
     78            ${HEADER_PATH}/api/Cocoa/GraphicsWindowCocoa 
     79            ${HEADER_PATH}/api/Cocoa/PixelBufferCocoa 
    8180        ) 
    8281        SET(LIB_COMMON_FILES ${LIB_COMMON_FILES}  
    83             GraphicsWindowCarbon.cpp 
    84             PixelBufferCarbon.cpp 
     82            GraphicsWindowCocoa.mm 
     83            DarwinUtils.h 
     84            DarwinUtils.mm 
     85            PixelBufferCocoa.mm 
    8586        ) 
    8687 
    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) 
     88        SET(LIB_EXTRA_LIBS ${COCOA_LIBRARY} ${LIB_EXTRA_LIBS}) 
     89 
     90    ELSE(${OSG_WINDOWING_SYSTEM} STREQUAL "Cocoa") 
     91        IF(${OSG_WINDOWING_SYSTEM} STREQUAL "Carbon") 
     92 
     93            SET(LIB_PUBLIC_HEADERS ${LIB_PUBLIC_HEADERS}  
     94                ${HEADER_PATH}/api/Carbon/GraphicsWindowCarbon 
     95                ${HEADER_PATH}/api/Carbon/PixelBufferCarbon 
     96            ) 
     97            SET(LIB_COMMON_FILES ${LIB_COMMON_FILES}  
     98                GraphicsWindowCarbon.cpp 
     99                DarwinUtils.h 
     100                DarwinUtils.mm 
     101                PixelBufferCarbon.cpp 
     102            ) 
     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            ) 
    96134             
    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) 
    128136             
    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") 
    150167ENDIF(WIN32) 
    151168