Mercurial > projects > qtd
diff cmake/FindD.cmake @ 275:bb0f228c27cd
Caching dependencies for d sources.
author | SokoL_SD |
---|---|
date | Mon, 28 Sep 2009 05:53:47 +0000 |
parents | f5606687c578 |
children | 7f2e3ffa1c33 |
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