[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47842] branches/soc-2012-swiss_cheese: Update support for Android
Alexander Kuznetsov
kuzsasha at gmail.com
Wed Jun 13 18:21:43 CEST 2012
Revision: 47842
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47842
Author: alexk
Date: 2012-06-13 16:21:43 +0000 (Wed, 13 Jun 2012)
Log Message:
-----------
Update support for Android
Fake GL switches:
#include REAL_GL_MODE
#include FAKE_GL_MODE
In not GLES mode, they are defined as "***/empty.h"
Modified Paths:
--------------
branches/soc-2012-swiss_cheese/CMakeLists.txt
branches/soc-2012-swiss_cheese/build_files/scons/tools/Blender.py
branches/soc-2012-swiss_cheese/extern/CMakeLists.txt
branches/soc-2012-swiss_cheese/source/blenderplayer/CMakeLists.txt
branches/soc-2012-swiss_cheese/source/creator/CMakeLists.txt
Added Paths:
-----------
branches/soc-2012-swiss_cheese/source/blender/empty.h
branches/soc-2012-swiss_cheese/source/blenderplayer/androidfix.c
Modified: branches/soc-2012-swiss_cheese/CMakeLists.txt
===================================================================
--- branches/soc-2012-swiss_cheese/CMakeLists.txt 2012-06-13 16:15:42 UTC (rev 47841)
+++ branches/soc-2012-swiss_cheese/CMakeLists.txt 2012-06-13 16:21:43 UTC (rev 47842)
@@ -266,7 +266,10 @@
option(WITH_ANDROID "Compiles Blender for Android" OFF)
mark_as_advanced(WITH_ANDROID)
+option(WITH_GLES "Compiles Blender with OpenGL ES 2.0" OFF)
+mark_as_advanced(WITH_GLES)
+
if(APPLE)
if(NOT CMAKE_OSX_ARCHITECTURES)
set(CMAKE_OSX_ARCHITECTURES x86_64 CACHE STRING
@@ -467,13 +470,26 @@
if(WITH_ANDROID)
add_definitions(-DWITH_ANDROID)
add_definitions(-DNDEBUG)
+set(WITH_GLES ON )
+set(ANDROID_TARGET "armv7-a_9" CACHE STRING "Processor Target")
+endif()
-set(ANDROID_TARGET "armv7-a_9" CACHE STRING "Processor Target")
+if(WITH_GLES)
+message(setting)
+add_definitions(-DGLES)
+add_definitions(-DREAL_GL_MODE=<GL/realgl.h>)
+add_definitions(-DFAKE_GL_MODE=<GL/fakegl.h>)
+else()
+add_definitions(-DREAL_GL_MODE=<${CMAKE_SOURCE_DIR}/source/blender/empty.h>)
+add_definitions(-DFAKE_GL_MODE=<${CMAKE_SOURCE_DIR}/source/blender/empty.h>)
+
endif()
+
+
if(UNIX AND NOT APPLE)
# needed for ubuntu 11.04
@@ -736,7 +752,11 @@
# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
set(PLATFORM_LINKLIBS "-lc -lm -lstdc++")
- if(NOT WITH_ANDROID)
+ if(WITH_ANDROID)
+ set(PLATFORM_LINKLIBS "${PLATFORM_LINKLIBS} -lGLESv2")
+ elseif(WITH_GLES)
+ set(PLATFORM_LINKLIBS "${PLATFORM_LINKLIBS} -lGLESv2 -lEGL")
+ else()
set(PLATFORM_LINKLIBS "${PLATFORM_LINKLIBS} -lutil -lpthread")
endif()
@@ -1592,6 +1612,10 @@
set(OPENGL_INCLUDE_DIR ${LIBDIR}/fakeGL/)
set(OPENGL_gl_LIBRARY ${OPENGL_INCLUDE_DIR}/libGLarm.so)
set(OPENGL_glu_LIBRARY ${OPENGL_INCLUDE_DIR}/libGLUarm.so)
+elseif(WITH_GLES)
+set(OPENGL_INCLUDE_DIR "" CACHE PATH "")
+set(OPENGL_gl_LIBRARY "" CACHE FILEPATH "")
+set(OPENGL_glu_LIBRARY "" CACHE FILEPATH "")
else()
find_package(OpenGL)
endif()
@@ -1625,7 +1649,7 @@
if(WITH_BUILTIN_GLEW)
# set(GLEW_LIBRARY "") # unused
- if(WITH_ANDROID)
+ if(WITH_GLES)
set(GLEW_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/extern/glew-android/include")
else()
set(GLEW_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/extern/glew/include")
Modified: branches/soc-2012-swiss_cheese/build_files/scons/tools/Blender.py
===================================================================
--- branches/soc-2012-swiss_cheese/build_files/scons/tools/Blender.py 2012-06-13 16:15:42 UTC (rev 47841)
+++ branches/soc-2012-swiss_cheese/build_files/scons/tools/Blender.py 2012-06-13 16:21:43 UTC (rev 47842)
@@ -765,7 +765,10 @@
print bc.HEADER+'Configuring library '+bc.ENDC+bc.OKGREEN+libname + bc.ENDC
lenv = self.Clone()
lenv.Append(CPPPATH=includes)
+ lenv.Append(CPPDEFINES={'REAL_GL_MODE':'\\"'+os.getcwd()+'/source/blender/empty.h\\"'})
+ lenv.Append(CPPDEFINES={'FAKE_GL_MODE':'\\"'+os.getcwd()+'/source/blender/empty.h\\"'})
lenv.Append(CPPDEFINES=defines)
+
if lenv['BF_DEBUG'] or (libname in quickdebug):
lenv.Append(CFLAGS = lenv['BF_DEBUG_CFLAGS'])
lenv.Append(CCFLAGS = lenv['BF_DEBUG_CCFLAGS'])
Modified: branches/soc-2012-swiss_cheese/extern/CMakeLists.txt
===================================================================
--- branches/soc-2012-swiss_cheese/extern/CMakeLists.txt 2012-06-13 16:15:42 UTC (rev 47841)
+++ branches/soc-2012-swiss_cheese/extern/CMakeLists.txt 2012-06-13 16:21:43 UTC (rev 47842)
@@ -41,7 +41,7 @@
endif()
if(WITH_BUILTIN_GLEW)
-if(WITH_ANDROID)
+if(WITH_GLES)
add_subdirectory(glew-android)
else()
add_subdirectory(glew)
Added: branches/soc-2012-swiss_cheese/source/blender/empty.h
===================================================================
--- branches/soc-2012-swiss_cheese/source/blender/empty.h (rev 0)
+++ branches/soc-2012-swiss_cheese/source/blender/empty.h 2012-06-13 16:21:43 UTC (rev 47842)
@@ -0,0 +1 @@
+
Modified: branches/soc-2012-swiss_cheese/source/blenderplayer/CMakeLists.txt
===================================================================
--- branches/soc-2012-swiss_cheese/source/blenderplayer/CMakeLists.txt 2012-06-13 16:15:42 UTC (rev 47841)
+++ branches/soc-2012-swiss_cheese/source/blenderplayer/CMakeLists.txt 2012-06-13 16:21:43 UTC (rev 47842)
@@ -37,7 +37,7 @@
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/dna.c
WORKING_DIRECTORY ${ANDROID_PROJ}
COMMAND ${ANDROID_PROJ}/makesdna.sh ${CMAKE_BINARY_DIR}/lib/libmakesdna.so ${CMAKE_CURRENT_BINARY_DIR}/dna.c ${CMAKE_SOURCE_DIR}/source/blender/makesdna/
- DEPENDS makesdna
+ DEPENDS ${CMAKE_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}/libmakesdna.so
)
else()
add_custom_command(
@@ -85,6 +85,10 @@
MACOSX_BUNDLE_SHORT_VERSION_STRING ${BLENDER_VERSION}
MACOSX_BUNDLE_LONG_VERSION_STRING "${BLENDER_VERSION} ${BLENDER_DATE}")
+elseif(WITH_ANDROID)
+message(${CMAKE_CURRENT_BINARY_DIR})
+message(${CMAKE_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}/libmakesdna.so)
+ add_library(blenderplayer SHARED ${CMAKE_CURRENT_BINARY_DIR}/dna.c ./androidfix.c)
else()
add_executable(blenderplayer ${CMAKE_CURRENT_BINARY_DIR}/dna.c)
endif()
@@ -134,7 +138,7 @@
bf_modifiers
bf_intern_moto
bf_nodes
-
+
bf_imbuf
bf_avi
ge_logic_network
Added: branches/soc-2012-swiss_cheese/source/blenderplayer/androidfix.c
===================================================================
--- branches/soc-2012-swiss_cheese/source/blenderplayer/androidfix.c (rev 0)
+++ branches/soc-2012-swiss_cheese/source/blenderplayer/androidfix.c 2012-06-13 16:21:43 UTC (rev 47842)
@@ -0,0 +1,7 @@
+int main(int argc, char **argv);
+
+void foo(void)
+{
+
+ main(0,0);
+}
Modified: branches/soc-2012-swiss_cheese/source/creator/CMakeLists.txt
===================================================================
--- branches/soc-2012-swiss_cheese/source/creator/CMakeLists.txt 2012-06-13 16:15:42 UTC (rev 47841)
+++ branches/soc-2012-swiss_cheese/source/creator/CMakeLists.txt 2012-06-13 16:21:43 UTC (rev 47842)
@@ -205,10 +205,8 @@
elseif(WITH_ANDROID)
add_library(blender SHARED ${SRC})
-message("lib")
else()
add_executable(blender ${EXETYPE} ${SRC})
-message("exe")
endif()
if(WITH_BUILDINFO)
More information about the Bf-blender-cvs
mailing list