[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36024] trunk/blender: add option WITH_BUILTIN_GLEW, so linux packagers can disable to use their own glew library.

Campbell Barton ideasman42 at gmail.com
Wed Apr 6 01:31:02 CEST 2011


Revision: 36024
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36024
Author:   campbellbarton
Date:     2011-04-05 23:31:01 +0000 (Tue, 05 Apr 2011)
Log Message:
-----------
add option WITH_BUILTIN_GLEW, so linux packagers can disable to use their own glew library.

Modified Paths:
--------------
    trunk/blender/CMakeLists.txt
    trunk/blender/build_files/cmake/macros.cmake
    trunk/blender/extern/CMakeLists.txt
    trunk/blender/intern/ghost/CMakeLists.txt
    trunk/blender/source/blender/blenfont/CMakeLists.txt
    trunk/blender/source/blender/blenkernel/CMakeLists.txt
    trunk/blender/source/blender/editors/render/CMakeLists.txt
    trunk/blender/source/blender/gpu/CMakeLists.txt
    trunk/blender/source/blender/makesrna/intern/CMakeLists.txt
    trunk/blender/source/blender/nodes/CMakeLists.txt
    trunk/blender/source/blender/python/generic/CMakeLists.txt
    trunk/blender/source/blender/windowmanager/CMakeLists.txt
    trunk/blender/source/blenderplayer/CMakeLists.txt
    trunk/blender/source/creator/CMakeLists.txt
    trunk/blender/source/gameengine/BlenderRoutines/CMakeLists.txt
    trunk/blender/source/gameengine/GamePlayer/common/CMakeLists.txt
    trunk/blender/source/gameengine/GamePlayer/ghost/CMakeLists.txt
    trunk/blender/source/gameengine/Ketsji/CMakeLists.txt
    trunk/blender/source/gameengine/Physics/Bullet/CMakeLists.txt
    trunk/blender/source/gameengine/Rasterizer/CMakeLists.txt
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt
    trunk/blender/source/gameengine/VideoTexture/CMakeLists.txt

Added Paths:
-----------
    trunk/blender/build_files/cmake/Modules/
    trunk/blender/build_files/cmake/Modules/FindGLEW.cmake

Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt	2011-04-05 12:31:55 UTC (rev 36023)
+++ trunk/blender/CMakeLists.txt	2011-04-05 23:31:01 UTC (rev 36024)
@@ -44,6 +44,9 @@
 
 cmake_minimum_required(VERSION 2.8)
 
+# this starts out unset
+set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build_files/cmake/Modules/")
+
 # quiet output for Makefiles, 'make -s' helps too
 # set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
 
@@ -86,6 +89,7 @@
 
 if(UNIX AND NOT APPLE)
 	option(WITH_X11_XINPUT "Enable X11 Xinput (tablet support)"	ON)
+	option(WITH_BUILTIN_GLEW "Use GLEW OpenGL wrapper library bundled with blender" ON)
 endif()
 
 # Modifiers
@@ -1021,6 +1025,19 @@
 endif() 
 
 #-----------------------------------------------------------------------------
