summaryrefslogtreecommitdiffstats
path: root/Source/cmExportBuildFileGenerator.cxx
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2012-10-06 15:16:11 (GMT)
committerStephen Kelly <steveire@gmail.com>2013-10-10 14:36:26 (GMT)
commit5fe5c32480a5acf26bd20e52a091cd63747ed77d (patch)
tree748ebca1ae42657e8ccea1910a8457200fb9969b /Source/cmExportBuildFileGenerator.cxx
parente383555838c2539eca11c43abfccba9fa41ca97d (diff)
downloadCMake-5fe5c32480a5acf26bd20e52a091cd63747ed77d.zip
CMake-5fe5c32480a5acf26bd20e52a091cd63747ed77d.tar.gz
CMake-5fe5c32480a5acf26bd20e52a091cd63747ed77d.tar.bz2
export(): Set a Makefile on the cmExportBuildFileGenerator.
This is better than the cmCommand, because the lifetime of that is not as useful, and it is only used to report an error anyway. In the next commit, the cmExportBuildFileGenerator will outlive the cmCommand.
Diffstat (limited to 'Source/cmExportBuildFileGenerator.cxx')
-rw-r--r--Source/cmExportBuildFileGenerator.cxx21
1 files changed, 10 insertions, 11 deletions
diff --git a/Source/cmExportBuildFileGenerator.cxx b/Source/cmExportBuildFileGenerator.cxx
index 243e5ce..e2ad74f 100644
--- a/Source/cmExportBuildFileGenerator.cxx
+++ b/Source/cmExportBuildFileGenerator.cxx
@@ -11,12 +11,11 @@
============================================================================*/
#include "cmExportBuildFileGenerator.h"
-#include "cmExportCommand.h"
//----------------------------------------------------------------------------
cmExportBuildFileGenerator::cmExportBuildFileGenerator()
{
- this->ExportCommand = 0;
+ this->Makefile = 0;
}
//----------------------------------------------------------------------------
@@ -39,12 +38,10 @@ bool cmExportBuildFileGenerator::GenerateMainFile(std::ostream& os)
}
else
{
- if(this->ExportCommand && this->ExportCommand->ErrorMessage.empty())
- {
- cmOStringStream e;
- e << "given target \"" << te->GetName() << "\" more than once.";
- this->ExportCommand->ErrorMessage = e.str();
- }
+ cmOStringStream e;
+ e << "given target \"" << te->GetName() << "\" more than once.";
+ this->Makefile->GetCMakeInstance()
+ ->IssueMessage(cmake::FATAL_ERROR, e.str().c_str(), this->Backtrace);
return false;
}
if (te->GetType() == cmTarget::INTERFACE_LIBRARY)
@@ -220,18 +217,20 @@ cmExportBuildFileGenerator
::ComplainAboutMissingTarget(cmTarget* depender,
cmTarget* dependee)
{
- if(!this->ExportCommand || !this->ExportCommand->ErrorMessage.empty())
+ if(cmSystemTools::GetErrorOccuredFlag())
{
return;
}
cmOStringStream e;
- e << "called with target \"" << depender->GetName()
+ e << "export called with target \"" << depender->GetName()
<< "\" which requires target \"" << dependee->GetName()
<< "\" that is not in the export list.\n"
<< "If the required target is not easy to reference in this call, "
<< "consider using the APPEND option with multiple separate calls.";
- this->ExportCommand->ErrorMessage = e.str();
+
+ this->Makefile->GetCMakeInstance()
+ ->IssueMessage(cmake::FATAL_ERROR, e.str().c_str(), this->Backtrace);
}
std::string