[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49800] trunk/blender: startup. blend and preview.blend are now converted to C at build time.

Campbell Barton ideasman42 at gmail.com
Sat Aug 11 14:26:43 CEST 2012


Revision: 49800
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49800
Author:   campbellbarton
Date:     2012-08-11 12:26:43 +0000 (Sat, 11 Aug 2012)
Log Message:
-----------
startup.blend and preview.blend are now converted to C at build time.

made some changes to startup.c
- change default player to internal since its working now.
- added new screen for full screen 3d viewport (nice for demo's and navigating)
- disable cursor depth option (was enabled by default because of re-used flag)

Modified Paths:
--------------
    trunk/blender/SConstruct
    trunk/blender/build_files/cmake/macros.cmake
    trunk/blender/release/datafiles/preview.blend
    trunk/blender/source/blender/compositor/CMakeLists.txt
    trunk/blender/source/blender/editors/datafiles/CMakeLists.txt
    trunk/blender/source/blender/editors/datafiles/SConscript

Added Paths:
-----------
    trunk/blender/release/datafiles/startup.blend

Removed Paths:
-------------
    trunk/blender/source/blender/editors/datafiles/preview.blend.c
    trunk/blender/source/blender/editors/datafiles/startup.blend.c

Modified: trunk/blender/SConstruct
===================================================================
--- trunk/blender/SConstruct	2012-08-11 12:16:09 UTC (rev 49799)
+++ trunk/blender/SConstruct	2012-08-11 12:26:43 UTC (rev 49800)
@@ -450,8 +450,11 @@
 ###################################
 if not os.path.isdir ( B.root_build_dir + 'data_headers'):
     os.makedirs ( B.root_build_dir + 'data_headers' )
+if not os.path.isdir ( B.root_build_dir + 'data_sources'):
+    os.makedirs ( B.root_build_dir + 'data_sources' )
 # use for includes
 env['DATA_HEADERS'] = os.path.join(os.path.abspath(env['BF_BUILDDIR']), "data_headers")
+env['DATA_SOURCES'] = os.path.join(os.path.abspath(env['BF_BUILDDIR']), "data_sources")
 def ensure_data(FILE_FROM, FILE_TO, VAR_NAME):
     if os.sep == "\\":
         FILE_FROM = FILE_FROM.replace("/", "\\")
@@ -487,6 +490,14 @@
             B.root_build_dir + "data_headers/COM_OpenCLKernels.cl.h",
             "clkernelstoh_COM_OpenCLKernels_cl")
 
+ensure_data("./release/datafiles/startup.blend",
+            B.root_build_dir + "data_sources/startup.blend.c",
+            "datatoc_startup_blend")
+
+ensure_data("./release/datafiles/preview.blend",
+            B.root_build_dir + "data_sources/preview.blend.c",
+            "datatoc_preview_blend")
+
 ##### END DATAFILES ##########
 
 Help(opts.GenerateHelpText(env))

Modified: trunk/blender/build_files/cmake/macros.cmake
===================================================================
--- trunk/blender/build_files/cmake/macros.cmake	2012-08-11 12:16:09 UTC (rev 49799)
+++ trunk/blender/build_files/cmake/macros.cmake	2012-08-11 12:26:43 UTC (rev 49800)
@@ -638,7 +638,7 @@
 	# --------------
 	# MINGW HACK END
 	if (_reset_standard_libraries)
-		# Must come after project(...)
+		# Must come after projecINCt(...)
 		#
 		# MINGW workaround for -ladvapi32 being included which surprisingly causes
 		# string formatting of floats, eg: printf("%.*f", 3, value). to crash blender
@@ -727,29 +727,20 @@
 endmacro()
 
 
-# not highly optimal, may replace with generated C program like makesdna
-function(data_to_c
-         file_from file_to var_name)
+# TODO, create a C binary and call it instead!, doing this in cmake its slow
+macro(data_to_c
+      file_from file_to var_name
+      list_to_add)
 