+# Configure GLEW
+
+if(WITH_BUILTIN_GLEW)
+	# set(GLEW_LIBRARY "")  # unused
+	set(GLEW_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/extern/glew/include")
+else()
+	find_package(GLEW)
+	if(NOT GLEW_FOUND)
+		message(FATAL_ERROR "GLEW is required to build blender, install it or use WITH_BUILTIN_GLEW")
+	endif()
+endif()
+
+#-----------------------------------------------------------------------------
 # Configure Python.
 
 if(WITH_PYTHON_MODULE)

Added: trunk/blender/build_files/cmake/Modules/FindGLEW.cmake
===================================================================
--- trunk/blender/build_files/cmake/Modules/FindGLEW.cmake	                        (rev 0)
+++ trunk/blender/build_files/cmake/Modules/FindGLEW.cmake	2011-04-05 23:31:01 UTC (rev 36024)
@@ -0,0 +1,59 @@
+#
+# Try to find GLEW library and include path.
+# Once done this will define
+#
+# GLEW_FOUND
+# GLEW_INCLUDE_PATH
+# GLEW_LIBRARY
+# 
+
+IF (WIN32)
+	FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h
+		$ENV{PROGRAMFILES}/GLEW/include
+		${PROJECT_SOURCE_DIR}/src/nvgl/glew/include
+		DOC "The directory where GL/glew.h resides")
+	IF (NV_SYSTEM_PROCESSOR STREQUAL "AMD64")
+		FIND_LIBRARY( GLEW_LIBRARY
+			NAMES glew64 glew64s
+			PATHS
+			$ENV{PROGRAMFILES}/GLEW/lib
+			${PROJECT_SOURCE_DIR}/src/nvgl/glew/bin
+	    	${PROJECT_SOURCE_DIR}/src/nvgl/glew/lib
+			DOC "The GLEW library (64-bit)"
+		)
+	ELSE(NV_SYSTEM_PROCESSOR STREQUAL "AMD64")
+		FIND_LIBRARY( GLEW_LIBRARY
+			NAMES glew GLEW glew32 glew32s
+			PATHS
+			$ENV{PROGRAMFILES}/GLEW/lib
+			${PROJECT_SOURCE_DIR}/src/nvgl/glew/bin
+	    	${PROJECT_SOURCE_DIR}/src/nvgl/glew/lib
+			DOC "The GLEW library"
+		)
+	ENDIF(NV_SYSTEM_PROCESSOR STREQUAL "AMD64")
+ELSE (WIN32)
+	FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h
+		/usr/include
+		/usr/local/include
+		/sw/include
+		/opt/local/include
+		DOC "The directory where GL/glew.h resides")
+	FIND_LIBRARY( GLEW_LIBRARY
+		NAMES GLEW glew
+		PATHS
+		/usr/lib64
+		/usr/lib
+		/usr/local/lib64
+		/usr/local/lib
+		/sw/lib
+		/opt/local/lib
+		DOC "The GLEW library")
+ENDIF (WIN32)
+
+IF (GLEW_INCLUDE_PATH)
+	SET( GLEW_FOUND 1 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise")
+ELSE (GLEW_INCLUDE_PATH)
+	SET( GLEW_FOUND 0 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise")
+ENDIF (GLEW_INCLUDE_PATH)
+
+MARK_AS_ADVANCED( GLEW_FOUND )
\ No newline at end of file

Modified: trunk/blender/build_files/cmake/macros.cmake
===================================================================
--- trunk/blender/build_files/cmake/macros.cmake	2011-04-05 12:31:55 UTC (rev 36023)
+++ trunk/blender/build_files/cmake/macros.cmake	2011-04-05 23:31:01 UTC (rev 36024)
@@ -138,6 +138,10 @@
 		endif()
 	endif()
 
+	if(NOT WITH_BUILTIN_GLEW)
+		target_link_libraries(${target} ${GLEW_LIBRARY})
+	endif()
+
 	target_link_libraries(${target} ${OPENGL_glu_LIBRARY} ${JPEG_LIBRARIES} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES})
 	target_link_libraries(${target} ${FREETYPE_LIBRARY})
 

Modified: trunk/blender/extern/CMakeLists.txt
===================================================================
--- trunk/blender/extern/CMakeLists.txt	2011-04-05 12:31:55 UTC (rev 36023)
+++ trunk/blender/extern/CMakeLists.txt	2011-04-05 23:31:01 UTC (rev 36024)
@@ -35,7 +35,9 @@
 	add_subdirectory(binreloc)
 endif()
 
-add_subdirectory(glew)
+if(WITH_BUILTIN_GLEW)
+	add_subdirectory(glew)
+endif()
 
 if(WITH_IMAGE_OPENJPEG AND (NOT UNIX OR APPLE))
 	add_subdirectory(libopenjpeg)

Modified: trunk/blender/intern/ghost/CMakeLists.txt
===================================================================
--- trunk/blender/intern/ghost/CMakeLists.txt	2011-04-05 12:31:55 UTC (rev 36023)
+++ trunk/blender/intern/ghost/CMakeLists.txt	2011-04-05 23:31:01 UTC (rev 36024)
@@ -27,9 +27,9 @@
 set(INC
 	.
 	../string
-	../../extern/glew/include
 	../../source/blender/imbuf
 	../../source/blender/makesdna
+    ${GLEW_INCLUDE_PATH}
 )
 
 set(SRC

Modified: trunk/blender/source/blender/blenfont/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/blenfont/CMakeLists.txt	2011-04-05 12:31:55 UTC (rev 36023)
+++ trunk/blender/source/blender/blenfont/CMakeLists.txt	2011-04-05 23:31:01 UTC (rev 36024)
@@ -29,7 +29,7 @@
 	../editors/include
 	../blenkernel
 	../../../intern/guardedalloc
-	../../../extern/glew/include
+    ${GLEW_INCLUDE_PATH}
 	${FREETYPE_INCLUDE_DIRS}
 )
 

Modified: trunk/blender/source/blender/blenkernel/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/blenkernel/CMakeLists.txt	2011-04-05 12:31:55 UTC (rev 36023)
+++ trunk/blender/source/blender/blenkernel/CMakeLists.txt	2011-04-05 23:31:01 UTC (rev 36024)
@@ -38,7 +38,6 @@
 	../nodes
 	../editors/include
 	../render/extern/include
-	../../../extern/glew/include
 	../../../intern/audaspace/intern
 	../../../intern/bsp/extern ../blenfont
 	../../../intern/decimation/extern
@@ -50,6 +49,7 @@
 	../../../intern/smoke/extern
 	../../../intern/mikktspace
     ../../../source/blender/windowmanager # XXX - BAD LEVEL CALL WM_api.h
+	${GLEW_INCLUDE_PATH}
 	${ZLIB_INCLUDE_DIRS}
 )
 

Modified: trunk/blender/source/blender/editors/render/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/editors/render/CMakeLists.txt	2011-04-05 12:31:55 UTC (rev 36023)
+++ trunk/blender/source/blender/editors/render/CMakeLists.txt	2011-04-05 23:31:01 UTC (rev 36024)
@@ -32,7 +32,7 @@
 	../../render/extern/include
 	../../windowmanager
 	../../../../intern/guardedalloc
