diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2006-02-15 03:03:16 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2006-02-15 03:03:16 (GMT) |
commit | 14cbc9571a7986617877fed0d2f04899d981d4ea (patch) | |
tree | 7c382f875e2c60330a1c104ef76416fa710aae28 | |
parent | aea456a91a49bca5da485f25e113de340a4dac20 (diff) | |
download | CMake-14cbc9571a7986617877fed0d2f04899d981d4ea.zip CMake-14cbc9571a7986617877fed0d2f04899d981d4ea.tar.gz CMake-14cbc9571a7986617877fed0d2f04899d981d4ea.tar.bz2 |
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.
-rw-r--r-- | Modules/CMakeMinGWFindMake.cmake | 8 | ||||
-rw-r--r-- | Source/cmake.cxx | 3 |
2 files changed, 9 insertions, 2 deletions
diff --git a/Modules/CMakeMinGWFindMake.cmake b/Modules/CMakeMinGWFindMake.cmake index 1973d0f..42d1624 100644 --- a/Modules/CMakeMinGWFindMake.cmake +++ b/Modules/CMakeMinGWFindMake.cmake @@ -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) + diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 8313750..6033565 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -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()); } |