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