Mercurial > projects > qtd
changeset 275:bb0f228c27cd
Caching dependencies for d sources.
author | SokoL_SD |
---|---|
date | Mon, 28 Sep 2009 05:53:47 +0000 |
parents | f5606687c578 |
children | 501128ac7a2c |
files | cmake/FindD.cmake |
diffstat | 1 files changed, 19 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/cmake/FindD.cmake Mon Sep 28 05:32:25 2009 +0000 +++ b/cmake/FindD.cmake Mon Sep 28 05:53:47 2009 +0000 @@ -611,7 +611,23 @@ endmacro(filter_paths ) macro(get_files_depends out) - get_imported_files_old(${out} ${ARGN}) - #filter_paths(${out} ${${out}} INCLUDE_CURRENT_DIR INCLUDE_PATHS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) - set(${out} ${ARGN} ${${out}}) + set(deps_file_tmp ${CMAKE_CURRENT_BINARY_DIR}/${ARGN}.deps) + set(update_deps_tmp 0) + foreach(arg_tmp ${ARGN}) + if(NOT IS_ABSOLUTE arg_tmp) + set(arg_tmp ${CMAKE_CURRENT_SOURCE_DIR}/${arg_tmp}) + endif(NOT IS_ABSOLUTE arg_tmp) + if(${arg_tmp} IS_NEWER_THAN ${deps_file_tmp}) + set(update_deps_tmp 1) + break(arg_tmp ${ARGN}) + endif(${arg_tmp} IS_NEWER_THAN ${deps_file_tmp}) + endforeach(arg_tmp ${ARGN}) + if(update_deps_tmp) + get_imported_files_old(${out} ${ARGN}) + #filter_paths(${out} ${${out}} INCLUDE_CURRENT_DIR INCLUDE_PATHS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) + set(${out} ${ARGN} ${${out}}) + file(WRITE ${deps_file_tmp} "${${out}}") + else(update_deps_tmp) + file(STRINGS ${deps_file_tmp} ${out}) + endif(update_deps_tmp) endmacro(get_files_depends out) \ No newline at end of file