Show
Ignore:
Timestamp:
03/23/09 17:01:02 (5 years ago)
Author:
robert
Message:

From Philip Lowman, "Here's the promised cleanup of the OSG's CMakeLists.txt files for the src/ folder. I'll submit the others separately.

Also, there was also a small bug in osgDB's CMakeLists.txt that was causing an error when I tested with CMake 2.4.4.

IF(${OSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX} STREQUAL "quicktime")
was changed to
IF(OSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX STREQUAL "quicktime")
"

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/src/osgViewer/CMakeLists.txt

    r9879 r9949  
    11 
    22# FIXME: For OS X, need flag for Framework or dylib 
    3 IF   (DYNAMIC_OPENSCENEGRAPH) 
     3IF(DYNAMIC_OPENSCENEGRAPH) 
    44    ADD_DEFINITIONS(-DOSGVIEWER_LIBRARY) 
    5 ELSE (DYNAMIC_OPENSCENEGRAPH) 
     5ELSE() 
    66    ADD_DEFINITIONS(-DOSG_LIBRARY_STATIC) 
    7 ENDIF(DYNAMIC_OPENSCENEGRAPH) 
     7ENDIF() 
    88 
    99SET(LIB_NAME osgViewer) 
     
    4141 
    4242IF(WIN32) 
    43  
    4443    # 
    4544    # Enable workaround for OpenGL driver issues when used in multithreaded/multiscreen with NVidia drivers on Windows XP  
     
    5251    IF(OSG_MULTIMONITOR_MULTITHREAD_WIN32_NVIDIA_WORKAROUND) 
    5352        ADD_DEFINITIONS(-DOSG_MULTIMONITOR_MULTITHREAD_WIN32_NVIDIA_WORKAROUND) 
    54     ENDIF(OSG_MULTIMONITOR_MULTITHREAD_WIN32_NVIDIA_WORKAROUND) 
     53    ENDIF() 
    5554 
    5655    SET(LIB_PUBLIC_HEADERS ${LIB_PUBLIC_HEADERS} 
     
    6362        PixelBufferWin32.cpp 
    6463    ) 
    65  
    66 ELSE(WIN32) 
    67  
     64ELSE() 
    6865    IF(APPLE) 
    6966        SET(OSG_WINDOWING_SYSTEM "Carbon" CACHE STRING "Windowing system type for graphics window creation, options Carbon, Cocoa or X11.") 
    70     ELSE(APPLE) 
     67    ELSE() 
    7168        SET(OSG_WINDOWING_SYSTEM "X11" CACHE STRING "Windowing system type for graphics window creation. options only X11") 
    72     ENDIF(APPLE) 
     69    ENDIF() 
    7370     
    7471    IF(${OSG_WINDOWING_SYSTEM} STREQUAL "Cocoa") 
    75                 ADD_DEFINITIONS(-DUSE_DARWIN_COCOA_IMPLEMENTATION) 
     72        ADD_DEFINITIONS(-DUSE_DARWIN_COCOA_IMPLEMENTATION) 
    7673        SET(LIB_PUBLIC_HEADERS ${LIB_PUBLIC_HEADERS}  
    7774            ${HEADER_PATH}/api/Cocoa/GraphicsWindowCocoa 
     
    8481            PixelBufferCocoa.mm 
    8582        ) 
     83    SET(LIB_EXTRA_LIBS ${COCOA_LIBRARY} ${LIB_EXTRA_LIBS}) 
     84    ELSEIF(${OSG_WINDOWING_SYSTEM} STREQUAL "Carbon") 
     85        ADD_DEFINITIONS(-DUSE_DARWIN_CARBON_IMPLEMENTATION) 
     86        SET(LIB_PUBLIC_HEADERS ${LIB_PUBLIC_HEADERS}  
     87            ${HEADER_PATH}/api/Carbon/GraphicsWindowCarbon 
     88            ${HEADER_PATH}/api/Carbon/PixelBufferCarbon 
     89        ) 
     90        SET(LIB_COMMON_FILES ${LIB_COMMON_FILES}  
     91            GraphicsWindowCarbon.cpp 
     92            DarwinUtils.h 
     93            DarwinUtils.mm 
     94            PixelBufferCarbon.cpp 
     95        ) 
     96        SET(LIB_EXTRA_LIBS ${COCOA_LIBRARY} ${LIB_EXTRA_LIBS}) 
     97    ELSE() 
     98        # X11 for everybody else 
     99        INCLUDE(FindPkgConfig OPTIONAL) 
     100        IF(PKG_CONFIG_FOUND) 
     101            PKG_CHECK_MODULES(XRANDR xrandr) 
     102            IF(XRANDR_FOUND)  
     103                OPTION(OSGVIEWER_USE_XRANDR "Set to ON to enable Xrandr support for GraphicsWindowX11." ON) 
     104            ELSE()  
     105                SET(OSGVIEWER_USE_XRANDR OFF) 
     106            ENDIF() 
     107        ELSE() 
     108            SET(OSGVIEWER_USE_XRANDR OFF) 
     109        ENDIF() 
    86110 
    87         SET(LIB_EXTRA_LIBS ${COCOA_LIBRARY} ${LIB_EXTRA_LIBS}) 
     111        SET(LIB_PUBLIC_HEADERS ${LIB_PUBLIC_HEADERS} 
     112            ${HEADER_PATH}/api/X11/GraphicsWindowX11 
     113            ${HEADER_PATH}/api/X11/PixelBufferX11 
     114        ) 
    88115 
    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}) 
     116        SET(LIB_COMMON_FILES ${LIB_COMMON_FILES}  
     117            GraphicsWindowX11.cpp  
     118            PixelBufferX11.cpp 
     119        ) 
     120         
     121        IF(OSGVIEWER_USE_XRANDR) 
     122            ADD_DEFINITIONS(-DOSGVIEWER_USE_XRANDR) 
     123            SET(LIB_PRIVATE_HEADERS ${LIB_PRIVATE_HEADERS} ${XRANDR_INCLUDE_DIRS} ) 
    103124 
    104         ELSE(${OSG_WINDOWING_SYSTEM} STREQUAL "Carbon") 
     125            IF(X11_Xrandr_LIB) 
     126                SET(LIB_EXTRA_LIBS ${X11_Xrandr_LIB} ${LIB_EXTRA_LIBS}) 
     127            ELSE() 
     128                SET(LIB_EXTRA_LIBS ${XRANDR_LIBRARIES} ${LIB_EXTRA_LIBS}) 
     129            ENDIF() 
     130        ENDIF() 
    105131 
    106             # X11 for everybody else 
     132        # X11 on Apple requires X11 library plus OpenGL linking hack on Leopard 
     133        IF(APPLE) 
     134            # Find GL/glx.h  
     135            IF(EXISTS ${CMAKE_OSX_SYSROOT}/usr/X11/include/GL/glx.h) 
     136                SET(OPENGL_INCLUDE_DIR /usr/X11/include) 
     137                SET(OPENGL_LIBRARIES /usr/X11/lib/libGL.dylib) 
     138            ELSEIF(EXISTS ${CMAKE_OSX_SYSROOT}/usr/X11R6/include/GL/glx.h) 
     139                SET(OPENGL_INCLUDE_DIR /usr/X11R6/include) 
     140                SET(OPENGL_LIBRARIES /usr/X11R6/lib/libGL.dylib) 
     141            ENDIF() 
     142            INCLUDE_DIRECTORIES(BEFORE SYSTEM ${OPENGL_INCLUDE_DIR}) 
    107143 
    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             ) 
    134              
    135             IF(OSGVIEWER_USE_XRANDR) 
    136              
    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") 
    167 ENDIF(WIN32) 
     144            SET(LIB_EXTRA_LIBS ${X11_X11_LIB} ${OPENGL_LIBRARIES} ${LIB_EXTRA_LIBS}) 
     145            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") 
     146        ENDIF(APPLE) 
     147    ENDIF() 
     148ENDIF() 
    168149 
    169150 
     
    190171IF(MINGW OR CYGWIN) 
    191172    LINK_EXTERNAL(${LIB_NAME} gdi32 ) 
    192 ENDIF(MINGW OR CYGWIN) 
     173ENDIF() 
    193174 
    194175INCLUDE(ModuleInstall OPTIONAL) 
    195176 
    196 FOREACH( INCLUDEFILE ${LIB_PUBLIC_HEADERS} ) 
     177FOREACH(INCLUDEFILE ${LIB_PUBLIC_HEADERS} ) 
    197178   FILE(RELATIVE_PATH REL_INCLUDEFILE ${HEADER_PATH} ${INCLUDEFILE}) 
    198179   GET_FILENAME_COMPONENT(REL_INCLUDE_PATH ${REL_INCLUDEFILE} PATH) 
     
    202183   COMPONENT libopenscenegraph-dev 
    203184   ) 
    204 ENDFOREACH( INCLUDEFILE) 
     185ENDFOREACH()