-	file(READ ${file_from} file_from_string HEX)
-	string(LENGTH ${file_from_string} _max_index)
-	math(EXPR size_on_disk ${_max_index}/2)
+	list(APPEND ${list_to_add} ${file_to})
 
-	file(REMOVE ${file_to})
+	add_custom_command(
+		OUTPUT ${file_to}
+		COMMAND ${CMAKE_COMMAND}
+				-DFILE_FROM=${file_from}
+				-DFILE_TO=${file_to}
+				-DVAR_NAME=${var_name}
+				-P ${CMAKE_SOURCE_DIR}/build_files/cmake/data_to_c.cmake
+		DEPENDS ${file_from})
+endmacro()
 
-	file(APPEND ${file_to} "int  ${var_name}_size = ${size_on_disk};\n")
-	file(APPEND ${file_to} "char ${var_name}[] = {")
-
-	set(_index 0)
-
-	while(NOT _index EQUAL _max_index)
-		string(SUBSTRING "${file_from_string}" ${_index} 2 _pair)
-		file(APPEND ${file_to} "0x${_pair},")
-		math(EXPR _index ${_index}+2)
-	endwhile()
-	file(APPEND ${file_to} "};\n")
-endfunction()
-
-# eg
-# data_to_c("/home/guest/test.txt" "/home/guest/test.txt.h" "this_is_data")
-

Modified: trunk/blender/release/datafiles/preview.blend
===================================================================
(Binary files differ)

Added: trunk/blender/release/datafiles/startup.blend
===================================================================
(Binary files differ)


Property changes on: trunk/blender/release/datafiles/startup.blend
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Modified: trunk/blender/source/blender/compositor/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/compositor/CMakeLists.txt	2012-08-11 12:16:09 UTC (rev 49799)
+++ trunk/blender/source/blender/compositor/CMakeLists.txt	2012-08-11 12:26:43 UTC (rev 49800)
@@ -50,21 +50,6 @@
 
 )
 
-# --- data file ---
-# ... may make this a macro
-list(APPEND INC
-	${CMAKE_CURRENT_BINARY_DIR}/operations
-)
-add_custom_command(
-	OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/operations/COM_OpenCLKernels.cl.h
-	COMMAND ${CMAKE_COMMAND}
-	        -DFILE_FROM=${CMAKE_CURRENT_SOURCE_DIR}/operations/COM_OpenCLKernels.cl
-	        -DFILE_TO=${CMAKE_CURRENT_BINARY_DIR}/operations/COM_OpenCLKernels.cl.h
-	        -DVAR_NAME=clkernelstoh_COM_OpenCLKernels_cl
-	        -P ${CMAKE_SOURCE_DIR}/build_files/cmake/data_to_c.cmake
-	DEPENDS operations/COM_OpenCLKernels.cl)
-# --- end data file --
-
 set(SRC
 	COM_compositor.h
 	COM_defines.h
@@ -653,9 +638,13 @@
 
 	operations/COM_MaskOperation.cpp
 	operations/COM_MaskOperation.h
+)
 
-	# generated file
-	${CMAKE_CURRENT_BINARY_DIR}/operations/COM_OpenCLKernels.cl.h
+list(APPEND INC
+	${CMAKE_CURRENT_BINARY_DIR}/operations
 )
+data_to_c(${CMAKE_CURRENT_SOURCE_DIR}/operations/COM_OpenCLKernels.cl
+          ${CMAKE_CURRENT_BINARY_DIR}/operations/COM_OpenCLKernels.cl.h
+          clkernelstoh_COM_OpenCLKernels_cl SRC)
 
 blender_add_lib(bf_compositor "${SRC}" "${INC}" "${INC_SYS}")

