From 52b5b468d54076007f0908bf2acba87dd1c65d5c Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Sat, 5 May 2007 16:11:30 +0000 Subject: [PATCH] Added OpenVRML support --- CMakeLists.txt | 1 + CMakeModules/FindOpenVRML.cmake | 55 ++++++++++++++++++++++++++++++ src/osgDB/CMakeLists.txt | 4 +-- src/osgPlugins/CMakeLists.txt | 4 +-- src/osgPlugins/vrml/CMakeLists.txt | 8 +++++ 5 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 CMakeModules/FindOpenVRML.cmake create mode 100644 src/osgPlugins/vrml/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index a29d5384c..aa6350322 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -126,6 +126,7 @@ FIND_PACKAGE(Qt4) FIND_PACKAGE(Jasper) FIND_PACKAGE(COLLADA) FIND_PACKAGE(Xine) +FIND_PACKAGE(OpenVRML) # Platform specific: # (We can approach this one of two ways. We can try to FIND everything diff --git a/CMakeModules/FindOpenVRML.cmake b/CMakeModules/FindOpenVRML.cmake new file mode 100644 index 000000000..8f9c3037a --- /dev/null +++ b/CMakeModules/FindOpenVRML.cmake @@ -0,0 +1,55 @@ +# Locate openvml library +# This module defines +# OPENVRML_LIBRARY +# OPENVRML_FOUND, if false, do not try to link to vrml +# OPENVRML_INCLUDE_DIR, where to find the headers +# +# $OPENVRML_DIR is an environment variable that would +# correspond to the ./configure --prefix=$OPENVRML_DIR +# +# Created by Robert Osfield. + +FIND_PATH(OPENVRML_INCLUDE_DIR openvrml/openvrml/common.h + $ENV{OPENVRML_DIR}/include + $ENV{OPENVRML_DIR} + $ENV{OSGDIR}/include + $ENV{OSGDIR} + $ENV{OSG_ROOT}/include + ~/Library/Frameworks + /Library/Frameworks + /usr/local/include + /usr/include + /sw/include # Fink + /opt/local/include # DarwinPorts + /opt/csw/include # Blastwave + /opt/include + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include + /usr/freeware/include +) + +FIND_LIBRARY(OPENVRML_LIBRARY + NAMES openvrml + PATHS + $ENV{OPENVRML_DIR}/lib + $ENV{OPENVRML_DIR} + $ENV{OSGDIR}/lib + $ENV{OSGDIR} + $ENV{OSG_ROOT}/lib + ~/Library/Frameworks + /Library/Frameworks + /usr/local/lib + /usr/lib + /sw/lib + /opt/local/lib + /opt/csw/lib + /opt/lib + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib + /usr/freeware/lib64 +) + +SET(OPENVRML_FOUND "NO") +IF(OPENVRML_LIBRARY AND OPENVRML_INCLUDE_DIR) + SET(OPENVRML_FOUND "YES") +ENDIF(OPENVRML_LIBRARY AND OPENVRML_INCLUDE_DIR) + + diff --git a/src/osgDB/CMakeLists.txt b/src/osgDB/CMakeLists.txt index 183f10f97..b533bc694 100644 --- a/src/osgDB/CMakeLists.txt +++ b/src/osgDB/CMakeLists.txt @@ -68,9 +68,9 @@ IF(INVENTOR_FOUND) ADD_DEFINITIONS(-DUSE_INVENTOR) ENDIF(INVENTOR_FOUND) -IF(VRML_FOUND) +IF(OPENVRML_FOUND) ADD_DEFINITIONS(-DUSE_VRML) -ENDIF(VRML_FOUND) +ENDIF(OPENVRML_FOUND) LINK_INTERNAL(${LIB_NAME} diff --git a/src/osgPlugins/CMakeLists.txt b/src/osgPlugins/CMakeLists.txt index 71530a6f8..69086eafa 100644 --- a/src/osgPlugins/CMakeLists.txt +++ b/src/osgPlugins/CMakeLists.txt @@ -91,9 +91,9 @@ IF (BUILD_OSG_3D_PLUGINS) ADD_SUBDIRECTORY(Inventor) ENDIF(INVENTOR_FOUND) - IF(VRML_FOUND) + IF(OPENVRML_FOUND) ADD_SUBDIRECTORY(vrml) - ENDIF(VRML_FOUND) + ENDIF(OPENVRML_FOUND) IF(COLLADA_FOUND) ADD_SUBDIRECTORY(dae) diff --git a/src/osgPlugins/vrml/CMakeLists.txt b/src/osgPlugins/vrml/CMakeLists.txt new file mode 100644 index 000000000..fbcf43711 --- /dev/null +++ b/src/osgPlugins/vrml/CMakeLists.txt @@ -0,0 +1,8 @@ +INCLUDE_DIRECTORIES( ${OPENVRML_INCLUDE_DIR} ${OPENVRML_INCLUDE_DIR}/openvrml ) + +SET(TARGET_SRC ReaderWriterVRML2.cpp ) + +SET(TARGET_LIBRARIES_VARS OPENVRML_LIBRARY ) + +#### end var setup ### +SETUP_PLUGIN(vrml)