comparison 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
comparison
equal deleted inserted replaced
274:f5606687c578 275:bb0f228c27cd
609 endif(NOT found AND full_path_tmp) 609 endif(NOT found AND full_path_tmp)
610 endforeach(path_tmp ${paths_tmp}) 610 endforeach(path_tmp ${paths_tmp})
611 endmacro(filter_paths ) 611 endmacro(filter_paths )
612 612
613 macro(get_files_depends out) 613 macro(get_files_depends out)
614 get_imported_files_old(${out} ${ARGN}) 614 set(deps_file_tmp ${CMAKE_CURRENT_BINARY_DIR}/${ARGN}.deps)
615 #filter_paths(${out} ${${out}} INCLUDE_CURRENT_DIR INCLUDE_PATHS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) 615 set(update_deps_tmp 0)
616 set(${out} ${ARGN} ${${out}}) 616 foreach(arg_tmp ${ARGN})
617 if(NOT IS_ABSOLUTE arg_tmp)
618 set(arg_tmp ${CMAKE_CURRENT_SOURCE_DIR}/${arg_tmp})
619 endif(NOT IS_ABSOLUTE arg_tmp)
620 if(${arg_tmp} IS_NEWER_THAN ${deps_file_tmp})
621 set(update_deps_tmp 1)
622 break(arg_tmp ${ARGN})
623 endif(${arg_tmp} IS_NEWER_THAN ${deps_file_tmp})
624 endforeach(arg_tmp ${ARGN})
625 if(update_deps_tmp)
626 get_imported_files_old(${out} ${ARGN})
627 #filter_paths(${out} ${${out}} INCLUDE_CURRENT_DIR INCLUDE_PATHS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
628 set(${out} ${ARGN} ${${out}})
629 file(WRITE ${deps_file_tmp} "${${out}}")
630 else(update_deps_tmp)
631 file(STRINGS ${deps_file_tmp} ${out})
632 endif(update_deps_tmp)
617 endmacro(get_files_depends out) 633 endmacro(get_files_depends out)