move to colladadom debian package
This commit is contained in:
parent
bb64384ba8
commit
b9468d9c51
|
@ -11,6 +11,12 @@ include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
|
||||||
|
|
||||||
rosbuild_init()
|
rosbuild_init()
|
||||||
|
|
||||||
|
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake-extensions/ )
|
||||||
|
find_package(PkgConfig)
|
||||||
|
pkg_check_modules(COLLADADOM collada15dom)
|
||||||
|
include_directories(${COLLADADOM_INCLUDE_DIRS})
|
||||||
|
#link_directories(${COLLADADOM_LIBRARY_DIRS})
|
||||||
|
|
||||||
#set the default path for built executables to the "bin" directory
|
#set the default path for built executables to the "bin" directory
|
||||||
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
|
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
|
||||||
#set the default path for built libraries to the "lib" directory
|
#set the default path for built libraries to the "lib" directory
|
||||||
|
|
|
@ -13,10 +13,12 @@
|
||||||
|
|
||||||
<depend package="roscpp"/>
|
<depend package="roscpp"/>
|
||||||
<depend package="urdf_interface"/>
|
<depend package="urdf_interface"/>
|
||||||
<depend package="colladadom"/>
|
|
||||||
|
<rosdep name="colladadom"/>
|
||||||
|
|
||||||
<export>
|
<export>
|
||||||
<cpp cflags="-I${prefix}/include" lflags="-Wl,-rpath,${prefix}/lib -L${prefix}/lib -lcollada_parser"/>
|
<cpp cflags="-I${prefix}/include `pkg-config --cflags collada15dom`"
|
||||||
|
lflags="-Wl,-rpath,${prefix}/lib -L${prefix}/lib -lcollada_parser `pkg-config --libs collada15dom`"/>
|
||||||
</export>
|
</export>
|
||||||
|
|
||||||
</package>
|
</package>
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
<url>http://ros.org/wiki/collada_urdf</url>
|
<url>http://ros.org/wiki/collada_urdf</url>
|
||||||
<depend package="roscpp" />
|
<depend package="roscpp" />
|
||||||
<depend package="urdf" />
|
<depend package="urdf" />
|
||||||
<depend package="colladadom" />
|
|
||||||
<depend package="resource_retriever" />
|
<depend package="resource_retriever" />
|
||||||
<depend package="angles" />
|
<depend package="angles" />
|
||||||
<depend package="common_rosdeps" />
|
<depend package="common_rosdeps" />
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
all: installed
|
|
||||||
TARBALL = build/collada-dom-2.2.zip
|
|
||||||
TARBALL_URL = http://pr.willowgarage.com/downloads/collada-dom-2.2.zip
|
|
||||||
SOURCE_DIR = build/colladadom
|
|
||||||
INITIAL_DIR = build/collada-dom
|
|
||||||
UNPACK_CMD = unzip
|
|
||||||
TARBALL_PATCH = collada-dom.patch mac-x86_64.patch
|
|
||||||
MD5SUM_FILE = collada-dom-2.2.zip.md5sum
|
|
||||||
|
|
||||||
include $(shell rospack find mk)/download_unpack_build.mk
|
|
||||||
|
|
||||||
ROOT = $(shell rospack find colladadom)
|
|
||||||
|
|
||||||
# Copied from build/colladadom/dom/Makefile:
|
|
||||||
# os: 'linux', 'mac', 'windows', or 'ps3'. Use the 'uname' command to decide the
|
|
||||||
# default value. To detect when we're on Windows we'll check to see if we're
|
|
||||||
# running on Cygwin or MinGW.
|
|
||||||
OS := linux
|
|
||||||
ifneq ($(shell uname | grep -i darwin),)
|
|
||||||
OS := mac
|
|
||||||
else ifneq ($(or $(shell uname | grep -i cygwin),$(shell uname | grep -i mingw)),)
|
|
||||||
OS := windows
|
|
||||||
endif
|
|
||||||
|
|
||||||
installed: wiped $(SOURCE_DIR)/unpacked
|
|
||||||
@echo "ROOT is: $(ROOT)"
|
|
||||||
-mkdir -p $(ROOT)/include
|
|
||||||
-mkdir -p $(ROOT)/lib
|
|
||||||
@echo "making it"
|
|
||||||
cd $(SOURCE_DIR)/dom && make $(ROS_PARALLEL_JOBS)
|
|
||||||
cp -rf $(SOURCE_DIR)/dom/include/* $(ROOT)/include/
|
|
||||||
cp -rf $(SOURCE_DIR)/dom/build/$(OS)-1.5/*.* $(ROOT)/lib/
|
|
||||||
touch installed
|
|
||||||
|
|
||||||
wiped: Makefile
|
|
||||||
make wipe
|
|
||||||
touch wiped
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-cd $(SOURCE_DIR) && make clean
|
|
||||||
rm -rf $(ROOT)/include $(ROOT)/lib installed
|
|
||||||
|
|
||||||
wipe: clean
|
|
||||||
rm -rf build
|
|
||||||
|
|
||||||
.PHONY : clean download wipe
|
|
|
@ -1 +0,0 @@
|
||||||
bbb76ef2a8037c945c5cdf26829dcb7d build/collada-dom-2.2.zip
|
|
|
@ -1,116 +0,0 @@
|
||||||
Index: dom/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- dom/Makefile 2008-10-02 17:48:30.000000000 -0700
|
|
||||||
+++ dom/Makefile 2010-03-03 14:44:09.162398249 -0800
|
|
||||||
@@ -55,7 +55,7 @@
|
|
||||||
conf := release
|
|
||||||
|
|
||||||
# Collada version: '1.4', '1.5', or 'all'
|
|
||||||
-colladaVersion := 1.4
|
|
||||||
+colladaVersion := 1.5
|
|
||||||
|
|
||||||
# parser: 'libxml', 'tinyxml', or 'all'.
|
|
||||||
parser := libxml
|
|
||||||
@@ -188,7 +188,7 @@
|
|
||||||
ifneq ($(filter install uninstall installTest,$(MAKECMDGOALS)),)
|
|
||||||
# You can only install on Mac or Linux. Check for that.
|
|
||||||
ifeq ($(oss),linux)
|
|
||||||
-prefix := /usr/local
|
|
||||||
+prefix := ../../../
|
|
||||||
else ifeq ($(oss),mac)
|
|
||||||
prefix := /Library/Frameworks
|
|
||||||
else
|
|
||||||
Index: dom/make/common.mk
|
|
||||||
===================================================================
|
|
||||||
--- dom/make/common.mk 2008-05-14 17:30:42.000000000 -0700
|
|
||||||
+++ dom/make/common.mk 2010-04-07 17:16:11.000000000 -0700
|
|
||||||
@@ -17,6 +17,8 @@
|
|
||||||
debugSuffix :=
|
|
||||||
endif
|
|
||||||
|
|
||||||
+ccFlags += $(shell rosboost-cfg --cflags)
|
|
||||||
+
|
|
||||||
ifeq ($(os),mac)
|
|
||||||
# Add the -arch flags to specify what architectures we're building for.
|
|
||||||
ccFlags += $(addprefix -arch ,$(subst x86,i386,$(archs)))
|
|
||||||
Index: dom/make/domTest.mk
|
|
||||||
===================================================================
|
|
||||||
--- dom/make/domTest.mk 2008-09-03 08:51:18.000000000 -0700
|
|
||||||
+++ dom/make/domTest.mk 2010-04-07 17:17:18.000000000 -0700
|
|
||||||
@@ -55,13 +55,7 @@
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Boost defs
|
|
||||||
-ifeq ($(os),linux)
|
|
||||||
-libOpts += -lboost_filesystem
|
|
||||||
-else
|
|
||||||
-includeOpts += -Iexternal-libs/boost
|
|
||||||
-libOpts += external-libs/boost/lib/$(buildID)/libboost_system.a
|
|
||||||
-libOpts += external-libs/boost/lib/$(buildID)/libboost_filesystem.a
|
|
||||||
-endif
|
|
||||||
+libOpts += $(shell rosboost-cfg --lflags system,filesystem)
|
|
||||||
ifeq ($(os),ps3)
|
|
||||||
# PS3 doesn't support C++ locales, so tell boost not to use them
|
|
||||||
ccFlags += -DBOOST_NO_STD_LOCALE
|
|
||||||
|
|
||||||
--- dom/src/dae/daeSIDResolver.cpp
|
|
||||||
+++ dom/src/dae/daeSIDResolver.cpp
|
|
||||||
@@ -152,6 +152,18 @@
|
|
||||||
list<string>& remainingPart) {
|
|
||||||
remainingPart.clear();
|
|
||||||
|
|
||||||
+ // custom change for following instance urls (Rosen Diankov)
|
|
||||||
+ if ( strncmp( container->getElementName(), "instance_", 9 ) == 0 ) {
|
|
||||||
+ daeURI *uri = (daeURI*)container->getAttributeValue("url");
|
|
||||||
+ if ( uri != NULL && uri->getElement() != NULL ) {
|
|
||||||
+ daeElement *e = findWithDots( uri->getElement(), s, profile, finder, remainingPart );
|
|
||||||
+ if ( e != NULL ) {
|
|
||||||
+ //found it
|
|
||||||
+ return e;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
// First see if the whole thing resolves correctly
|
|
||||||
if (daeElement* result = finder(container, s, profile))
|
|
||||||
return result;
|
|
||||||
@@ -355,6 +367,23 @@
|
|
||||||
if ((!member.empty() || haveArrayIndex1) && result.scalar == NULL)
|
|
||||||
return daeSidRef::resolveData();
|
|
||||||
|
|
||||||
+ if( !!result.elt && !result.array && !result.scalar ) {
|
|
||||||
+ // if newparam, follow its SIDREF (Rosen Diankov)
|
|
||||||
+ if( strcmp(result.elt->getElementName(),"newparam") == 0) {
|
|
||||||
+ daeElement* psidref = result.elt->getChild("SIDREF");
|
|
||||||
+ if( !!psidref ) {
|
|
||||||
+ daeSidRef::resolveData newresult;
|
|
||||||
+ newresult = resolveImpl(daeSidRef(string("./") + psidref->getCharData(),result.elt->getParent(),sidRef.profile));
|
|
||||||
+ if( !newresult.elt ) {
|
|
||||||
+ newresult = resolveImpl(daeSidRef(psidref->getCharData(),result.elt->getParent(),sidRef.profile));
|
|
||||||
+ }
|
|
||||||
+ if( !!newresult.elt ) {
|
|
||||||
+ return newresult;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
// SID resolution was successful.
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
--- dom/test/1.5/domTest.cpp
|
|
||||||
+++ dom/test/1.5/domTest.cpp
|
|
||||||
@@ -88,11 +88,11 @@
|
|
||||||
|
|
||||||
|
|
||||||
string lookupTestFile(const string& fileName) {
|
|
||||||
- return (dataPath() / fileName).native_file_string();
|
|
||||||
+ return (dataPath() / fileName).string();
|
|
||||||
}
|
|
||||||
|
|
||||||
string getTmpFile(const string& fileName) {
|
|
||||||
- return (tmpPath() / fileName).native_file_string();
|
|
||||||
+ return (tmpPath() / fileName).string();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,92 +0,0 @@
|
||||||
--- dom/external-libs/boost/build/filesystem/Makefile 2008-04-23 19:21:32.000000000 -0500
|
|
||||||
+++ dom/external-libs/boost/build/filesystem/Makefile 2011-08-19 17:10:32.000000000 -0500
|
|
||||||
@@ -6,7 +6,7 @@
|
|
||||||
# Mac
|
|
||||||
compiler := g++
|
|
||||||
linker := ar
|
|
||||||
-compilerFlags += -arch ppc -arch i386
|
|
||||||
+compilerFlags += -arch i386 -arch x86_64
|
|
||||||
outPath := mac/
|
|
||||||
sources := operations.cpp path.cpp portability.cpp utf8_codecvt_facet.cpp
|
|
||||||
else
|
|
||||||
--- dom/external-libs/boost/build/system/Makefile 2008-04-23 19:21:32.000000000 -0500
|
|
||||||
+++ dom/external-libs/boost/build/system/Makefile 2011-08-19 17:11:12.000000000 -0500
|
|
||||||
@@ -6,7 +6,7 @@
|
|
||||||
# Mac
|
|
||||||
compiler := g++
|
|
||||||
linker := ar
|
|
||||||
-compilerFlags += -arch ppc -arch i386
|
|
||||||
+compilerFlags += -arch x86_64 -arch i386
|
|
||||||
outPath := mac/
|
|
||||||
else
|
|
||||||
# PS3
|
|
||||||
--- dom/external-libs/tinyxml/build/Makefile 2008-04-23 19:21:32.000000000 -0500
|
|
||||||
+++ dom/external-libs/tinyxml/build/Makefile 2011-08-19 17:11:29.000000000 -0500
|
|
||||||
@@ -19,7 +19,7 @@
|
|
||||||
|
|
||||||
compilerFlags += -Wall -c -O2
|
|
||||||
ifeq ($(platform),mac)
|
|
||||||
-compilerFlags += -arch i386 -arch ppc
|
|
||||||
+compilerFlags += -arch i386 -arch x86_64
|
|
||||||
endif
|
|
||||||
|
|
||||||
linkerFlags += rcs
|
|
||||||
--- dom/make/common.mk 2011-08-19 17:57:41.000000000 -0500
|
|
||||||
+++ dom/make/common.mk 2011-08-19 17:01:39.000000000 -0500
|
|
||||||
@@ -21,7 +21,8 @@
|
|
||||||
|
|
||||||
ifeq ($(os),mac)
|
|
||||||
# Add the -arch flags to specify what architectures we're building for.
|
|
||||||
-ccFlags += $(addprefix -arch ,$(subst x86,i386,$(archs)))
|
|
||||||
+# ccFlags += $(addprefix -arch ,$(subst x86,i386,$(archs)))
|
|
||||||
+ccFlags += $(addprefix -arch ,x86_64)
|
|
||||||
endif
|
|
||||||
|
|
||||||
libOpts :=
|
|
||||||
--- dom/make/dom.mk 2008-10-09 13:01:48.000000000 -0500
|
|
||||||
+++ dom/make/dom.mk 2011-08-19 17:46:27.000000000 -0500
|
|
||||||
@@ -31,14 +31,18 @@
|
|
||||||
|
|
||||||
ifneq ($(findstring tinyxml,$(xmlparsers)),)
|
|
||||||
ccFlags += -DDOM_INCLUDE_TINYXML
|
|
||||||
+ifeq ($(os),mac)
|
|
||||||
+libOpts += -ltinyxml
|
|
||||||
+else
|
|
||||||
includeOpts += -Iexternal-libs/tinyxml/
|
|
||||||
libOpts += external-libs/tinyxml/lib/$(buildID)/libtinyxml.a
|
|
||||||
endif
|
|
||||||
+endif
|
|
||||||
|
|
||||||
-ifeq ($(os),linux)
|
|
||||||
+ifneq ($(findstring $(os),linux mac),)
|
|
||||||
libOpts += -lpcre -lpcrecpp
|
|
||||||
else
|
|
||||||
-# On Mac, Windows and PS3 we need to be told where to find pcre
|
|
||||||
+# On Windows and PS3 we need to be told where to find pcre
|
|
||||||
ifeq ($(os),windows)
|
|
||||||
ccFlags += -DPCRE_STATIC
|
|
||||||
endif
|
|
||||||
@@ -52,9 +56,8 @@
|
|
||||||
libOpts += external-libs/boost/lib/$(buildID)/libboost_system.a
|
|
||||||
libOpts += external-libs/boost/lib/$(buildID)/libboost_filesystem.a
|
|
||||||
else ifeq ($(os),mac)
|
|
||||||
-includeOpts += -Iexternal-libs/boost
|
|
||||||
-libOpts += external-libs/boost/lib/$(buildID)/libboost_system.a
|
|
||||||
-libOpts += external-libs/boost/lib/$(buildID)/libboost_filesystem.a
|
|
||||||
+libOpts += $(shell rosboost-cfg --libs system)
|
|
||||||
+libOpts += $(shell rosboost-cfg --libs filesystem)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# minizip
|
|
||||||
--- rt/make/common.mk 2008-09-04 17:50:38.000000000 -0500
|
|
||||||
+++ rt/make/common.mk 2011-08-19 17:12:43.000000000 -0500
|
|
||||||
@@ -19,7 +19,8 @@
|
|
||||||
|
|
||||||
ifeq ($(os),mac)
|
|
||||||
# Add the -arch flags to specify what architectures we're building for.
|
|
||||||
-ccFlags += $(addprefix -arch ,$(subst x86,i386,$(archs)))
|
|
||||||
+# ccFlags += $(addprefix -arch ,$(subst x86,i386,$(archs)))
|
|
||||||
+ccFlags += $(addprefix -arch ,x86_64)
|
|
||||||
endif
|
|
||||||
|
|
||||||
libOpts :=
|
|
|
@ -1,26 +0,0 @@
|
||||||
/**
|
|
||||||
\mainpage
|
|
||||||
\htmlinclude manifest.html
|
|
||||||
|
|
||||||
\b colladadom is ...
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Provide an overview of your package.
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
\section codeapi Code API
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Provide links to specific auto-generated API documentation within your
|
|
||||||
package that is of particular interest to a reader. Doxygen will
|
|
||||||
document pretty much every part of your code, so do your best here to
|
|
||||||
point the reader to the actual API.
|
|
||||||
|
|
||||||
If your codebase is fairly large or has different sets of APIs, you
|
|
||||||
should use the doxygen 'group' tag to keep these APIs together. For
|
|
||||||
example, the roscpp documentation has 'libros' group.
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
*/
|
|
|
@ -1,28 +0,0 @@
|
||||||
<package>
|
|
||||||
<description brief="colladadom">
|
|
||||||
|
|
||||||
This package contains the COLLADA Document Object Model (DOM) which is an API that provides a C++ object representation of a COLLADA XML instance document.
|
|
||||||
Currently, this package pulls collada-dom-2.2 tar ball, and applies a local patch
|
|
||||||
containing
|
|
||||||
some custom changes,
|
|
||||||
various bug fixes as well as
|
|
||||||
forcing configure to use rosboost-cfg for boost compile/link flags.
|
|
||||||
|
|
||||||
See http://sourceforge.net/projects/collada-dom.
|
|
||||||
|
|
||||||
</description>
|
|
||||||
<author>Du Hung Hou, Khronos.org, Marcus Barnes, Greg Corson, Herbert Law, Sebastian Schwarz, Steven Thomas, John Hsu (ros package), Tim Field (ros package)</author>
|
|
||||||
<license>BSD</license>
|
|
||||||
<review status="Doc reviewed" notes=""/>
|
|
||||||
<url>http://ros.org/wiki/colladadom</url>
|
|
||||||
<rosdep name="libxml2"/>
|
|
||||||
<rosdep name="unzip"/>
|
|
||||||
<rosdep name="pcre"/>
|
|
||||||
<export>
|
|
||||||
<cpp lflags="-Wl,-rpath,${prefix}/lib -L${prefix}/lib -lcollada15dom -lminizip -lz `rosboost-cfg --lflags system` `rosboost-cfg --lflags filesystem`" cflags="-I${prefix}/include -I${prefix}/include/1.5 `rosboost-cfg --cflags`"/>
|
|
||||||
<cpp os="osx" lflags="-F${prefix}/lib -framework Collada15Dom" cflags="-I${prefix}/include -I${prefix}/include/1.5"/>
|
|
||||||
</export>
|
|
||||||
<platform os="ubuntu" version="9.04"/>
|
|
||||||
<platform os="ubuntu" version="9.10"/>
|
|
||||||
<platform os="ubuntu" version="10.04"/>
|
|
||||||
</package>
|
|
|
@ -11,7 +11,6 @@
|
||||||
<url>http://ros.org/wiki/urdf</url>
|
<url>http://ros.org/wiki/urdf</url>
|
||||||
|
|
||||||
<depend package="roscpp" />
|
<depend package="roscpp" />
|
||||||
<depend package="colladadom" />
|
|
||||||
<depend package="urdf_parser" />
|
<depend package="urdf_parser" />
|
||||||
<depend package="collada_parser" />
|
<depend package="collada_parser" />
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue