diff options
author | Andy Cedilnik <andy.cedilnik@kitware.com> | 2004-04-18 18:41:46 (GMT) |
---|---|---|
committer | Andy Cedilnik <andy.cedilnik@kitware.com> | 2004-04-18 18:41:46 (GMT) |
commit | 55a71ba572c54dbb3485a76e9615c1c8bf688fd4 (patch) | |
tree | ac692b4ef198284cf7c0e9b65ab854f93e7f865a /Source/cmMakefile.h | |
parent | af61b685839fae6af72ba4c4d42ebf39a7d1a324 (diff) | |
download | CMake-55a71ba572c54dbb3485a76e9615c1c8bf688fd4.zip CMake-55a71ba572c54dbb3485a76e9615c1c8bf688fd4.tar.gz CMake-55a71ba572c54dbb3485a76e9615c1c8bf688fd4.tar.bz2 |
ENH: Add check for infinite loops. Make sure that files written using WRITE_FILE and FILE WRITE are not used as input files. Fixes Bug #678 - WRITE_FILE and FILE(WRITE...) lead to infinite loops
Diffstat (limited to 'Source/cmMakefile.h')
-rw-r--r-- | Source/cmMakefile.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index 092d742..194729e 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -82,6 +82,18 @@ public: void RemoveFunctionBlocker(cmFunctionBlocker *fb) { m_FunctionBlockers.remove(fb);} void RemoveFunctionBlocker(const cmListFileFunction& lff); + + /** + * Add file to the written file list. These file should not be in the list + * of dependencies because they cause infinite loops. + */ + void AddWrittenFile(const char* file); + bool HasWrittenFile(const char* file); + + /** + * Check if there are any infinite loops + */ + bool CheckInfiniteLoops(); /** * Try running cmake and building a file. This is used for dynalically |