Merging r49815 through r49833 from trunk into soc-2011-tomato
[blender.git] / build_files / cmake / macros.cmake
index 88dd64640b6346c35beab5ebe3e22488f54e24f5..f14e92047329d7c8a3ab7f59d86f4ef5e9b1fb24 100644 (file)
@@ -733,7 +733,6 @@ macro(set_lib_path
 endmacro()
 
 
-# TODO, create a C binary and call it instead!, doing this in cmake its slow
 macro(data_to_c
       file_from file_to
       list_to_add)
@@ -745,34 +744,32 @@ macro(data_to_c
        add_custom_command(
                OUTPUT ${file_to}
                COMMAND ${CMAKE_COMMAND} -E make_directory ${_file_to_path}
-               COMMAND ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/datatoc
-                       ${file_from}
-                       ${file_to}
-               DEPENDS ${file_from})
+               COMMAND ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/datatoc ${file_from} ${file_to}
+               DEPENDS ${file_from} datatoc)
        unset(_file_to_path)
 endmacro()
 
+
 # same as above but generates the var name and output automatic.
 macro(data_to_c_simple
       file_from
       list_to_add)
 
-       # only to avoid confusion
-       set(_file_to ${file_from}.c)
+       # remove ../'s
+       get_filename_component(_file_from ${CMAKE_CURRENT_SOURCE_DIR}/${file_from}   REALPATH)
+       get_filename_component(_file_to   ${CMAKE_CURRENT_BINARY_DIR}/${file_from}.c REALPATH)
 
-       list(APPEND ${list_to_add} ${CMAKE_CURRENT_BINARY_DIR}/${_file_to})
+       list(APPEND ${list_to_add} ${_file_to})
 
        get_filename_component(_file_to_path ${_file_to} PATH)
 
        add_custom_command(
-               OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file_to}
+               OUTPUT  ${_file_to}
                COMMAND ${CMAKE_COMMAND} -E make_directory ${_file_to_path}
-               COMMAND ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/datatoc
-                       ${CMAKE_CURRENT_SOURCE_DIR}/${file_from}
-                       ${CMAKE_CURRENT_BINARY_DIR}/${_file_to}
-               DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${file_from})
+               COMMAND ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/datatoc ${_file_from} ${_file_to}
+               DEPENDS ${_file_from} datatoc)
 
-       unset(_var_name)
+       unset(_file_from)
        unset(_file_to)
        unset(_file_to_path)
 endmacro()