-	../../../../extern/glew/include
+    ${GLEW_INCLUDE_PATH}
 )
 
 set(SRC

Modified: trunk/blender/source/blender/gpu/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/gpu/CMakeLists.txt	2011-04-05 12:31:55 UTC (rev 36023)
+++ trunk/blender/source/blender/gpu/CMakeLists.txt	2011-04-05 23:31:01 UTC (rev 36024)
@@ -32,9 +32,9 @@
 	../imbuf
 	../makesdna
 	../makesrna
-	../../../extern/glew/include
 	../../../intern/guardedalloc
 	../../../intern/smoke/extern
+    ${GLEW_INCLUDE_PATH}
 )
 
 set(SRC

Modified: trunk/blender/source/blender/makesrna/intern/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/makesrna/intern/CMakeLists.txt	2011-04-05 12:31:55 UTC (rev 36023)
+++ trunk/blender/source/blender/makesrna/intern/CMakeLists.txt	2011-04-05 23:31:01 UTC (rev 36024)
@@ -144,10 +144,10 @@
 	../../windowmanager
 	../../editors/include
 	../../render/extern/include
-	../../../../extern/glew/include
 	../../../../intern/audaspace/intern
 	../../../../intern/guardedalloc
 	../../../../intern/memutil
+    ${GLEW_INCLUDE_PATH}
 )
 
 add_executable(makesrna ${SRC} ${SRC_RNA_INC} ${SRC_DNA_INC})

Modified: trunk/blender/source/blender/nodes/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/nodes/CMakeLists.txt	2011-04-05 12:31:55 UTC (rev 36023)
+++ trunk/blender/source/blender/nodes/CMakeLists.txt	2011-04-05 23:31:01 UTC (rev 36024)
@@ -34,7 +34,7 @@
 	../makesrna
 	../render/extern/include
 	../../../intern/guardedalloc
-	../../../extern/glew/include
+	${GLEW_INCLUDE_PATH}
 )
 
 set(SRC

Modified: trunk/blender/source/blender/python/generic/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/python/generic/CMakeLists.txt	2011-04-05 12:31:55 UTC (rev 36023)
+++ trunk/blender/source/blender/python/generic/CMakeLists.txt	2011-04-05 23:31:01 UTC (rev 36024)
@@ -25,7 +25,7 @@
 	../../blenkernel
 	../../blenloader
 	../../../../intern/guardedalloc
-	../../../../extern/glew/include
+	${GLEW_INCLUDE_PATH}
 	${PYTHON_INCLUDE_DIRS}
 )
 

Modified: trunk/blender/source/blender/windowmanager/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/windowmanager/CMakeLists.txt	2011-04-05 12:31:55 UTC (rev 36023)
+++ trunk/blender/source/blender/windowmanager/CMakeLists.txt	2011-04-05 23:31:01 UTC (rev 36024)
@@ -43,8 +43,8 @@
 	../../../intern/elbeem/extern
 	../../../intern/ghost
 	../../../intern/opennl/extern
-	../../../extern/glew/include
 	${OPENGL_INCLUDE_DIR}
+	${GLEW_INCLUDE_PATH}
 )
 
 set(SRC

Modified: trunk/blender/source/blenderplayer/CMakeLists.txt
===================================================================
--- trunk/blender/source/blenderplayer/CMakeLists.txt	2011-04-05 12:31:55 UTC (rev 36023)
+++ trunk/blender/source/blenderplayer/CMakeLists.txt	2011-04-05 23:31:01 UTC (rev 36024)
@@ -112,13 +112,16 @@
 		bf_intern_audaspace
 		blenkernel_blc
 		extern_binreloc
-		extern_glew
 		extern_minilzo
 		bf_intern_ghost # duplicate for linking
 		bf_blenkernel # duplicate for linking
 		bf_intern_mikktspace
 	)
 
+    if(WITH_BUILTIN_GLEW)
+		list(APPEND BLENDER_SORTED_LIBS extern_glew)
+    endif()
+
 	if(WITH_LZMA)
 		list(APPEND BLENDER_SORTED_LIBS extern_lzma)
 	endif()

Modified: trunk/blender/source/creator/CMakeLists.txt
===================================================================
--- trunk/blender/source/creator/CMakeLists.txt	2011-04-05 12:31:55 UTC (rev 36023)
+++ trunk/blender/source/creator/CMakeLists.txt	2011-04-05 23:31:01 UTC (rev 36024)
@@ -777,7 +777,6 @@
 		extern_bullet
 		ge_logic_loopbacknetwork
 		bf_intern_moto
-		extern_glew
 		extern_openjpeg
 		extern_redcode
 		ge_videotex
@@ -788,6 +787,10 @@
 		bf_intern_mikktspace
 	)
 
+    if(WITH_BUILTIN_GLEW)
+		list(APPEND BLENDER_SORTED_LIBS extern_glew)
+    endif()
+
 	if(WITH_BINRELOC)
 		list(APPEND BLENDER_SORTED_LIBS extern_binreloc)
 	endif()


@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list