summaryrefslogtreecommitdiffstats
path: root/src/cegui.mk
diff options
context:
space:
mode:
authorQuintus <quintus@quintilianus.eu>2016-07-19 17:38:53 (GMT)
committerQuintus <quintus@quintilianus.eu>2016-07-19 17:38:53 (GMT)
commitd3dc40229cd88e99e622dd699b868c79e8e7000d (patch)
tree35926e8cd217276158826205f47f61f10cb48f84 /src/cegui.mk
parent37a792bca98d97dd63ab5460b9749472dd166e42 (diff)
downloadmxe-d3dc40229cd88e99e622dd699b868c79e8e7000d.zip
mxe-d3dc40229cd88e99e622dd699b868c79e8e7000d.tar.gz
mxe-d3dc40229cd88e99e622dd699b868c79e8e7000d.tar.bz2
Start work to upgrade to CEGUI 0.8.x.
The build fails in the OpenGL parser with "_imp__" errors in GLEW currently.
Diffstat (limited to 'src/cegui.mk')
-rw-r--r--src/cegui.mk97
1 files changed, 55 insertions, 42 deletions
diff --git a/src/cegui.mk b/src/cegui.mk
index a7e22ed..77463b5 100644
--- a/src/cegui.mk
+++ b/src/cegui.mk
@@ -3,12 +3,15 @@
PKG := cegui
$(PKG)_IGNORE :=
-$(PKG)_VERSION := 0.7.9
-$(PKG)_CHECKSUM := 7c3b264def08b46de749c2acaba363e907479d924612436f3bd09da2e474bb8c
-$(PKG)_SUBDIR := CEGUI-$($(PKG)_VERSION)
-$(PKG)_FILE := CEGUI-$($(PKG)_VERSION).tar.gz
-$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/crayzedsgui/CEGUI%20Mk-2/$($(PKG)_VERSION)/$($(PKG)_FILE)?download
-$(PKG)_DEPS := gcc expat freeglut freeimage freetype libxml2 pcre xerces
+$(PKG)_VERSION := 0.8.7
+$(PKG)_CHECKSUM := b351e8957716d9c170612c13559e49530ef911ae4bac2feeb2dacd70b430e518
+$(PKG)_SUBDIR := cegui-$($(PKG)_VERSION)
+$(PKG)_FILE := cegui-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/crayzedsgui/CEGUI%20Mk-2/0.8/$($(PKG)_FILE)?download
+$(PKG)_DEPS := gcc expat freeglut freeimage freetype libxml2 pcre xerces devil glm glew
+
+# Does not detect the freetype header directory otherwise
+#$(PKG)_CXXFLAGS := -I/home/quintus/repos/privat/projekte/misc/mxe/usr/i686-w64-mingw32.static/include/freetype2 -I/home/quintus/repos/privat/projekte/misc/mxe/usr/i686-w64-mingw32.static/include
define $(PKG)_UPDATE
$(WGET) -q -O- 'https://bitbucket.org/cegui/cegui/downloads' | \
@@ -18,46 +21,56 @@ define $(PKG)_UPDATE
tail -1
endef
+# The shell escape is required to make CEGUI find the freetype2 header
+# directory, and to define the FREEIMAGE_LIB macro that prevents "_imp__"
+# errors when linking to freeimage. The glew one is required to
+# define GLEW_STATIC, but this is not completed yet (still gives "_imp__"
+# errors on glew).
+# cd '$(1)' && $(PATCH) < $(TOP_DIR)/src/cegui-find-glew32.patch
define $(PKG)_BUILD
- cd '$(1)' && ./configure \
- --host='$(TARGET)' \
- --disable-shared \
- --prefix='$(PREFIX)/$(TARGET)' \
- --enable-freetype \
- --enable-pcre \
- --enable-xerces-c \
- --enable-libxml \
- --enable-expat \
- --disable-corona \
- --disable-devil \
- --enable-freeimage \
- --disable-silly \
- --enable-tga \
- --disable-tinyxml \
- --enable-stb \
- --enable-opengl-renderer \
- --disable-ogre-renderer \
- --disable-irrlicht-renderer \
- --disable-directfb-renderer \
- --enable-null-renderer \
- --disable-samples \
- --disable-lua-module \
- --disable-python-module \
- PKG_CONFIG='$(TARGET)-pkg-config' \
- CFLAGS="`$(TARGET)-pkg-config --cflags glut freeimage`" \
- CXXFLAGS="`$(TARGET)-pkg-config --cflags glut freeimage`" \
- LDFLAGS="`$(TARGET)-pkg-config --libs glut freeimage`"
- $(MAKE) -C '$(1)' -j '$(JOBS)'
- $(SED) -i 's/Cflags:\(.*\)/Cflags: \1 -DCEGUI_STATIC/' '$(1)/cegui/CEGUI.pc'
- $(MAKE) -C '$(1)' -j '$(JOBS)' install
+ mkdir '$(1)/build'
+ $(PATCH) '$(1)/cmake/FindGLEW.cmake' '$(TOP_DIR)/src/cegui-find-glew32.patch'
+ cd '$(1)/build' && cmake .. \
+ -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+ -DCMAKE_CXX_FLAGS="$($(PKG)_CXXFLAGS) $(shell $(TARGET)-pkg-config --cflags freetype2 glew freeimage)" \
+ -DCEGUI_BUILD_STATIC_CONFIGURATION=$(if $(BUILD_STATIC),true,false) \
+ -DCEGUI_SAMPLES_ENABLED=OFF \
+ -DCEGUI_BUILD_TESTS=OFF \
+ -DCEGUI_BUILD_APPLICATION_TEMPLATES=OFF \
+ -DCEGUI_BUILD_LUA_MODULE=OFF \
+ -DCEGUI_BUILD_PYTHON_MODULES=OFF \
+ -DCEGUI_BUILD_XMLPARSER_XERCES=ON \
+ -DCEGUI_BUILD_XMLPARSER_LIBXML2=OFF \
+ -DCEGUI_BUILD_XMLPARSER_EXPAT=ON \
+ -DCEGUI_BUILD_XMLPARSER_TINYXML=OFF \
+ -DCEGUI_BUILD_XMLPARSER_RAPIDXML=OFF \
+ -DCEGUI_BUILD_IMAGECODEC_CORONA=OFF \
+ -DCEGUI_BUILD_IMAGECODEC_DEVIL=OFF \
+ -DCEGUI_BUILD_IMAGECODEC_FREEIMAGE=ON \
+ -DCEGUI_BUILD_IMAGECODEC_PVR=OFF \
+ -DCEGUI_BUILD_IMAGECODEC_SDL2=OFF \
+ -DCEGUI_BUILD_IMAGECODEC_SILLY=OFF \
+ -DCEGUI_BUILD_IMAGECODEC_STB=ON \
+ -DCEGUI_BUILD_IMAGECODEC_TGA=ON \
+ -DCEGUI_BUILD_RENDERER_DIRECT3D10=OFF \
+ -DCEGUI_BUILD_RENDERER_DIRECT3D11=OFF \
+ -DCEGUI_BUILD_RENDERER_DIRECT3D9=OFF \
+ -DCEGUI_BUILD_RENDERER_DIRECTFB=OFF \
+ -DCEGUI_BUILD_RENDERER_IRRLICHT=OFF \
+ -DCEGUI_BUILD_RENDERER_NULL=ON \
+ -DCEGUI_BUILD_RENDERER_OGRE=OFF \
+ -DCEGUI_BUILD_RENDERER_OPENGL=ON \
+ -DCEGUI_BUILD_RENDERER_OPENGL3=OFF \
+ -DCEGUI_BUILD_RENDERER_OPENGLES=OFF
+
+ $(MAKE) -C '$(1)/build' -j '$(JOBS)' install VERBOSE=1
'$(TARGET)-g++' \
-W -Wall -ansi -pedantic \
- '$(2).cpp' \
- `'$(TARGET)-pkg-config' --cflags --libs CEGUI-OPENGL glut freetype2 libpcre` \
- -lCEGUIFreeImageImageCodec -lCEGUIXercesParser -lCEGUIFalagardWRBase \
- `'$(TARGET)-pkg-config' --libs --cflags freeimage xerces-c` \
- -o '$(PREFIX)/$(TARGET)/bin/test-cegui.exe'
+ '$(2).cpp' -o '$(PREFIX)/$(TARGET)/bin/test-cegui.exe' \
+ `$(TARGET)-pkg-config --cflags --libs CEGUI-0-OPENGL glut freetype2 libpcre` \
+ -lCEGUIFreeImageImageCodec -lCEGUIXercesParser -lCEGUICoreWindowRendererSet \
+ `$(TARGET)-pkg-config --libs --cflags freeimage xerces-c`
endef
$(PKG)_BUILD_x86_64-w64-mingw32 =