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()
|
||||
|
||||
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(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
|
||||
#set the default path for built libraries to the "lib" directory
|
||||
|
|
|
@ -13,10 +13,12 @@
|
|||
|
||||
<depend package="roscpp"/>
|
||||
<depend package="urdf_interface"/>
|
||||
<depend package="colladadom"/>
|
||||
|
||||
<rosdep name="colladadom"/>
|
||||
|
||||
<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>
|
||||
|
||||
</package>
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
<url>http://ros.org/wiki/collada_urdf</url>
|
||||
<depend package="roscpp" />
|
||||
<depend package="urdf" />
|
||||
<depend package="colladadom" />
|
||||
<depend package="resource_retriever" />
|
||||
<depend package="angles" />
|
||||
<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>
|
||||
|
||||
<depend package="roscpp" />
|
||||
<depend package="colladadom" />
|
||||
<depend package="urdf_parser" />
|
||||
<depend package="collada_parser" />
|
||||
|
||||
|
|
Loading…
Reference in New Issue