Modified: trunk/blender/source/blender/editors/datafiles/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/editors/datafiles/CMakeLists.txt	2012-08-11 12:16:09 UTC (rev 49799)
+++ trunk/blender/source/blender/editors/datafiles/CMakeLists.txt	2012-08-11 12:26:43 UTC (rev 49800)
@@ -35,16 +35,13 @@
 if(WITH_BLENDER)
 	# blender only
 	list(APPEND SRC
-		startup.blend.c
+		# startup.blend.c
 		bmonofont.ttf.c
 	)
 
 	if(NOT WITH_HEADLESS)
 		# blender UI only
 		list(APPEND SRC
-			# blends
-			preview.blend.c
-
 			# images
 			splash.png.c
 			blender_icons.png.c
@@ -82,7 +79,17 @@
 			twist.png.c
 			vertexdraw.png.c
 		)
+
+		data_to_c(${CMAKE_SOURCE_DIR}/release/datafiles/preview.blend
+		          ${CMAKE_CURRENT_BINARY_DIR}/preview.blend.c
+		          datatoc_preview_blend SRC)
+
 	endif()
+
+	data_to_c(${CMAKE_SOURCE_DIR}/release/datafiles/startup.blend
+	          ${CMAKE_CURRENT_BINARY_DIR}/startup.blend.c
+	          datatoc_startup_blend SRC)
+
 endif()
 
 blender_add_lib(bf_editor_datafiles "${SRC}" "${INC}" "${INC_SYS}")

Modified: trunk/blender/source/blender/editors/datafiles/SConscript
===================================================================
--- trunk/blender/source/blender/editors/datafiles/SConscript	2012-08-11 12:16:09 UTC (rev 49799)
+++ trunk/blender/source/blender/editors/datafiles/SConscript	2012-08-11 12:26:43 UTC (rev 49800)
@@ -6,4 +6,11 @@
 incs = '../include ../../blenlib ../../blenkernel ../../makesdna ../../imbuf'
 incs += ' ../../bmesh #/intern/guardedalloc'
 
+# generated data files
+import os
+sources.extend((
+	os.path.join(env['DATA_SOURCES'], "startup.blend.c"),
+	os.path.join(env['DATA_SOURCES'], "preview.blend.c"),
+	))
+
 env.BlenderLib ( 'bf_editor_datafiles', sources, Split(incs), [], libtype=['core', 'player'], priority=[235, 30] )

Deleted: trunk/blender/source/blender/editors/datafiles/preview.blend.c
===================================================================
--- trunk/blender/source/blender/editors/datafiles/preview.blend.c	2012-08-11 12:16:09 UTC (rev 49799)
+++ trunk/blender/source/blender/editors/datafiles/preview.blend.c	2012-08-11 12:26:43 UTC (rev 49800)
@@ -1,17982 +0,0 @@
-/* DataToC output of file <preview_blend> */
-
-int datatoc_preview_blend_size = 575216;
-char datatoc_preview_blend[] = {
- 66, 76, 69, 78, 68, 69, 82, 45,118, 50, 54, 50, 82, 69, 78, 68,
- 32,  0,  0,  0,128,173,121, 86,255,127,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  1,  0,  0,  0, 20,  0,  0,  0,112,114,101,118,
-105,101,119,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 71, 76, 79, 66, 48,  4,  0,  0,128,169,121, 86,
-255,127,  0,  0,216,  0,  0,  0,  1,  0,  0,  0, 32, 32, 32, 51,  3,  0,  0,  0,250,  0,  0,  0,  1,  0,  0,  1,152,133, 23,  4,
-  0,  0,  0,  0, 72, 41, 24,  4,  0,  0,  0,  0,  0,  0,  0,  2, 64, 32,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 47,100,115,107,
- 47,100, 97,116, 97, 47,115,114, 99, 47, 98,108,101,110,100,101,114, 47, 98,108,101,110,100,101,114, 47, 46, 47,115,111,117,114,
- 99,101, 47, 98,108,101,110,100,101,114, 47,101,100,105,116,111,114,115, 47,100, 97,116, 97,102,105,108,101,115, 47,112,114,101,
-118,105,101,119, 46, 98,108,101,110,100,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list