Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-08-11 17:32:19 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-08-11 17:32:19 +0400
commitbe4ae581fff820cefc21d150080e13f621b99cdd (patch)
tree35fda94428817fb6a776c9dc652cb0e975072923
parent81272e28a0da2c654c070540279a8d12f349bcb3 (diff)
simplified data_to_c macro in cmake
-rw-r--r--build_files/cmake/macros.cmake28
-rw-r--r--source/blender/editors/datafiles/CMakeLists.txt10
-rw-r--r--source/blender/gpu/CMakeLists.txt27
3 files changed, 36 insertions, 29 deletions
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index 5a5f02b41fa..af122541ae5 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -744,3 +744,31 @@ macro(data_to_c
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()
diff --git a/source/blender/editors/datafiles/CMakeLists.txt b/source/blender/editors/datafiles/CMakeLists.txt
index c0edd8d2632..31846f9b300 100644
--- a/source/blender/editors/datafiles/CMakeLists.txt
+++ b/source/blender/editors/datafiles/CMakeLists.txt
@@ -80,16 +80,10 @@ if(WITH_BLENDER)
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}")
diff --git a/source/blender/gpu/CMakeLists.txt b/source/blender/gpu/CMakeLists.txt
index 8b0d9e3fac4..9ce42d9e0bb 100644
--- a/source/blender/gpu/CMakeLists.txt
+++ b/source/blender/gpu/CMakeLists.txt
@@ -58,27 +58,12 @@ set(SRC
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)