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. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to