Hi Roger,

Your changes didn't work under Linux so I've taken your changes and
adapted them a little.  I've now checked these combined changes into
svn/trunk.

Robert.

On Wed, Jun 10, 2009 at 6:03 PM, Roger James<[email protected]> wrote:
> Robert,
>
> Here is the clean up of the collada plugin build I did a while ago. I did
> not receive any feedback so I assume that it worked for the people who tried
> it! I cannot verify the build on Linux here at the moment. The changes
> remove the need for the boost library when the dynamic link version of
> Collada is used. These files are relative to SVN build 10331.
>
> Roger
>
> # Locate Collada
> # This module defines:
> # COLLADA_INCLUDE_DIR, where to find the headers
> #
> # COLLADA_LIBRARY, COLLADA_LIBRARY_DEBUG
> # COLLADA_FOUND, if false, do not try to link to Collada dynamically
> #
> # COLLADA_LIBRARY_STATIC, COLLADA_LIBRARY_STATIC_DEBUG
> # COLLADA_STATIC_FOUND, if false, do not try to link to Collada statically
> #
> # $COLLADA_DIR is an environment variable that would
> # correspond to the ./configure --prefix=$COLLADA_DIR
> #
> # Created by Robert Osfield.
>
> SET(COLLADA_DOM_ROOT "$ENV{COLLADA_DIR}/dom" CACHE PATH "Location of Collada
> DOM directory")
>
> IF(APPLE)
>    SET(COLLADA_BUILDNAME "mac")
> ELSEIF(MINGW)
>    SET(COLLADA_BUILDNAME "mingw")
> ELSEIF(MSVC90)
>    SET(COLLADA_BUILDNAME "vc9")
> ELSE(APPLE)
>    SET(COLLADA_BUILDNAME "vc8")
> ENDIF(APPLE)
>
>
> FIND_PATH(COLLADA_INCLUDE_DIR dae.h
>    ${COLLADA_DOM_ROOT}/include
>    $ENV{COLLADA_DIR}/include
>    $ENV{COLLADA_DIR}
>    ~/Library/Frameworks
>    /Library/Frameworks
>    /usr/local/include
>    /usr/local/include/colladadom
>    /usr/include/
>    /usr/include/colladadom
>    /sw/include # Fink
>    /opt/local/include # DarwinPorts
>    /opt/csw/include # Blastwave
>    /opt/include
>    /usr/freeware/include
> )
>
> FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY
>    NAMES collada_dom collada14dom libcollada14dom21 libcollada14dom22
>    PATHS
>    ${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4
>    $ENV{COLLADA_DIR}/build/${COLLADA_BUILDNAME}-1.4
>    $ENV{COLLADA_DIR}/lib
>    $ENV{COLLADA_DIR}/lib-dbg
>    $ENV{COLLADA_DIR}
>    ~/Library/Frameworks
>    /Library/Frameworks
>    /usr/local/lib
>    /usr/local/lib64
>    /usr/lib
>    /usr/lib64
>    /sw/lib
>    /opt/local/lib
>    /opt/csw/lib
>    /opt/lib
>    /usr/freeware/lib64
> )
>
> FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY_DEBUG
>    NAMES collada_dom-d collada14dom-d libcollada14dom21-d
> libcollada14dom22-d
>    PATHS
>    ${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4-d
>    $ENV{COLLADA_DIR}/build/${COLLADA_BUILDNAME}-1.4-d
>    $ENV{COLLADA_DIR}/lib
>    $ENV{COLLADA_DIR}/lib-dbg
>    $ENV{COLLADA_DIR}
>    ~/Library/Frameworks
>    /Library/Frameworks
>    /usr/local/lib
>    /usr/local/lib64
>    /usr/lib
>    /usr/lib64
>    /sw/lib
>    /opt/local/lib
>    /opt/csw/lib
>    /opt/lib
>    /usr/freeware/lib64
> )
>
> FIND_LIBRARY(COLLADA_STATIC_LIBRARY
>    NAMES libcollada14dom21-s  libcollada14dom22-s
>    PATHS
>    ${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4
>    $ENV{COLLADA_DIR}/build/${COLLADA_BUILDNAME}-1.4
>    $ENV{COLLADA_DIR}/lib
>    $ENV{COLLADA_DIR}/lib-dbg
>    $ENV{COLLADA_DIR}
>    ~/Library/Frameworks
>    /Library/Frameworks
>    /usr/local/lib
>    /usr/local/lib64
>    /usr/lib
>    /usr/lib64
>    /sw/lib
>    /opt/local/lib
>    /opt/csw/lib
>    /opt/lib
>    /usr/freeware/lib64
> )
>
> FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG
>    NAMES collada_dom-sd collada14dom-sd libcollada14dom21-sd
> libcollada14dom22-sd
>    PATHS
>    ${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4-d
>    $ENV{COLLADA_DIR}/build/${COLLADA_BUILDNAME}-1.4-d
>    $ENV{COLLADA_DIR}/lib
>    $ENV{COLLADA_DIR}/lib-dbg
>    $ENV{COLLADA_DIR}
>    ~/Library/Frameworks
>    /Library/Frameworks
>    /usr/local/lib
>    /usr/local/lib64
>    /usr/lib
>    /usr/lib64
>    /sw/lib
>    /opt/local/lib
>    /opt/csw/lib
>    /opt/lib
>    /usr/freeware/lib64
> )
>
> IF(COLLADA_STATIC_LIBRARY)
>
>    # find extra libraries that the static linking requires
>
>    FIND_PACKAGE(LibXml2)
>    IF (LIBXML2_FOUND)
>        SET(COLLADA_LIBXML_LIBRARY ${LIBXML2_LIBRARIES})
>    ELSE(LIBXML2_FOUND)
>        IF(WIN32)
>            FIND_LIBRARY(COLLADA_LIBXML_LIBRARY
>                NAMES libxml2
>                PATHS
>                ${COLLADA_DOM_ROOT}/external-libs/libxml2/win32/lib
>                ${COLLADA_DOM_ROOT}/external-libs/libxml2/mingw/lib
>            )
>        ENDIF(WIN32)
>    ENDIF(LIBXML2_FOUND)
>
>    FIND_PACKAGE(ZLIB)
>    IF (ZLIB_FOUND)
>        SET(COLLADA_ZLIB_LIBRARY ${ZLIB_LIBRARY})
>    ELSE(ZLIB_FOUND)
>        IF(WIN32)
>            FIND_LIBRARY(COLLADA_ZLIB_LIBRARY
>                NAMES zlib
>                PATHS
>                ${COLLADA_DOM_ROOT}/external-libs/libxml2/win32/lib
>                ${COLLADA_DOM_ROOT}/external-libs/libxml2/mingw/lib
>            )
>        ENDIF(WIN32)
>    ENDIF(ZLIB_FOUND)
>
>    IF(WIN32)
>
>        FIND_LIBRARY(COLLADA_PCRECPP_LIBRARY
>            NAMES pcrecpp
>            PATHS
>            ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME}
>            ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac
>            ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw
>        )
>
>        FIND_LIBRARY(COLLADA_PCRECPP_LIBRARY_DEBUG
>            NAMES pcrecpp-d
>            PATHS
>            ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME}
>            ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac
>            ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw
>        )
>
>        FIND_LIBRARY(COLLADA_PCRE_LIBRARY
>            NAMES pcre
>            PATHS
>            ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME}
>            ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac
>            ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw
>        )
>
>        FIND_LIBRARY(COLLADA_PCRE_LIBRARY_DEBUG
>            NAMES pcre-d
>            PATHS
>            ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME}
>            ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac
>            ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw
>        )
>
>        FIND_LIBRARY(COLLADA_MINIZIP_LIBRARY
>            NAMES minizip
>            PATHS
>            ${COLLADA_DOM_ROOT}/external-libs/minizip/win32/lib
>            ${COLLADA_DOM_ROOT}/external-libs/minizip/mac
>        )
>
>        FIND_LIBRARY(COLLADA_MINIZIP_LIBRARY_DEBUG
>            NAMES minizip-d
>            PATHS
>            ${COLLADA_DOM_ROOT}/external-libs/minizip/win32/lib
>            ${COLLADA_DOM_ROOT}/external-libs/minizip/mac
>        )
>
>        FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY
>            NAMES libboost_filesystem
>            PATHS
>            ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
>            ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
>        )
>
>        FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY_DEBUG
>            NAMES libboost_filesystem-d
>            PATHS
>            ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
>            ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
>        )
>
>        FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY
>            NAMES libboost_system
>            PATHS
>            ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
>            ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
>        )
>
>        FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY_DEBUG
>            NAMES libboost_system-d
>            PATHS
>            ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
>            ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
>        )
>
>    ENDIF(WIN32)
>
> ENDIF(COLLADA_STATIC_LIBRARY)
>
> SET(COLLADA_FOUND "NO")
> IF(COLLADA_DYNAMIC_LIBRARY OR COLLADA_STATIC_LIBRARY)
>    IF   (COLLADA_INCLUDE_DIR)
>        SET(COLLADA_FOUND "YES")
>    ENDIF(COLLADA_INCLUDE_DIR)
> ENDIF(COLLADA_DYNAMIC_LIBRARY OR COLLADA_STATIC_LIBRARY)
>
> INCLUDE_DIRECTORIES( ${COLLADA_INCLUDE_DIR} ${COLLADA_INCLUDE_DIR}/1.4)
>
> SET(TARGET_SRC
>    daeReader.cpp
>    daeRGeometry.cpp
>    daeRMaterials.cpp
>    daeRSceneObjects.cpp
>    daeRTransforms.cpp
>    daeWGeometry.cpp
>    daeWMaterials.cpp
>    daeWriter.cpp
>    daeWSceneObjects.cpp
>    daeWTransforms.cpp
>    domSourceReader.cpp
>    ReaderWriterDAE.cpp
> )
>
> SET(TARGET_H
>    daeReader.h
>    daeWriter.h
>    domSourceReader.h
>    ReaderWriterDAE.h
> )
>
>
> IF(COLLADA_DYNAMIC_LIBRARY AND COLLADA_STATIC_LIBRARY)
>    OPTION(COLLADA_USE_STATIC "Set to ON to build OpenSceneGraph with static
> Collada support." OFF)
> ELSEIF(COLLADA_STATIC_LIBRARY)
>    SET(COLLADA_USE_STATIC "YES")
> ELSE()
>    SET(COLLADA_USE_STATIC "NO")
> ENDIF()
>
> ADD_DEFINITIONS(-DNO_BOOST)
>
> IF(COLLADA_USE_STATIC)
>    IF(WIN32)
>        ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB)
>        SET(TARGET_LIBRARIES_VARS
>            COLLADA_STATIC_LIBRARY
>            COLLADA_LIBXML_LIBRARY
>            COLLADA_ZLIB_LIBRARY
>            COLLADA_PCRECPP_LIBRARY
>            COLLADA_PCRE_LIBRARY
>            COLLADA_MINIZIP_LIBRARY
>            COLLADA_BOOST_FILESYSTEM_LIBRARY
>            COLLADA_BOOST_SYSTEM_LIBRARY)
>    ELSE()
>        SET(TARGET_LIBRARIES_VARS
>            COLLADA_STATIC_LIBRARY
>            COLLADA_LIBXML_LIBRARY
>            COLLADA_PCRECPP_LIBRARY
>            COLLADA_PCRE_LIBRARY
>            COLLADA_BOOST_FILESYSTEM_LIBRARY
>            COLLADA_BOOST_SYSTEM_LIBRARY)
>    ENDIF()
> ELSE()
>    IF(WIN32)
>        ADD_DEFINITIONS(-DDOM_DYNAMIC)
>    ENDIF(WIN32)
>    SET(TARGET_LIBRARIES_VARS COLLADA_DYNAMIC_LIBRARY)
> ENDIF(COLLADA_USE_STATIC)
>
> SET(TARGET_ADDED_LIBRARIES osgSim )
>
> #### end var setup  ###
> SETUP_PLUGIN(dae dae)
>
> _______________________________________________
> osg-submissions mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
>
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to