using cmake class for ros

This commit is contained in:
Lukas Bulwahn 2012-12-14 09:57:43 +01:00
parent 15041711d6
commit 56116c327e
1 changed files with 5 additions and 41 deletions

View File

@ -4,7 +4,7 @@ HOMEPAGE = "http://ros.org"
LICENSE = "CLOSED" LICENSE = "CLOSED"
# LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8" # LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
DEPENDS = "python-empy-native python-rospkg-native python-native python-pyyaml-native python-nose-native" DEPENDS = "python-empy-native python-rospkg-native python-native python-pyyaml-native python-nose-native eglibc"
PR = "r0" PR = "r0"
@ -13,8 +13,10 @@ SRC_URI = "file://ros_server.tar.gz \
S = "${WORKDIR}" S = "${WORKDIR}"
OECMAKE_SOURCEPATH = "${WORKDIR}/ros-underlay"
EXTRA_OECMAKE = "-DSETUPTOOLS_DEB_LAYOUT=OFF" EXTRA_OECMAKE = "-DSETUPTOOLS_DEB_LAYOUT=OFF"
inherit pythonnative cmake
do_configure_prepend () { do_configure_prepend () {
cat > /home/lukas/af_yocto/build/tmp/sysroots/x86_64-linux/usr/lib/python2.7/site-packages/easy-install.pth << EOF cat > /home/lukas/af_yocto/build/tmp/sysroots/x86_64-linux/usr/lib/python2.7/site-packages/easy-install.pth << EOF
@ -25,49 +27,11 @@ import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,
EOF EOF
} }
DEPENDS += " cmake-native " do_rosinstall () {
# We need to unset CCACHE otherwise cmake gets too confused
CCACHE = ""
# We want the staging and installing functions from autotools
inherit autotools
# Use in-tree builds by default but allow this to be changed
# since some packages do not support them (e.g. llvm 2.5).
OECMAKE_SOURCEPATH ?= "."
# If declaring this, make sure you also set EXTRA_OEMAKE to
# "-C ${OECMAKE_BUILDPATH}". So it will run the right makefiles.
OECMAKE_BUILDPATH ?= ""
# C/C++ Compiler (without cpu arch/tune arguments)
OECMAKE_C_COMPILER ?= "`echo ${CC} | sed 's/^\([^ ]*\).*/\1/'`"
OECMAKE_CXX_COMPILER ?= "`echo ${CXX} | sed 's/^\([^ ]*\).*/\1/'`"
# Compiler flags
OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CPPFLAGS}"
OECMAKE_CXX_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} -fpermissive"
OECMAKE_C_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} ${CPPFLAGS} -DNDEBUG"
OECMAKE_CXX_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} ${CXXFLAGS} -DNDEBUG"
OECMAKE_C_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CPPFLAGS} ${LDFLAGS}"
OECMAKE_CXX_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} ${LDFLAGS}"
OECMAKE_RPATH ?= ""
OECMAKE_PERLNATIVE_DIR ??= ""
OECMAKE_EXTRA_ROOT_PATH ?= ""
do_install () {
echo "Installing ros" echo "Installing ros"
mkdir -p ./ros-underlay mkdir -p ./ros-underlay
rosinstall --catkin ./ros-underlay fuerte-ros-base.rosinstall rosinstall --catkin ./ros-underlay fuerte-ros-base.rosinstall
cd ./ros-underlay
mkdir -p build
cd ./build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/ros/fuerte -DSETUPTOOLS_DEB_LAYOUT=OFF
} }
addtask rosinstall after do_patch before generate_toolchain_file
inherit pythonnative