summaryrefslogtreecommitdiff
blob: a9cf523a1e2cd491e376ad94f813a3c64e32cf9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Copyright 2008-2012 Funtoo Technologies
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=4

inherit qt4-r2 cmake-utils

MY_P=${PN}-${PV/_rc/-RC}

DESCRIPTION="A 3D multiple robot simulator with dynamics."
HOMEPAGE="http://gazebosim.org"
SRC_URI="${HOMEPAGE}/assets/distributions/${MY_P}.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64"
IUSE="doc player"

RDEPEND="
	x11-libs/qt-gui:4
	dev-libs/libxml2
	dev-libs/tinyxml
	dev-libs/protobuf
	>=dev-libs/boost-1.40.0
	dev-cpp/tbb
	media-libs/openal
	media-video/ffmpeg
	media-libs/freeglut
	>=media-libs/freeimage-3.9.0
	|| ( >=dev-games/ode-0.11.1 sci-physics/bullet )
	>=dev-games/ogre-1.7.1[freeimage,cg]
	player? ( sci-electronics/player )
"
DEPEND="${RDEPEND}
	doc? ( app-doc/doxygen )
"

S=${WORKDIR}/${MY_P}-x86_64

src_configure() {
	local mycmakeargs=(
		$(cmake-utils_use player INCLUDE_PLAYER)
	)

	# dev-libs/tinyxml doesn't provide a pkg-config file, and needs to be
	# compatible with std::string
	mycmakeargs+=(
		"-Dtinyxml_include_dirs=/usr/include"
		"-Dtinyxml_library_dirs=/usr/lib"
		"-Dtinyxml_libraries=/usr/lib/libtinyxml.so"
		"-Dtinyxml_cflags=-DTIXML_USE_STL"
	)

	cmake-utils_src_configure
}

src_compile() {
	cmake-utils_src_compile

	if use doc; then
		cd ${CMAKE_BUILD_DIR}
		emake doc
	fi
}

src_install() {
	cmake-utils_src_install

	if use doc; then
		dohtml -r ${CMAKE_BUILD_DIR}/doxygen/html/*
	fi
}