On Tue, 2008-07-01 at 00:17 -0400, Jean-Sébastien Guay wrote:
> Hello Jeremy,
> 
> Hoping to help osgWidget get into OSG 2.6, I did a test build tonight 
> having freshly updated from SVN. I needed to make some changes to the 
> CMakeLists.txt file, similar to what needed to be done for OSG and VPB. 
> I'm attaching the changed file to this message.
> 
> Note that the minimum required version at the top of the file is just 
> what I felt is a safe minimum. It could possibly be a lower version 
> (like 2.4.5 or whatever) but I think realistically most people have 
> 2.4.7 or higher anyways, and I didn't personally test on an older 
> version, so I have no way to guarantee that it works.
> 
> I have built on Visual Studio 2005 (8.0) SP1. It built fine, and from 
> what I can see, most of the examples run fine too. Exceptions:
> 
> - osgwidgetinput: I don't seem to be able to type any values in the 
> fields, and clicking the button to create the sphere does nothing.

Yeah, unfortunately I won't be able to do much more with Input Widget
objects until there are some changes made to osgText. As it is, the
example currently doesn't do much of anything.

> - osgwidgetscrolled: can't do anything other than resize the box 
> horizontally, is there something else I should be able to do?

It should resize in all directions, and should change the image display
when you scroll your mouse wheel up and down?

> - osgwidgetstyled: what is it supposed to do?

This just demonstrates calling various method on a few Widget objects
using a "style" string (kind of like CSS).

