Skip to content

Commit

Permalink
2.8 branch: Improvements for building COLLADA. CMake only, does not c…
Browse files Browse the repository at this point in the history
…hange the actual COLLADA plugin (it's same as 2.8.2). Merged in this commit: r9759, r9952, r10336, r10626, and r10637.
  • Loading branch information
Paul MARTZ committed Apr 1, 2010
1 parent 01b5108 commit dab855f
Show file tree
Hide file tree
Showing 2 changed files with 125 additions and 131 deletions.
190 changes: 87 additions & 103 deletions CMakeModules/FindCOLLADA.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,17 @@

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
Expand All @@ -37,10 +48,10 @@ FIND_PATH(COLLADA_INCLUDE_DIR dae.h
)

FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY
NAMES collada_dom collada14dom libcollada14dom21
NAMES collada_dom collada14dom Collada14Dom libcollada14dom21 libcollada14dom22
PATHS
${COLLADA_DOM_ROOT}/build/vc8-1.4
$ENV{COLLADA_DIR}/build/vc8-1.4
${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}
Expand All @@ -62,10 +73,10 @@ FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY
)

FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY_DEBUG
NAMES collada_dom-d collada14dom-d libcollada14dom21-d
NAMES collada_dom-d collada14dom-d Collada14Dom-d libcollada14dom21-d libcollada14dom22-d
PATHS
${COLLADA_DOM_ROOT}/build/vc8-1.4-d
$ENV{COLLADA_DIR}/build/vc8-1.4-d
${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}
Expand All @@ -87,10 +98,10 @@ FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY_DEBUG
)

FIND_LIBRARY(COLLADA_STATIC_LIBRARY
NAMES libcollada14dom21-s
NAMES libcollada14dom21-s libcollada14dom22-s
PATHS
${COLLADA_DOM_ROOT}/build/vc8-1.4
$ENV{COLLADA_DIR}/build/vc8-1.4
${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}
Expand All @@ -112,10 +123,10 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY
)

FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG
NAMES collada_dom-sd collada14dom-sd libcollada14dom21-sd
NAMES collada_dom-sd collada14dom-sd libcollada14dom21-sd libcollada14dom22-sd
PATHS
${COLLADA_DOM_ROOT}/build/vc8-1.4-d
$ENV{COLLADA_DIR}/build/vc8-1.4-d
${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}
Expand All @@ -136,8 +147,6 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG
/usr/freeware/lib64
)

IF(COLLADA_STATIC_LIBRARY)

# find extra libraries that the static linking requires

FIND_PACKAGE(LibXml2)
Expand Down Expand Up @@ -168,105 +177,80 @@ IF(COLLADA_STATIC_LIBRARY)
ENDIF(WIN32)
ENDIF(ZLIB_FOUND)

IF(WIN32)

FIND_LIBRARY(COLLADA_PCRECPP_LIBRARY
NAMES pcrecpp
PATHS
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/vc8
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/vc9
${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/vc8
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/vc9
${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/vc8
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/vc9
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mac
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw
)
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_PCRE_LIBRARY_DEBUG
NAMES pcre-d
PATHS
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/vc8
${COLLADA_DOM_ROOT}/external-libs/pcre/lib/vc9
${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_MINIZIP_LIBRARY
NAMES minizip
PATHS
${COLLADA_DOM_ROOT}/external-libs/minizip/win32/lib
${COLLADA_DOM_ROOT}/external-libs/minizip/mac
)
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_MINIZIP_LIBRARY_DEBUG
NAMES minizip-d
PATHS
${COLLADA_DOM_ROOT}/external-libs/minizip/win32/lib
${COLLADA_DOM_ROOT}/external-libs/minizip/mac
)

ENDIF(WIN32)

ENDIF(COLLADA_STATIC_LIBRARY)

IF(COLLADA_DYNAMIC_LIBRARY OR COLLADA_STATIC_LIBRARY)
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
)

IF(WIN32)

FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY
NAMES libboost_filesystem
PATHS
${COLLADA_DOM_ROOT}/external-libs/boost/lib/vc8
${COLLADA_DOM_ROOT}/external-libs/boost/lib/vc9
${COLLADA_DOM_ROOT}/external-libs/boost/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_BOOST_FILESYSTEM_LIBRARY_DEBUG
NAMES libboost_filesystem-d
PATHS
${COLLADA_DOM_ROOT}/external-libs/boost/lib/vc8
${COLLADA_DOM_ROOT}/external-libs/boost/lib/vc9
${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
)
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_SYSTEM_LIBRARY
NAMES libboost_system
PATHS
${COLLADA_DOM_ROOT}/external-libs/boost/lib/vc8
${COLLADA_DOM_ROOT}/external-libs/boost/lib/vc9
${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
)
FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY
NAMES libboost_filesystem boost_filesystem
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/vc8
${COLLADA_DOM_ROOT}/external-libs/boost/lib/vc9
${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
)
FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY_DEBUG
NAMES libboost_filesystem-d boost_filesystem-d
PATHS
${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
)

FIND_PATH(COLLADA_BOOST_INCLUDE_DIR boost/filesystem/convenience.hpp
${COLLADA_DOM_ROOT}/external-libs/boost
)
FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY
NAMES libboost_system boost_system
PATHS
${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
)

ENDIF(WIN32)
FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY_DEBUG
NAMES libboost_system-d boost_system-d
PATHS
${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
)

ENDIF(COLLADA_DYNAMIC_LIBRARY OR COLLADA_STATIC_LIBRARY)

SET(COLLADA_FOUND "NO")
IF(COLLADA_DYNAMIC_LIBRARY OR COLLADA_STATIC_LIBRARY)
Expand Down
66 changes: 38 additions & 28 deletions src/osgPlugins/dae/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
IF (WIN32)
INCLUDE_DIRECTORIES( ${COLLADA_INCLUDE_DIR} ${COLLADA_INCLUDE_DIR}/1.4 ${COLLADA_BOOST_INCLUDE_DIR} )
ELSE (WIN32)
INCLUDE_DIRECTORIES( ${COLLADA_INCLUDE_DIR} ${COLLADA_INCLUDE_DIR}/1.4)
ENDIF (WIN32)
INCLUDE_DIRECTORIES( ${COLLADA_INCLUDE_DIR} ${COLLADA_INCLUDE_DIR}/1.4)

SET(TARGET_SRC
daeReader.cpp
Expand All @@ -23,40 +19,54 @@ SET(TARGET_H
daeReader.h
daeWriter.h
domSourceReader.h
ReaderWriterDAE.h
)


IF (COLLADA_DYNAMIC_LIBRARY AND COLLADA_STATIC_LIBRARY)

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()

ELSE(COLLADA_DYNAMIC_LIBRARY AND COLLADA_STATIC_LIBRARY)

IF (COLLADA_STATIC_LIBRARY)
SET(COLLADA_USE_STATIC "YES")
ELSE(COLLADA_STATIC_LIBRARY)
SET(COLLADA_USE_STATIC "NO")
ENDIF(COLLADA_STATIC_LIBRARY)
ADD_DEFINITIONS(-DNO_BOOST)

ENDIF(COLLADA_DYNAMIC_LIBRARY AND COLLADA_STATIC_LIBRARY)

IF (COLLADA_USE_STATIC)
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(WIN32)
SET(TARGET_LIBRARIES_VARS COLLADA_STATIC_LIBRARY COLLADA_LIBXML_LIBRARY COLLADA_PCRECPP_LIBRARY COLLADA_BOOST_FILESYSTEM_LIBRARY COLLADA_BOOST_SYSTEM_LIBRARY)
ENDIF(WIN32)
ELSE (COLLADA_USE_STATIC)
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 -DBOOST_ALL_NO_LIB)
SET(TARGET_LIBRARIES_VARS COLLADA_DYNAMIC_LIBRARY COLLADA_BOOST_SYSTEM_LIBRARY)
ELSE(WIN32)
ADD_DEFINITIONS(-DDOM_DYNAMIC)
SET(TARGET_LIBRARIES_VARS COLLADA_DYNAMIC_LIBRARY)
ENDIF(WIN32)
ENDIF(COLLADA_USE_STATIC)
ELSE()
SET(TARGET_LIBRARIES_VARS
COLLADA_DYNAMIC_LIBRARY
COLLADA_BOOST_FILESYSTEM_LIBRARY)
ENDIF()

ENDIF()

SET(TARGET_ADDED_LIBRARIES osgSim )
SET(TARGET_ADDED_LIBRARIES osgSim osgAnimation)

#### end var setup ###
SETUP_PLUGIN(dae dae)

0 comments on commit dab855f

Please sign in to comment.