Merge topic 'minor-cleanups'
eb7b6f6d
cmVariableWatchCommand: Simplify error reporting.499ebb65
cmListFileBacktrace: Internalize the step of making paths relative.80b433b0
cmGlobalGenerator: Don't use else after a return.52919ac8
cmMakefile: Make cmListFileBacktrace default constructible.b68f2ea8
cmMakefile: Add API for elseif to create backtrace.17e13f0a
cmMakefile: Simplify CMP0000 handling.
This commit is contained in:
commit
b49aef6b10
|
@ -17,7 +17,7 @@
|
|||
|
||||
//----------------------------------------------------------------------------
|
||||
cmCustomCommand::cmCustomCommand()
|
||||
: Backtrace(NULL)
|
||||
: Backtrace()
|
||||
{
|
||||
this->HaveComment = false;
|
||||
this->EscapeOldStyle = true;
|
||||
|
@ -82,7 +82,7 @@ cmCustomCommand::cmCustomCommand(cmMakefile const* mf,
|
|||
WorkingDirectory(workingDirectory?workingDirectory:""),
|
||||
EscapeAllowMakeVars(false),
|
||||
EscapeOldStyle(true),
|
||||
Backtrace(NULL)
|
||||
Backtrace()
|
||||
{
|
||||
this->EscapeOldStyle = true;
|
||||
this->EscapeAllowMakeVars = false;
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
//----------------------------------------------------------------------------
|
||||
cmExportBuildFileGenerator::cmExportBuildFileGenerator()
|
||||
: Backtrace(NULL)
|
||||
: Backtrace()
|
||||
{
|
||||
this->Makefile = 0;
|
||||
this->ExportSet = 0;
|
||||
|
|
|
@ -34,7 +34,7 @@ cmGeneratorExpression::Parse(std::string const& input)
|
|||
{
|
||||
return cmsys::auto_ptr<cmCompiledGeneratorExpression>(
|
||||
new cmCompiledGeneratorExpression(
|
||||
this->Backtrace ? *this->Backtrace : cmListFileBacktrace(NULL),
|
||||
this->Backtrace ? *this->Backtrace : cmListFileBacktrace(),
|
||||
input));
|
||||
}
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ cmGeneratorExpressionDAGChecker::cmGeneratorExpressionDAGChecker(
|
|||
const GeneratorExpressionContent *content,
|
||||
cmGeneratorExpressionDAGChecker *parent)
|
||||
: Parent(parent), Target(target), Property(property),
|
||||
Content(content), Backtrace(NULL), TransitivePropertiesOnly(false)
|
||||
Content(content), Backtrace(), TransitivePropertiesOnly(false)
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
|
|
@ -87,18 +87,16 @@ bool cmGlobalGenerator::SetGeneratorPlatform(std::string const& p,
|
|||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::ostringstream e;
|
||||
e <<
|
||||
"Generator\n"
|
||||
" " << this->GetName() << "\n"
|
||||
"does not support platform specification, but platform\n"
|
||||
" " << p << "\n"
|
||||
"was specified.";
|
||||
mf->IssueMessage(cmake::FATAL_ERROR, e.str());
|
||||
return false;
|
||||
}
|
||||
|
||||
std::ostringstream e;
|
||||
e <<
|
||||
"Generator\n"
|
||||
" " << this->GetName() << "\n"
|
||||
"does not support platform specification, but platform\n"
|
||||
" " << p << "\n"
|
||||
"was specified.";
|
||||
mf->IssueMessage(cmake::FATAL_ERROR, e.str());
|
||||
return false;
|
||||
}
|
||||
|
||||
bool cmGlobalGenerator::SetGeneratorToolset(std::string const& ts,
|
||||
|
@ -108,18 +106,15 @@ bool cmGlobalGenerator::SetGeneratorToolset(std::string const& ts,
|
|||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::ostringstream e;
|
||||
e <<
|
||||
"Generator\n"
|
||||
" " << this->GetName() << "\n"
|
||||
"does not support toolset specification, but toolset\n"
|
||||
" " << ts << "\n"
|
||||
"was specified.";
|
||||
mf->IssueMessage(cmake::FATAL_ERROR, e.str());
|
||||
return false;
|
||||
}
|
||||
std::ostringstream e;
|
||||
e <<
|
||||
"Generator\n"
|
||||
" " << this->GetName() << "\n"
|
||||
"does not support toolset specification, but toolset\n"
|
||||
" " << ts << "\n"
|
||||
"was specified.";
|
||||
mf->IssueMessage(cmake::FATAL_ERROR, e.str());
|
||||
return false;
|
||||
}
|
||||
|
||||
std::string cmGlobalGenerator::SelectMakeProgram(
|
||||
|
|
|
@ -92,10 +92,6 @@ IsFunctionBlocked(const cmListFileFunction& lff,
|
|||
}
|
||||
else
|
||||
{
|
||||
// Place this call on the call stack.
|
||||
cmMakefileCall stack_manager(&mf, this->Functions[c], status);
|
||||
static_cast<void>(stack_manager);
|
||||
|
||||
// if trace is enabled, print the evaluated "elseif" statement
|
||||
if(mf.GetCMakeInstance()->GetTrace())
|
||||
{
|
||||
|
@ -119,7 +115,8 @@ IsFunctionBlocked(const cmListFileFunction& lff,
|
|||
{
|
||||
std::string err = cmIfCommandError(expandedArguments);
|
||||
err += errorString;
|
||||
mf.IssueMessage(messType, err);
|
||||
cmListFileBacktrace bt = mf.GetBacktrace(this->Functions[c]);
|
||||
mf.GetCMakeInstance()->IssueMessage(messType, err, bt);
|
||||
if (messType == cmake::FATAL_ERROR)
|
||||
{
|
||||
cmSystemTools::SetFatalErrorOccured();
|
||||
|
|
|
@ -405,29 +405,17 @@ void cmListFileBacktrace::Append(cmListFileContext const& context)
|
|||
this->push_back(context);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmListFileBacktrace::MakeRelative()
|
||||
{
|
||||
if (this->Relative)
|
||||
{
|
||||
return;
|
||||
}
|
||||
for (cmListFileBacktrace::iterator i = this->begin();
|
||||
i != this->end(); ++i)
|
||||
{
|
||||
i->FilePath = this->LocalGenerator->Convert(i->FilePath,
|
||||
cmLocalGenerator::HOME);
|
||||
}
|
||||
this->Relative = true;
|
||||
}
|
||||
|
||||
void cmListFileBacktrace::PrintTitle(std::ostream& out)
|
||||
{
|
||||
if (this->empty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
out << (this->front().Line ? " at " : " in ") << this->front();
|
||||
|
||||
cmListFileContext lfc = this->front();
|
||||
lfc.FilePath = this->LocalGenerator->Convert(lfc.FilePath,
|
||||
cmLocalGenerator::HOME);
|
||||
out << (lfc.Line ? " at " : " in ") << lfc;
|
||||
}
|
||||
|
||||
void cmListFileBacktrace::PrintCallStack(std::ostream& out)
|
||||
|
@ -441,7 +429,9 @@ void cmListFileBacktrace::PrintCallStack(std::ostream& out)
|
|||
out << "Call Stack (most recent call first):\n";
|
||||
while(i != this->end())
|
||||
{
|
||||
cmListFileContext const& lfc = *i;
|
||||
cmListFileContext lfc = *i;
|
||||
lfc.FilePath = this->LocalGenerator->Convert(lfc.FilePath,
|
||||
cmLocalGenerator::HOME);
|
||||
out << " " << lfc << "\n";
|
||||
++i;
|
||||
}
|
||||
|
|
|
@ -74,21 +74,17 @@ struct cmListFileFunction: public cmListFileContext
|
|||
class cmListFileBacktrace: private std::vector<cmListFileContext>
|
||||
{
|
||||
public:
|
||||
cmListFileBacktrace(cmLocalGenerator* localGen)
|
||||
cmListFileBacktrace(cmLocalGenerator* localGen = 0)
|
||||
: LocalGenerator(localGen)
|
||||
, Relative(localGen ? false : true)
|
||||
{
|
||||
}
|
||||
|
||||
void Append(cmListFileContext const& context);
|
||||
|
||||
void MakeRelative();
|
||||
|
||||
void PrintTitle(std::ostream& out);
|
||||
void PrintCallStack(std::ostream& out);
|
||||
private:
|
||||
cmLocalGenerator* LocalGenerator;
|
||||
bool Relative;
|
||||
};
|
||||
|
||||
struct cmListFile
|
||||
|
|
|
@ -286,6 +286,20 @@ cmListFileBacktrace cmMakefile::GetBacktrace() const
|
|||
return backtrace;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
cmListFileBacktrace
|
||||
cmMakefile::GetBacktrace(cmListFileContext const& lfc) const
|
||||
{
|
||||
cmListFileBacktrace backtrace(this->GetLocalGenerator());
|
||||
backtrace.Append(lfc);
|
||||
for(CallStackType::const_reverse_iterator i = this->CallStack.rbegin();
|
||||
i != this->CallStack.rend(); ++i)
|
||||
{
|
||||
backtrace.Append(*i->Context);
|
||||
}
|
||||
return backtrace;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
cmListFileContext cmMakefile::GetExecutionContext() const
|
||||
{
|
||||
|
@ -519,8 +533,10 @@ bool cmMakefile::ProcessBuildsystemFile(const char* listfile)
|
|||
{
|
||||
this->AddDefinition("CMAKE_PARENT_LIST_FILE", listfile);
|
||||
std::string curSrc = this->GetCurrentSourceDirectory();
|
||||
return this->ReadListFile(listfile, true,
|
||||
curSrc == this->GetHomeDirectory());
|
||||
bool result = this->ReadListFile(listfile, true,
|
||||
curSrc == this->GetHomeDirectory());
|
||||
this->EnforceDirectoryLevelRules();
|
||||
return result;
|
||||
}
|
||||
|
||||
bool cmMakefile::ReadDependentFile(const char* listfile, bool noPolicyScope)
|
||||
|
@ -619,13 +635,6 @@ bool cmMakefile::ReadListFileInternal(const char* filenametoread,
|
|||
}
|
||||
}
|
||||
|
||||
// If this is the directory-level CMakeLists.txt file then perform
|
||||
// some extra checks.
|
||||
if(this->ListFileStack.size() == 1)
|
||||
{
|
||||
this->EnforceDirectoryLevelRules();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -572,6 +572,7 @@ public:
|
|||
* Get the current context backtrace.
|
||||
*/
|
||||
cmListFileBacktrace GetBacktrace() const;
|
||||
cmListFileBacktrace GetBacktrace(cmListFileContext const& lfc) const;
|
||||
cmListFileContext GetExecutionContext() const;
|
||||
|
||||
/**
|
||||
|
|
|
@ -94,13 +94,13 @@ class cmTargetInternals
|
|||
{
|
||||
public:
|
||||
cmTargetInternals()
|
||||
: Backtrace(NULL)
|
||||
: Backtrace()
|
||||
{
|
||||
this->PolicyWarnedCMP0022 = false;
|
||||
this->UtilityItemsDone = false;
|
||||
}
|
||||
cmTargetInternals(cmTargetInternals const&)
|
||||
: Backtrace(NULL)
|
||||
: Backtrace()
|
||||
{
|
||||
this->PolicyWarnedCMP0022 = false;
|
||||
this->UtilityItemsDone = false;
|
||||
|
|
|
@ -66,7 +66,7 @@ public:
|
|||
class cmLinkImplItem: public cmLinkItem
|
||||
{
|
||||
public:
|
||||
cmLinkImplItem(): cmLinkItem(), Backtrace(0), FromGenex(false) {}
|
||||
cmLinkImplItem(): cmLinkItem(), Backtrace(), FromGenex(false) {}
|
||||
cmLinkImplItem(std::string const& n,
|
||||
cmTarget const* t,
|
||||
cmListFileBacktrace const& bt,
|
||||
|
|
|
@ -68,11 +68,8 @@ static void cmVariableWatchCommandVariableAccessed(
|
|||
cmExecutionStatus status;
|
||||
if(!makefile->ExecuteCommand(newLFF,status))
|
||||
{
|
||||
arg.FilePath = "Unknown";
|
||||
arg.Line = 0;
|
||||
std::ostringstream error;
|
||||
error << "Error in cmake code at\n"
|
||||
<< arg.FilePath << ":" << arg.Line << ":\n"
|
||||
error << "Error in cmake code at\nUnknown:0:\n"
|
||||
<< "A command failed during the invocation of callback \""
|
||||
<< data->Command << "\".";
|
||||
cmSystemTools::Error(error.str().c_str());
|
||||
|
|
|
@ -2519,7 +2519,6 @@ void cmake::IssueMessage(cmake::MessageType t, std::string const& text,
|
|||
cmListFileBacktrace const& bt)
|
||||
{
|
||||
cmListFileBacktrace backtrace = bt;
|
||||
backtrace.MakeRelative();
|
||||
|
||||
std::ostringstream msg;
|
||||
if (!this->PrintMessagePreamble(t, msg))
|
||||
|
|
|
@ -301,7 +301,7 @@ class cmake
|
|||
|
||||
/** Display a message to the user. */
|
||||
void IssueMessage(cmake::MessageType t, std::string const& text,
|
||||
cmListFileBacktrace const& backtrace = cmListFileBacktrace(NULL));
|
||||
cmListFileBacktrace const& backtrace = cmListFileBacktrace());
|
||||
void IssueMessage(cmake::MessageType t, std::string const& text,
|
||||
cmListFileContext const& lfc);
|
||||
|
||||
|
|
Loading…
Reference in New Issue