# FIXME: For OS X, need flag for Framework or dylib IF (DYNAMIC_OPENSCENEGRAPH) ADD_DEFINITIONS(-DOSGVIEWER_LIBRARY) ELSE (DYNAMIC_OPENSCENEGRAPH) ADD_DEFINITIONS(-DOSG_LIBRARY_STATIC) ENDIF(DYNAMIC_OPENSCENEGRAPH) SET(LIB_NAME osgViewer) SET(HEADER_PATH ${OpenSceneGraph_SOURCE_DIR}/include/${LIB_NAME}) SET(LIB_PUBLIC_HEADERS ${HEADER_PATH}/CompositeViewer ${HEADER_PATH}/Export ${HEADER_PATH}/GraphicsWindow ${HEADER_PATH}/Scene ${HEADER_PATH}/Version ${HEADER_PATH}/View ${HEADER_PATH}/Viewer ${HEADER_PATH}/ViewerEventHandlers ) SET(LIB_COMMON_FILES CompositeViewer.cpp Scene.cpp StatsHandler.cpp HelpHandler.cpp Version.cpp View.cpp Viewer.cpp ViewerEventHandlers.cpp ) IF(WIN32) SET(LIB_PUBLIC_HEADERS ${LIB_PUBLIC_HEADERS} ${HEADER_PATH}/api/Win32/GraphicsWindowWin32) SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} GraphicsWindowWin32.cpp) ELSE(WIN32) IF(APPLE) # FIXME: OS X needs selection mechanism for Cocoa, Carbon, X11 SET(LIB_PUBLIC_HEADERS ${LIB_PUBLIC_HEADERS} ${HEADER_PATH}/api/Carbon/GraphicsWindowCarbon) SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} GraphicsWindowCarbon.cpp) ELSE(APPLE) # X11 for everybody else SET(LIB_PUBLIC_HEADERS ${LIB_PUBLIC_HEADERS} ${HEADER_PATH}/api/X11/GraphicsWindowX11) SET(LIB_COMMON_FILES ${LIB_COMMON_FILES} GraphicsWindowX11.cpp) ENDIF(APPLE) ENDIF(WIN32) ADD_LIBRARY(${LIB_NAME} ${OPENSCENEGRAPH_USER_DEFINED_DYNAMIC_OR_STATIC} ${LIB_PUBLIC_HEADERS} ${LIB_PRIVATE_HEADERS} ${LIB_COMMON_FILES} ) LINK_INTERNAL(${LIB_NAME} osgGA osgText osgDB osgUtil osg OpenThreads ) LINK_CORELIB_DEFAULT(${LIB_NAME}) IF(MINGW OR CYGWIN) LINK_EXTERNAL(${LIB_NAME} gdi32 ) ENDIF(MINGW OR CYGWIN) INCLUDE(ModuleInstall OPTIONAL) FOREACH( INCLUDEFILE ${LIB_PUBLIC_HEADERS} ) FILE(RELATIVE_PATH REL_INCLUDEFILE ${HEADER_PATH} ${INCLUDEFILE}) GET_FILENAME_COMPONENT(REL_INCLUDE_PATH ${REL_INCLUDEFILE} PATH) INSTALL( FILES ${INCLUDEFILE} DESTINATION ${INSTALL_INCDIR}/${LIB_NAME}/${REL_INCLUDE_PATH} ) ENDFOREACH( INCLUDEFILE)