ENH: do not allow mingw makefiles to generate if sh.exe is in the path, also do not write CMakeCache.txt if there is a fatal error.

This commit is contained in:
Bill Hoffman 2006-02-14 22:03:16 -05:00
parent aea456a91a
commit 14cbc9571a
2 changed files with 9 additions and 2 deletions

View File

@ -1,2 +1,8 @@
FIND_PROGRAM(CMAKE_MAKE_PROGRAM mingw32-make.exe PATHS c:/MinGW/bin /MinGW/bin)
MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
FIND_PROGRAM(CMAKE_SH sh.exe )
MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM CMAKE_SH)
IF(CMAKE_SH)
MESSAGE(FATAL_ERROR "sh.exe was found in your PATH, here:\n${CMAKE_SH}\nFor MinGW make to work correctly sh.exe must NOT be in your path.\nRun cmake from a shell that does not have sh.exe in your PATH.\nIf you want to use a UNIX shell, then use MSYS Makefiles.\n")
SET(CMAKE_MAKE_PROGRAM NOTFOUND)
ENDIF(CMAKE_SH)

View File

@ -1376,7 +1376,8 @@ int cmake::Configure()
// user can select another.
m_CacheManager->RemoveCacheEntry("CMAKE_GENERATOR");
}
if ( !m_ScriptMode )
// only save the cache if there were no fatal errors
if ( !m_ScriptMode && !cmSystemTools::GetFatalErrorOccured() )
{
this->m_CacheManager->SaveCache(this->GetHomeOutputDirectory());
}