From be4ae581fff820cefc21d150080e13f621b99cdd Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 11 Aug 2012 13:32:19 +0000 Subject: simplified data_to_c macro in cmake --- build_files/cmake/macros.cmake | 28 +++++++++++++++++++++++++ source/blender/editors/datafiles/CMakeLists.txt | 10 ++------- source/blender/gpu/CMakeLists.txt | 27 ++++++------------------ 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) -- cgit v1.2.3