Ogre needs host-swig with pcre support when python interpreter is
present on the target.
Otherwise the build stop with the following message:
"SWIG:7: Error: PCRE regex matching is not available in this SWIG build."
Ogre has been tested using the SampleBrowser binary but some demos
are not working due to missing optional dependencies (nvidia Cg plugin).
See: https://www.ogre3d.org/2019/05/01/ogre3d-1-12-released
Signed-off-by: Romain Naour <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
F: package/mesa3d/
F: package/minetest/
F: package/minetest-game/
+F: package/ogre/
F: package/openpowerlink/
F: package/physfs/
F: package/piglit/
source "package/mesa3d/Config.in"
source "package/mesa3d-headers/Config.in"
source "package/ocrad/Config.in"
+ source "package/ogre/Config.in"
source "package/psplash/Config.in"
source "package/sdl/Config.in"
source "package/sdl_gfx/Config.in"
--- /dev/null
+config BR2_PACKAGE_OGRE
+ bool "ogre"
+ depends on BR2_PACKAGE_HAS_LIBGL # libglu
+ depends on BR2_PACKAGE_XORG7
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
+ depends on !BR2_STATIC_LIBS
+ depends on BR2_USE_MMU
+ depends on BR2_USE_WCHAR # use wchar_t
+ select BR2_PACKAGE_FREETYPE
+ select BR2_PACKAGE_LIBFREEIMAGE
+ select BR2_PACKAGE_LIBGLU # GL/glu.h
+ select BR2_PACKAGE_SDL2
+ select BR2_PACKAGE_SDL2_OPENGL
+ select BR2_PACKAGE_SDL2_X11 # use wmInfo.info.x11
+ select BR2_PACKAGE_XLIB_LIBX11
+ select BR2_PACKAGE_XLIB_LIBXAW
+ select BR2_PACKAGE_XLIB_LIBXEXT
+ select BR2_PACKAGE_XLIB_LIBXRANDR
+ select BR2_PACKAGE_ZZIPLIB
+ help
+ OGRE is a scene-oriented, flexible 3D engine written in C++
+ designed to make it easier and more intuitive for developers
+ to produce games and demos utilising 3D hardware. The class
+ library abstracts all the details of using the underlying
+ system libraries like Direct3D and OpenGL and provides an
+ interface based on world objects and other intuitive classes.
+
+ https://ogrecave.github.io/ogre
+
+comment "ogre needs X11 and an OpenGL provider"
+ depends on !BR2_PACKAGE_HAS_LIBGL || !BR2_PACKAGE_XORG7
+ depends on BR2_TOOLCHAIN_HAS_THREADS && BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \
+ && BR2_INSTALL_LIBSTDCPP && !BR2_STATIC_LIBS && BR2_USE_WCHAR
+ depends on BR2_USE_MMU
+
+comment "ogre needs a toolchain w/ C++, dynamic library, gcc >= 4.8, threads, wchar"
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \
+ || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \
+ || !BR2_USE_WCHAR
+ depends on BR2_USE_MMU
--- /dev/null
+# sha256 locally computed
+sha256 163e7700e319532d4389ecba91e3ab88551f78610886fa36f8f262f9a5080988 ogre-1.12.0.tar.gz
+sha256 82758e8d1d72139904b9b7472ef0f6544413d2871b58540307fdcc20e473e5f8 LICENSE
--- /dev/null
+################################################################################
+#
+# ogre
+#
+################################################################################
+
+OGRE_VERSION = 1.12.0
+OGRE_SITE = $(call github,OGRECave,ogre,v$(OGRE_VERSION))
+OGRE_LICENSE = MIT (main library, DeferredShadingMedia samples), Public Domain (samples and plugins), Zlib (tinyxml)
+OGRE_LICENSE_FILES = LICENSE
+OGRE_INSTALL_STAGING = YES
+
+# Ogre use a bundled version of tinyxml
+OGRE_DEPENDENCIES = host-pkgconf \
+ freetype \
+ libfreeimage \
+ libgl \
+ libglu \
+ sdl2 \
+ xlib_libX11 \
+ xlib_libXaw \
+ xlib_libXext \
+ xlib_libXrandr \
+ zziplib
+
+# Unbundle freetype and zziplib.
+# Disable java and nvidia cg support.
+OGRE_CONF_OPTS = -DOGRE_BUILD_DEPENDENCIES=OFF \
+ -DOGRE_BUILD_COMPONENT_JAVA=OFF \
+ -DOGRE_BUILD_PLUGIN_CG=OFF \
+ -DOGRE_INSTALL_DOCS=OFF
+
+# Enable optional python component if python interpreter is present on the target.
+ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y)
+OGRE_DEPENDENCIES += host-swig \
+ $(if $(BR2_PACKAGE_PYTHON3),host-python3,host-python)
+OGRE_CONF_OPTS += -DOGRE_BUILD_COMPONENT_PYTHON=ON
+else
+OGRE_CONF_OPTS += -DOGRE_BUILD_COMPONENT_PYTHON=OFF
+endif
+
+$(eval $(cmake-package))