From ec3a119480de133849b28b6c98f9953793fb92cc Mon Sep 17 00:00:00 2001 From: Berk Geveci Date: Wed, 17 Mar 2004 09:42:32 -0500 Subject: [PATCH] BUG: When error occurs, try compiles should still work --- Source/cmSystemTools.h | 4 ++++ Source/cmTryCompileCommand.cxx | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h index f5ee0feeb..286240636 100644 --- a/Source/cmSystemTools.h +++ b/Source/cmSystemTools.h @@ -98,6 +98,10 @@ public: { cmSystemTools::s_FatalErrorOccured = true; } + static void SetErrorOccured() + { + cmSystemTools::s_ErrorOccured = true; + } ///! Return true if there was an error at any point. static bool GetFatalErrorOccured() { diff --git a/Source/cmTryCompileCommand.cxx b/Source/cmTryCompileCommand.cxx index 3719c6ffb..dc9d32076 100644 --- a/Source/cmTryCompileCommand.cxx +++ b/Source/cmTryCompileCommand.cxx @@ -217,11 +217,18 @@ int cmTryCompileCommand::CoreTryCompileCode( } } + bool erroroc = cmSystemTools::GetErrorOccuredFlag(); + cmSystemTools::ResetErrorOccuredFlag(); std::string output; // actually do the try compile now that everything is setup int res = mf->TryCompile(sourceDirectory, binaryDirectory, projectName, targetName, &cmakeFlags, &output); + if ( erroroc ) + { + cmSystemTools::SetErrorOccured(); + } + // set the result var to the return value to indicate success or failure mf->AddCacheDefinition(argv[0].c_str(), (res == 0 ? "TRUE" : "FALSE"), "Result of TRY_COMPILE",