dev-games/cegui: EAPI 7 and cmake.eclass
[gentoo.git] / dev-games / openscenegraph / openscenegraph-3.5.5.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5 WX_GTK_VER="3.0"
6
7 inherit cmake-utils flag-o-matic wxwidgets vcs-snapshot
8
9 MY_PN="OpenSceneGraph"
10 MY_P=${MY_PN}-${PV}
11
12 DESCRIPTION="Open source high performance 3D graphics toolkit"
13 HOMEPAGE="http://www.openscenegraph.org/"
14 SRC_URI="https://github.com/${PN}/${MY_PN}/archive/${MY_P}.tar.gz"
15
16 LICENSE="wxWinLL-3 LGPL-2.1"
17 SLOT="0/145" # NOTE: CHECK WHEN BUMPING! Subslot is SOVERSION
18 KEYWORDS="amd64 ~hppa ppc ppc64 x86"
19 IUSE="asio curl debug doc examples ffmpeg fltk fox gdal gif glut gstreamer jpeg
20 las lua openexr openinventor osgapps pdf png sdl sdl2 svg tiff
21 truetype vnc wxwidgets xine xrandr zlib"
22
23 REQUIRED_USE="sdl2? ( sdl )"
24
25 # TODO: COLLADA, FBX, GTA, OpenVRML, Performer, DCMTK
26 RDEPEND="
27         x11-libs/libSM
28         x11-libs/libXext
29         virtual/glu
30         virtual/opengl
31         asio? ( dev-cpp/asio )
32         curl? ( net-misc/curl )
33         examples? (
34                 fltk? ( x11-libs/fltk:1[opengl] )
35                 fox? ( x11-libs/fox:1.6[opengl] )
36                 glut? ( media-libs/freeglut )
37                 sdl2? ( media-libs/libsdl2 )
38                 wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[opengl,X] )
39         )
40         ffmpeg? ( media-video/ffmpeg:0= )
41         gdal? ( sci-libs/gdal )
42         gif? ( media-libs/giflib:= )
43         gstreamer? (
44                 media-libs/gstreamer:1.0
45                 media-libs/gst-plugins-base:1.0
46         )
47         jpeg? ( virtual/jpeg:0 )
48         las? ( >=sci-geosciences/liblas-1.8.0 )
49         lua? ( >=dev-lang/lua-5.1.5:* )
50         openexr? (
51                 media-libs/ilmbase:=
52                 media-libs/openexr:=
53         )
54         openinventor? ( media-libs/coin )
55         pdf? ( app-text/poppler[cairo] )
56         png? ( media-libs/libpng:0= )
57         sdl? ( media-libs/libsdl )
58         svg? (
59                 gnome-base/librsvg
60                 x11-libs/cairo
61         )
62         tiff? ( media-libs/tiff:0 )
63         truetype? ( media-libs/freetype:2 )
64         vnc? ( net-libs/libvncserver )
65         xine? ( media-libs/xine-lib )
66         xrandr? ( x11-libs/libXrandr )
67         zlib? ( sys-libs/zlib )
68 "
69 DEPEND="${RDEPEND}
70         app-arch/unzip
71         virtual/pkgconfig
72         x11-base/xorg-proto
73         doc? ( app-doc/doxygen )
74 "
75
76 S="${WORKDIR}/${MY_P}"
77
78 PATCHES=(
79         "${FILESDIR}"/${PN}-3.5.5-cmake.patch
80         "${FILESDIR}"/${PN}-3.5.1-jpeg-9.patch
81 )
82
83 src_configure() {
84         if use examples && use wxwidgets; then
85                 need-wxwidgets unicode
86         fi
87
88         # Needed by FFmpeg
89         append-cppflags -D__STDC_CONSTANT_MACROS
90
91         local mycmakeargs=(
92                 -DDYNAMIC_OPENSCENEGRAPH=ON
93                 -DGENTOO_DOCDIR="/usr/share/doc/${PF}"
94                 -DOPENGL_PROFILE=GL2 #GL1 GL2 GL3 GLES1 GLES3 GLES3
95                 -DOSG_PROVIDE_READFILE=ON
96                 -DOSG_USE_LOCAL_LUA_SOURCE=OFF
97                 -DWITH_Lua51=OFF # We use CMake-version FindLua.cmake instead
98                 -DWITH_Asio=$(usex asio)
99                 -DWITH_CURL=$(usex curl)
100                 -DBUILD_DOCUMENTATION=$(usex doc)
101                 -DBUILD_OSG_APPLICATIONS=$(usex osgapps)
102                 -DBUILD_OSG_EXAMPLES=$(usex examples)
103                 -DWITH_FFmpeg=$(usex ffmpeg)
104                 -DWITH_GDAL=$(usex gdal)
105                 -DWITH_GIFLIB=$(usex gif)
106                 -DWITH_GStreamer=$(usex gstreamer)
107                 -DWITH_GLIB=$(usex gstreamer)
108                 -DWITH_GtkGl=OFF
109                 -DWITH_JPEG=$(usex jpeg)
110                 -DWITH_Jasper=OFF
111                 -DWITH_LIBLAS=$(usex las)
112                 -DWITH_Lua=$(usex lua)
113                 -DWITH_OpenEXR=$(usex openexr)
114                 -DWITH_Inventor=$(usex openinventor)
115                 -DWITH_Poppler-glib=$(usex pdf)
116                 -DWITH_PNG=$(usex png)
117                 -DWITH_SDL=$(usex sdl)
118                 -DWITH_SDL2=$(usex sdl2)
119                 -DWITH_RSVG=$(usex svg rsvg)
120                 -DWITH_TIFF=$(usex tiff)
121                 -DWITH_Freetype=$(usex truetype)
122                 -DWITH_LibVNCServer=$(usex vnc)
123                 -DWITH_Xine=$(usex xine)
124                 -DOSGVIEWER_USE_XRANDR=$(usex xrandr)
125                 -DWITH_ZLIB=$(usex zlib)
126         )
127         if use examples; then
128                 mycmakeargs+=(
129                         -DWITH_FLTK=$(usex fltk)
130                         -DWITH_FOX=$(usex fox)
131                         -DWITH_GLUT=$(usex glut)
132                         -DWITH_wxWidgets=$(usex wxwidgets)
133                 )
134         fi
135
136         cmake-utils_src_configure
137 }
138
139 src_compile() {
140         cmake-utils_src_compile
141         use doc && cmake-utils_src_compile doc_openscenegraph doc_openthreads
142 }