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. - osgwidgetscrolled: can't do anything other than resize the box horizontally, is there something else I should be able to do?
- osgwidgetstyled: what is it supposed to do?

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
--
______________________________________________________
Jean-Sebastien Guay    [EMAIL PROTECTED]
                               http://www.cm-labs.com/
                        http://whitestar02.webhop.org/
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
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to