summaryrefslogtreecommitdiffstats
path: root/Source/cmake.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmake.cxx')
-rw-r--r--Source/cmake.cxx13
1 files changed, 12 insertions, 1 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index aca7ab6..9ea46c5 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -1515,7 +1515,18 @@ void cmake::AddDefaultGenerators()
int cmake::LoadCache()
{
- m_CacheManager->LoadCache(this->GetHomeOutputDirectory());
+ // could we not read the cache
+ if (!m_CacheManager->LoadCache(this->GetHomeOutputDirectory()))
+ {
+ // if it does exist, but isn;t readable then warn the user
+ std::string cacheFile = this->GetHomeOutputDirectory();
+ cacheFile += "/CMakeCache.txt";
+ if(cmSystemTools::FileExists(cacheFile.c_str()))
+ {
+ cmSystemTools::Error("There is a CMakeCache.txt file for the current binary tree but cmake does not have permission to read it. Please check the permissions of the directory you are trying to run CMake on.");
+ return -1;
+ }
+ }
if (m_CMakeCommand.size() < 2)
{