Fix glew build problems.

Cf. upstream ticket at
<https://bitbucket.org/cegui/cegui/issues/1131/opengl-renderers-fail-to-crosscompile-due>.
This commit is contained in:
Quintus 2016-07-29 12:38:01 +02:00
parent d3dc40229c
commit d809a42c00
3 changed files with 23 additions and 20 deletions

View File

@ -1,17 +0,0 @@
--- cmake/FindGLEW.cmake.orig 2016-07-19 14:11:06.255586305 +0200
+++ cmake/FindGLEW.cmake 2016-07-19 14:11:35.454653035 +0200
@@ -4,12 +4,12 @@
include(FindPackageHandleStandardArgs)
find_path(GLEW_H_PATH NAMES GL/glew.h)
-find_library(GLEW_LIB NAMES GLEW libGLEW glew libglew PATH_SUFFIXES dynamic)
+find_library(GLEW_LIB NAMES glew32 GLEW libGLEW glew libglew PATH_SUFFIXES dynamic)
find_library(GLEW_LIB_DBG NAMES GLEW_d libGLEW_d glew_d libglew_d PATH_SUFFIXES dynamic)
mark_as_advanced(GLEW_H_PATH GLEW_LIB GLEW_LIB_DBG)
if (WIN32 OR APPLE)
- find_library(GLEW_LIB_STATIC NAMES GLEW libGLEW glew libglew PATH_SUFFIXES static)
+ find_library(GLEW_LIB_STATIC NAMES glew32 GLEW libGLEW glew libglew PATH_SUFFIXES static)
find_library(GLEW_LIB_STATIC_DBG NAMES GLEW_d libGLEW_d glew_d libglew_d PATH_SUFFIXES static)
mark_as_advanced(GLEW_LIB_STATIC GLEW_LIB_STATIC_DBG)
endif()

View File

@ -0,0 +1,19 @@
# Fix linking order.
#
# Fixed upstream since commit bf699651740a1206c9ce214b91426db1e709ddc4,
# which was after version 0.8.7, so remove this patch when upgrading to
# version 0.8.8 or newer.
# See: https://bitbucket.org/cegui/cegui/issues/1131/opengl-renderers-fail-to-crosscompile-due
--- old/cegui/src/RendererModules/OpenGL/CMakeLists.txt 2016-04-23 20:19:40.000000000 +0200
+++ new/cegui/src/RendererModules/OpenGL/CMakeLists.txt 2016-07-29 11:58:25.062131930 +0200
@@ -52,9 +52,9 @@
cegui_add_dependency(${CEGUI_TARGET_NAME} GLM)
cegui_add_dependency(${CEGUI_TARGET_NAME} EPOXY)
elseif (${CEGUI_USE_GLEW})
- cegui_add_dependency(${CEGUI_TARGET_NAME} OPENGL)
cegui_add_dependency(${CEGUI_TARGET_NAME} GLM)
cegui_add_dependency(${CEGUI_TARGET_NAME} GLEW PUBLIC)
+ cegui_add_dependency(${CEGUI_TARGET_NAME} OPENGL)
endif ()
cegui_target_link_libraries(${CEGUI_TARGET_NAME} ${CEGUI_BASE_LIBNAME})

View File

@ -27,12 +27,13 @@ endef
# 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
# -DCMAKE_CXX_FLAGS="$($(PKG)_CXXFLAGS) $(shell $(TARGET)-pkg-config --cflags freetype2 glew freeimage)"
define $(PKG)_BUILD
mkdir '$(1)/build'
$(PATCH) '$(1)/cmake/FindGLEW.cmake' '$(TOP_DIR)/src/cegui-find-glew32.patch'
cd '$(1)/build' && cmake .. \
$(PATCH) -d '$(1)' -p1 < '$(TOP_DIR)/src/cegui-fix-linking-order.patch'
cd '$(1)/build' && export CXXFLAGS="$($(PKG)_CXXFLAGS) $(shell $(TARGET)-pkg-config --cflags freetype2 glew freeimage)" \
&& 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 \