> Note that I didn't build with Python or Lua support, perhaps I need one 
> of those for the examples above to work properly?
> 
> All in all, looking good. :-)
> 
> J-S
> plain text document attachment (CMakeLists.txt)
> cmake_minimum_required(VERSION 2.4.7)
> 
> PROJECT(osgWidget)
> 
> if(COMMAND cmake_policy)
>   cmake_policy(SET CMP0003 OLD)
> endif(COMMAND cmake_policy)
> 
> INCLUDE(FindPkgConfig)
> INCLUDE(FindPythonLibs)
> 
> PKG_CHECK_MODULES(LUA lua)
> 
> SET(SRC_FILES
>       src/Box.cpp
>       src/Canvas.cpp
>       src/Frame.cpp
>       src/Input.cpp
>       src/Label.cpp
>       src/Lua.cpp
>       src/Python.cpp
>       src/StyleManager.cpp
>       src/Table.cpp
>       src/Util.cpp
>       src/Version.cpp
>       src/ViewerEventHandlers.cpp
>       src/Widget.cpp
>       src/Window.cpp
>       src/WindowManager.cpp
> )
> 
> SET(HEADER_FILES
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/Box
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/Canvas
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/EventInterface
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/Frame
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/Input
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/Label
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/Lua
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/Python
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/ScriptEngine
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/StyleInterface
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/StyleManager
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/Table
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/Types
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/UIObjectParent
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/Util
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/ViewerEventHandlers
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/Widget
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/Window
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/WindowManager
>       ${osgWidget_SOURCE_DIR}/include/osgWidget/Version
> )
> 
> SET(CMAKE_INCLUDE_PATH /usr/local/include CACHE STRING "Put your OSG include 
> dir here...")
> SET(CMAKE_LIBRARY_PATH /usr/local/lib CACHE STRING "Put your OSG lib dir 
> here...")
> SET(CMAKE_DEBUG_POSTFIX "d")
> 
> # Add our Lua cmake variable for turning it off and on.
> # NOTE: You must be using Lua 5.1 or greater...
> IF(LUA_VERSION STRGREATER "5.0")
>       SET(OSGWIDGET_USELUA TRUE CACHE BOOL "Build with LUA support?")
> ELSE(LUA_VERSION STRGREATER "5.0")
>       SET(OSGWIDGET_USELUA FALSE CACHE BOOL "Build with LUA support?")
> ENDIF(LUA_VERSION STRGREATER "5.0")
> 
> # Add our Python cmake variable for turning it off and on.
> IF(PYTHON_LIBRARY)
>       SET(OSGWIDGET_USEPYTHON TRUE CACHE BOOL "Build with Python support?")
> ELSE(PYTHON_LIBRARY)
>       SET(OSGWIDGET_USEPYTHON FALSE CACHE BOOL "Build with Python support?")
> ENDIF(PYTHON_LIBRARY)
> 
> # Stuff that should be in every build...
> INCLUDE_DIRECTORIES(include ${CMAKE_INCLUDE_PATH})
> 
> LINK_DIRECTORIES(${CMAKE_LIBRARY_PATH})
> 
> LINK_LIBRARIES(
>       debug osgd         optimized osg
>       debug osgUtild     optimized osgUtil
>       debug osgViewerd   optimized osgViewer
>       debug osgTextd     optimized osgText
>       debug osgDBd       optimized osgDB
>       debug osgGAd       optimized osgGA
>       debug OpenThreadsd optimized OpenThreads
> )
> 
> ADD_LIBRARY(osgWidget SHARED ${SRC_FILES} ${HEADER_FILES})
> 
> # Stuff that is just available when LUA is toggled on.
> IF(OSGWIDGET_USELUA)
>       INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIRS})
> 
>       LINK_DIRECTORIES(${LUA_LIBRARY_DIRS})
> 
>       TARGET_LINK_LIBRARIES(osgWidget ${LUA_LDFLAGS})
> 
>       ADD_DEFINITIONS(-DOSGWIDGET_USELUA)
> ENDIF(OSGWIDGET_USELUA)
> 
> # Stuff that is just available when Python is toggled on.
> IF(OSGWIDGET_USEPYTHON)
>       INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
> 
>       LINK_DIRECTORIES(${PYTHON_LIBRARIES})
> 
>       TARGET_LINK_LIBRARIES(osgWidget ${PYTHON_LIBRARIES})
> 
>       ADD_DEFINITIONS(-DOSGWIDGET_USEPYTHON)
> ENDIF(OSGWIDGET_USEPYTHON)
> 
> INSTALL(TARGETS osgWidget DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
> 
> # This little do-hicky installs all of the header files.
> FOREACH(INCLUDEFILE ${HEADER_FILES})
>       FILE(RELATIVE_PATH REL_INCLUDEFILE 
> ${osgWidget_SOURCE_DIR}/include/osgWidget ${INCLUDEFILE})
>       GET_FILENAME_COMPONENT(REL_INCLUDE_PATH ${REL_INCLUDEFILE} PATH)
>       INSTALL(
>               FILES ${INCLUDEFILE}
>               DESTINATION 
> ${CMAKE_INSTALL_PREFIX}/include/osgWidget/${REL_INCLUDE_PATH}
>       )
> ENDFOREACH(INCLUDEFILE)
> 
> ADD_SUBDIRECTORY(examples/osgwidgetaddremove)
> ADD_SUBDIRECTORY(examples/osgwidgetbox)
> ADD_SUBDIRECTORY(examples/osgwidgetcanvas)
> ADD_SUBDIRECTORY(examples/osgwidgetframe)
> ADD_SUBDIRECTORY(examples/osgwidgetinput)
> ADD_SUBDIRECTORY(examples/osgwidgetlabel)
> ADD_SUBDIRECTORY(examples/osgwidgetmenu)
> ADD_SUBDIRECTORY(examples/osgwidgetnotebook)
> ADD_SUBDIRECTORY(examples/osgwidgetscrolled)
> ADD_SUBDIRECTORY(examples/osgwidgetshader)
> ADD_SUBDIRECTORY(examples/osgwidgetstyled)
> ADD_SUBDIRECTORY(examples/osgwidgettable)
> ADD_SUBDIRECTORY(examples/osgwidgetversion)
> ADD_SUBDIRECTORY(examples/osgwidgetwindow)
> 
> EXECUTE_PROCESS(
>       COMMAND osgversion --version-number
>       OUTPUT_VARIABLE OSG_VERSION
>       OUTPUT_STRIP_TRAILING_WHITESPACE
> )
> 
> # Our osgdb_osgWidget loader.
> ADD_SUBDIRECTORY(src/osgPlugins/osg)
> # ADD_SUBDIRECTORY(src/osgPlugins/style)
> 
> IF(WIN32)
>       TARGET_LINK_LIBRARIES(osgWidget opengl32.lib)
> 
>       ADD_DEFINITIONS(-DOSG_LIBRARY)
> 
>       INSTALL(TARGETS osgWidget RUNTIME DESTINATION 
> ${CMAKE_INSTALL_PREFIX}/bin)
> ENDIF(WIN32)
> 
> CONFIGURE_FILE(
>       "${CMAKE_CURRENT_SOURCE_DIR}/etc/uninstall.cmake"
>       "${CMAKE_CURRENT_BINARY_DIR}/uninstall.cmake"
>       IMMEDIATE @ONLY
> )
> 
> ADD_CUSTOM_TARGET(uninstall
>       "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/uninstall.cmake"
> )
> _______________________________________________
> osg-users mailing list
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to