[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49803] trunk/blender: simplified data_to_c macro in cmake

Campbell Barton ideasman42 at gmail.com
Sat Aug 11 15:32:19 CEST 2012


Revision: 49803
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49803
Author:   campbellbarton
Date:     2012-08-11 13:32:19 +0000 (Sat, 11 Aug 2012)
Log Message:
-----------
simplified data_to_c macro in cmake

Modified Paths:
--------------
    trunk/blender/build_files/cmake/macros.cmake
    trunk/blender/source/blender/editors/datafiles/CMakeLists.txt
    trunk/blender/source/blender/gpu/CMakeLists.txt

Modified: trunk/blender/build_files/cmake/macros.cmake
===================================================================
--- trunk/blender/build_files/cmake/macros.cmake	2012-08-11 13:21:12 UTC (rev 49802)
+++ trunk/blender/build_files/cmake/macros.cmake	2012-08-11 13:32:19 UTC (rev 49803)
@@ -744,3 +744,31 @@
 		DEPENDS ${file_from})
 endmacro()
 
+# same as above but generates the var name and output automatic.
+macro(data_to_c_simple
+      file_from
+      list_to_add)
+
+    # get var name automatic from name
+    get_filename_component(_file_from_only ${file_from} NAME)
+    string(REPLACE "." "_" _file_from_only ${_file_from_only})
+    set(_var_name "datatoc_${_file_from_only}")
+
+    # only to avoid confusion
+    set(_file_to ${file_from}.c)
+
+	list(APPEND ${list_to_add} ${CMAKE_CURRENT_BINARY_DIR}/${_file_to})
+
+	add_custom_command(
+		OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file_to}
+		COMMAND ${CMAKE_COMMAND}
+				-DFILE_FROM=${CMAKE_CURRENT_SOURCE_DIR}/${file_from}
+				-DFILE_TO=${CMAKE_CURRENT_BINARY_DIR}/${_file_to}
+				-DVAR_NAME=${_var_name}
+				-P ${CMAKE_SOURCE_DIR}/build_files/cmake/data_to_c.cmake
+		DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${file_from})
+
+    unset(_file_from_only)
+    unset(_var_name)
+    unset(_file_to)
+endmacro()

Modified: trunk/blender/source/blender/editors/datafiles/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/editors/datafiles/CMakeLists.txt	2012-08-11 13:21:12 UTC (rev 49802)
+++ trunk/blender/source/blender/editors/datafiles/CMakeLists.txt	2012-08-11 13:32:19 UTC (rev 49803)
@@ -80,16 +80,10 @@
 			vertexdraw.png.c
 		)
 
-		data_to_c(${CMAKE_SOURCE_DIR}/release/datafiles/preview.blend
-		          ${CMAKE_CURRENT_BINARY_DIR}/preview.blend.c
-		          datatoc_preview_blend SRC)
-
+		data_to_c_simple(../../../../release/datafiles/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)
-
+	data_to_c_simple(../../../../release/datafiles/startup.blend SRC)
 endif()
 
 blender_add_lib(bf_editor_datafiles "${SRC}" "${INC}" "${INC_SYS}")

Modified: trunk/blender/source/blender/gpu/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/gpu/CMakeLists.txt	2012-08-11 13:21:12 UTC (rev 49802)
+++ trunk/blender/source/blender/gpu/CMakeLists.txt	2012-08-11 13:32:19 UTC (rev 49803)
@@ -58,27 +58,12 @@
 	intern/gpu_codegen.h
 )
 
-data_to_c(${CMAKE_CURRENT_SOURCE_DIR}/shaders/gpu_shader_material.glsl
-          ${CMAKE_CURRENT_BINARY_DIR}/shaders/gpu_shader_material.glsl.c
-          datatoc_gpu_shader_material_glsl SRC)
-data_to_c(${CMAKE_CURRENT_SOURCE_DIR}/shaders/gpu_shader_vertex.glsl
-          ${CMAKE_CURRENT_BINARY_DIR}/shaders/gpu_shader_vertex.glsl.c
-          datatoc_gpu_shader_vertex_glsl SRC)
-data_to_c(${CMAKE_CURRENT_SOURCE_DIR}/shaders/gpu_shader_sep_gaussian_blur_frag.glsl
-          ${CMAKE_CURRENT_BINARY_DIR}/shaders/gpu_shader_sep_gaussian_blur_frag.glsl.c
-          datatoc_gpu_shader_sep_gaussian_blur_frag_glsl SRC)
-data_to_c(${CMAKE_CURRENT_SOURCE_DIR}/shaders/gpu_shader_sep_gaussian_blur_vert.glsl
-          ${CMAKE_CURRENT_BINARY_DIR}/shaders/gpu_shader_sep_gaussian_blur_vert.glsl.c
-          datatoc_gpu_shader_sep_gaussian_blur_vert_glsl SRC)
-data_to_c(${CMAKE_CURRENT_SOURCE_DIR}/shaders/gpu_shader_material.glsl
-          ${CMAKE_CURRENT_BINARY_DIR}/shaders/gpu_shader_material.glsl.c
-          datatoc_gpu_shader_material_glsl SRC)
-data_to_c(${CMAKE_CURRENT_SOURCE_DIR}/shaders/gpu_shader_vsm_store_frag.glsl
-          ${CMAKE_CURRENT_BINARY_DIR}/shaders/gpu_shader_vsm_store_frag.glsl.c
-          datatoc_gpu_shader_vsm_store_frag_glsl SRC)
-data_to_c(${CMAKE_CURRENT_SOURCE_DIR}/shaders/gpu_shader_vsm_store_vert.glsl
-          ${CMAKE_CURRENT_BINARY_DIR}/shaders/gpu_shader_vsm_store_vert.glsl.c
-          datatoc_gpu_shader_vsm_store_vert_glsl SRC)
+data_to_c_simple(shaders/gpu_shader_material.glsl SRC)
+data_to_c_simple(shaders/gpu_shader_vertex.glsl SRC)
+data_to_c_simple(shaders/gpu_shader_sep_gaussian_blur_frag.glsl SRC)
+data_to_c_simple(shaders/gpu_shader_sep_gaussian_blur_vert.glsl SRC)
+data_to_c_simple(shaders/gpu_shader_vsm_store_frag.glsl SRC)
+data_to_c_simple(shaders/gpu_shader_vsm_store_vert.glsl SRC)
 
 if(WITH_MOD_SMOKE)
 	add_definitions(-DWITH_SMOKE)




More information about the Bf-blender-cvs mailing list