Merge topic 'extract-cmMessenger'
1462576b
Parser: Port away from cmMakefile421012a3
cmMessenger: Extract from cmake class14a8d61f
cmMakefile: Port nested error logic away from cmExecutionStatus2af853de
cmMakefile: Simplify IssueMessage implementation33bb9cfa
Parser: Issue messages through cmake, not cmSystemToolsdb7de303
Parser: Store the Backtrace for use in issuing messages
This commit is contained in:
commit
a79abb82fe
|
@ -319,6 +319,8 @@ set(SRCS
|
|||
cmMakefileExecutableTargetGenerator.cxx
|
||||
cmMakefileLibraryTargetGenerator.cxx
|
||||
cmMakefileUtilityTargetGenerator.cxx
|
||||
cmMessenger.cxx
|
||||
cmMessenger.h
|
||||
cmOSXBundleGenerator.cxx
|
||||
cmOSXBundleGenerator.h
|
||||
cmOutputConverter.cxx
|
||||
|
|
|
@ -38,16 +38,12 @@ public:
|
|||
this->ReturnInvoked = false;
|
||||
this->BreakInvoked = false;
|
||||
this->ContinueInvoked = false;
|
||||
this->NestedError = false;
|
||||
}
|
||||
void SetNestedError(bool val) { this->NestedError = val; }
|
||||
bool GetNestedError() { return this->NestedError; }
|
||||
|
||||
private:
|
||||
bool ReturnInvoked;
|
||||
bool BreakInvoked;
|
||||
bool ContinueInvoked;
|
||||
bool NestedError;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -76,7 +76,7 @@ public:
|
|||
};
|
||||
|
||||
bool cmFunctionHelperCommand::InvokeInitialPass(
|
||||
const std::vector<cmListFileArgument>& args, cmExecutionStatus& inStatus)
|
||||
const std::vector<cmListFileArgument>& args, cmExecutionStatus&)
|
||||
{
|
||||
// Expand the argument list to the function.
|
||||
std::vector<std::string> expandedArgs;
|
||||
|
@ -129,11 +129,11 @@ bool cmFunctionHelperCommand::InvokeInitialPass(
|
|||
for (unsigned int c = 0; c < this->Functions.size(); ++c) {
|
||||
cmExecutionStatus status;
|
||||
if (!this->Makefile->ExecuteCommand(this->Functions[c], status) ||
|
||||
status.GetNestedError()) {
|
||||
(cmSystemTools::GetErrorOccuredFlag() &&
|
||||
!cmSystemTools::GetFatalErrorOccured())) {
|
||||
// The error message should have already included the call stack
|
||||
// so we do not need to report an error here.
|
||||
functionScope.Quiet();
|
||||
inStatus.SetNestedError(true);
|
||||
return false;
|
||||
}
|
||||
if (status.GetReturnInvoked()) {
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#include "cmListFileCache.h"
|
||||
|
||||
#include "cmListFileLexer.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessenger.h"
|
||||
#include "cmOutputConverter.h"
|
||||
#include "cmSystemTools.h"
|
||||
#include "cmVersion.h"
|
||||
|
@ -21,15 +21,18 @@
|
|||
|
||||
struct cmListFileParser
|
||||
{
|
||||
cmListFileParser(cmListFile* lf, cmMakefile* mf, const char* filename);
|
||||
cmListFileParser(cmListFile* lf, cmListFileBacktrace lfbt,
|
||||
cmMessenger* messenger, const char* filename);
|
||||
~cmListFileParser();
|
||||
void IssueFileOpenError(std::string const& text) const;
|
||||
void IssueError(std::string const& text) const;
|
||||
bool ParseFile();
|
||||
bool ParseFunction(const char* name, long line);
|
||||
bool AddArgument(cmListFileLexer_Token* token,
|
||||
cmListFileArgument::Delimiter delim);
|
||||
cmListFile* ListFile;
|
||||
cmMakefile* Makefile;
|
||||
cmListFileBacktrace Backtrace;
|
||||
cmMessenger* Messenger;
|
||||
const char* FileName;
|
||||
cmListFileLexer* Lexer;
|
||||
cmListFileFunction Function;
|
||||
|
@ -41,10 +44,12 @@ struct cmListFileParser
|
|||
} Separation;
|
||||
};
|
||||
|
||||
cmListFileParser::cmListFileParser(cmListFile* lf, cmMakefile* mf,
|
||||
cmListFileParser::cmListFileParser(cmListFile* lf, cmListFileBacktrace lfbt,
|
||||
cmMessenger* messenger,
|
||||
const char* filename)
|
||||
: ListFile(lf)
|
||||
, Makefile(mf)
|
||||
, Backtrace(lfbt)
|
||||
, Messenger(messenger)
|
||||
, FileName(filename)
|
||||
, Lexer(cmListFileLexer_New())
|
||||
{
|
||||
|
@ -57,7 +62,18 @@ cmListFileParser::~cmListFileParser()
|
|||
|
||||
void cmListFileParser::IssueFileOpenError(const std::string& text) const
|
||||
{
|
||||
this->Makefile->IssueMessage(cmake::FATAL_ERROR, text);
|
||||
this->Messenger->IssueMessage(cmake::FATAL_ERROR, text, this->Backtrace);
|
||||
}
|
||||
|
||||
void cmListFileParser::IssueError(const std::string& text) const
|
||||
{
|
||||
cmListFileContext lfc;
|
||||
lfc.FilePath = this->FileName;
|
||||
lfc.Line = cmListFileLexer_GetCurrentLine(this->Lexer);
|
||||
cmListFileBacktrace lfbt = this->Backtrace;
|
||||
lfbt = lfbt.Push(lfc);
|
||||
this->Messenger->IssueMessage(cmake::FATAL_ERROR, text, lfbt);
|
||||
cmSystemTools::SetFatalErrorOccured();
|
||||
}
|
||||
|
||||
bool cmListFileParser::ParseFile()
|
||||
|
@ -96,29 +112,26 @@ bool cmListFileParser::ParseFile()
|
|||
}
|
||||
} else {
|
||||
std::ostringstream error;
|
||||
error << "Error in cmake code at\n"
|
||||
<< this->FileName << ":" << token->line << ":\n"
|
||||
<< "Parse error. Expected a newline, got "
|
||||
error << "Parse error. Expected a newline, got "
|
||||
<< cmListFileLexer_GetTypeAsString(this->Lexer, token->type)
|
||||
<< " with text \"" << token->text << "\".";
|
||||
cmSystemTools::Error(error.str().c_str());
|
||||
this->IssueError(error.str());
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
std::ostringstream error;
|
||||
error << "Error in cmake code at\n"
|
||||
<< this->FileName << ":" << token->line << ":\n"
|
||||
<< "Parse error. Expected a command name, got "
|
||||
error << "Parse error. Expected a command name, got "
|
||||
<< cmListFileLexer_GetTypeAsString(this->Lexer, token->type)
|
||||
<< " with text \"" << token->text << "\".";
|
||||
cmSystemTools::Error(error.str().c_str());
|
||||
this->IssueError(error.str());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool cmListFile::ParseFile(const char* filename, cmMakefile* mf)
|
||||
bool cmListFile::ParseFile(const char* filename, cmMessenger* messenger,
|
||||
cmListFileBacktrace const& lfbt)
|
||||
{
|
||||
if (!cmSystemTools::FileExists(filename) ||
|
||||
cmSystemTools::FileIsDirectory(filename)) {
|
||||
|
@ -128,7 +141,7 @@ bool cmListFile::ParseFile(const char* filename, cmMakefile* mf)
|
|||
bool parseError = false;
|
||||
|
||||
{
|
||||
cmListFileParser parser(this, mf, filename);
|
||||
cmListFileParser parser(this, lfbt, messenger, filename);
|
||||
parseError = !parser.ParseFile();
|
||||
}
|
||||
|
||||
|
@ -154,18 +167,15 @@ bool cmListFileParser::ParseFunction(const char* name, long line)
|
|||
<< cmListFileLexer_GetCurrentLine(this->Lexer) << ":\n"
|
||||
<< "Parse error. Function missing opening \"(\".";
|
||||
/* clang-format on */
|
||||
cmSystemTools::Error(error.str().c_str());
|
||||
this->IssueError(error.str());
|
||||
return false;
|
||||
}
|
||||
if (token->type != cmListFileLexer_Token_ParenLeft) {
|
||||
std::ostringstream error;
|
||||
error << "Error in cmake code at\n"
|
||||
<< this->FileName << ":"
|
||||
<< cmListFileLexer_GetCurrentLine(this->Lexer) << ":\n"
|
||||
<< "Parse error. Expected \"(\", got "
|
||||
error << "Parse error. Expected \"(\", got "
|
||||
<< cmListFileLexer_GetTypeAsString(this->Lexer, token->type)
|
||||
<< " with text \"" << token->text << "\".";
|
||||
cmSystemTools::Error(error.str().c_str());
|
||||
this->IssueError(error.str());
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -217,25 +227,24 @@ bool cmListFileParser::ParseFunction(const char* name, long line)
|
|||
} else {
|
||||
// Error.
|
||||
std::ostringstream error;
|
||||
error << "Error in cmake code at\n"
|
||||
<< this->FileName << ":"
|
||||
<< cmListFileLexer_GetCurrentLine(this->Lexer) << ":\n"
|
||||
<< "Parse error. Function missing ending \")\". "
|
||||
error << "Parse error. Function missing ending \")\". "
|
||||
<< "Instead found "
|
||||
<< cmListFileLexer_GetTypeAsString(this->Lexer, token->type)
|
||||
<< " with text \"" << token->text << "\".";
|
||||
cmSystemTools::Error(error.str().c_str());
|
||||
this->IssueError(error.str());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
std::ostringstream error;
|
||||
error << "Error in cmake code at\n"
|
||||
<< this->FileName << ":" << lastLine << ":\n"
|
||||
<< "Parse error. Function missing ending \")\". "
|
||||
cmListFileContext lfc;
|
||||
lfc.FilePath = this->FileName;
|
||||
lfc.Line = lastLine;
|
||||
cmListFileBacktrace lfbt = this->Backtrace;
|
||||
lfbt = lfbt.Push(lfc);
|
||||
error << "Parse error. Function missing ending \")\". "
|
||||
<< "End of file reached.";
|
||||
cmSystemTools::Error(error.str().c_str());
|
||||
|
||||
this->Messenger->IssueMessage(cmake::FATAL_ERROR, error.str(), lfbt);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -250,17 +259,21 @@ bool cmListFileParser::AddArgument(cmListFileLexer_Token* token,
|
|||
bool isError = (this->Separation == SeparationError ||
|
||||
delim == cmListFileArgument::Bracket);
|
||||
std::ostringstream m;
|
||||
/* clang-format off */
|
||||
m << "Syntax " << (isError? "Error":"Warning") << " in cmake code at\n"
|
||||
<< " " << this->FileName << ":" << token->line << ":"
|
||||
<< token->column << "\n"
|
||||
cmListFileContext lfc;
|
||||
lfc.FilePath = this->FileName;
|
||||
lfc.Line = token->line;
|
||||
cmListFileBacktrace lfbt = this->Backtrace;
|
||||
lfbt = lfbt.Push(lfc);
|
||||
|
||||
m << "Syntax " << (isError ? "Error" : "Warning") << " in cmake code at "
|
||||
<< "column " << token->column << "\n"
|
||||
<< "Argument not separated from preceding token by whitespace.";
|
||||
/* clang-format on */
|
||||
if (isError) {
|
||||
this->Makefile->IssueMessage(cmake::FATAL_ERROR, m.str());
|
||||
this->Messenger->IssueMessage(cmake::FATAL_ERROR, m.str(), lfbt);
|
||||
return false;
|
||||
}
|
||||
this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, m.str());
|
||||
this->Messenger->IssueMessage(cmake::AUTHOR_WARNING, m.str(), lfbt);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
* cmake list files.
|
||||
*/
|
||||
|
||||
class cmMakefile;
|
||||
class cmMessenger;
|
||||
|
||||
struct cmCommandContext
|
||||
{
|
||||
|
@ -158,7 +158,8 @@ private:
|
|||
|
||||
struct cmListFile
|
||||
{
|
||||
bool ParseFile(const char* path, cmMakefile* mf);
|
||||
bool ParseFile(const char* path, cmMessenger* messenger,
|
||||
cmListFileBacktrace const& lfbt);
|
||||
|
||||
std::vector<cmListFileFunction> Functions;
|
||||
};
|
||||
|
|
|
@ -159,11 +159,11 @@ bool cmMacroHelperCommand::InvokeInitialPass(
|
|||
}
|
||||
cmExecutionStatus status;
|
||||
if (!this->Makefile->ExecuteCommand(newLFF, status) ||
|
||||
status.GetNestedError()) {
|
||||
(cmSystemTools::GetErrorOccuredFlag() &&
|
||||
!cmSystemTools::GetFatalErrorOccured())) {
|
||||
// The error message should have already included the call stack
|
||||
// so we do not need to report an error here.
|
||||
macroScope.Quiet();
|
||||
inStatus.SetNestedError(true);
|
||||
return false;
|
||||
}
|
||||
if (status.GetReturnInvoked()) {
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#include "cmGlobalGenerator.h"
|
||||
#include "cmInstallGenerator.h"
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmMessenger.h"
|
||||
#include "cmSourceFile.h"
|
||||
#include "cmSourceFileLocation.h"
|
||||
#include "cmState.h"
|
||||
|
@ -115,12 +116,6 @@ cmMakefile::~cmMakefile()
|
|||
void cmMakefile::IssueMessage(cmake::MessageType t,
|
||||
std::string const& text) const
|
||||
{
|
||||
// Collect context information.
|
||||
if (!this->ExecutionStatusStack.empty()) {
|
||||
if ((t == cmake::FATAL_ERROR) || (t == cmake::INTERNAL_ERROR)) {
|
||||
this->ExecutionStatusStack.back()->SetNestedError(true);
|
||||
}
|
||||
}
|
||||
this->GetCMakeInstance()->IssueMessage(t, text, this->GetBacktrace());
|
||||
}
|
||||
|
||||
|
@ -281,11 +276,19 @@ bool cmMakefile::ExecuteCommand(const cmListFileFunction& lff,
|
|||
if (this->GetCMakeInstance()->GetTrace()) {
|
||||
this->PrintCommandTrace(lff);
|
||||
}
|
||||
// Try invoking the command.
|
||||
|
||||
bool hadPreviousNonFatalError = cmSystemTools::GetErrorOccuredFlag() &&
|
||||
!cmSystemTools::GetFatalErrorOccured();
|
||||
cmSystemTools::ResetErrorOccuredFlag();
|
||||
|
||||
bool invokeSucceeded = pcmd->InvokeInitialPass(lff.Arguments, status);
|
||||
bool hadNestedError = status.GetNestedError();
|
||||
bool hadNestedError = cmSystemTools::GetErrorOccuredFlag() &&
|
||||
!cmSystemTools::GetFatalErrorOccured();
|
||||
if (hadPreviousNonFatalError) {
|
||||
cmSystemTools::SetErrorOccured();
|
||||
}
|
||||
if (!invokeSucceeded || hadNestedError) {
|
||||
if (!hadNestedError) {
|
||||
if (!hadNestedError && !cmSystemTools::GetFatalErrorOccured()) {
|
||||
// The command invocation requested that we report an error.
|
||||
this->IssueMessage(cmake::FATAL_ERROR, pcmd->GetError());
|
||||
}
|
||||
|
@ -455,7 +458,8 @@ bool cmMakefile::ReadDependentFile(const char* filename, bool noPolicyScope)
|
|||
IncludeScope incScope(this, filenametoread, noPolicyScope);
|
||||
|
||||
cmListFile listFile;
|
||||
if (!listFile.ParseFile(filenametoread.c_str(), this)) {
|
||||
if (!listFile.ParseFile(filenametoread.c_str(), this->GetMessenger(),
|
||||
this->Backtrace)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -504,7 +508,8 @@ bool cmMakefile::ReadListFile(const char* filename)
|
|||
ListFileScope scope(this, filenametoread);
|
||||
|
||||
cmListFile listFile;
|
||||
if (!listFile.ParseFile(filenametoread.c_str(), this)) {
|
||||
if (!listFile.ParseFile(filenametoread.c_str(), this->GetMessenger(),
|
||||
this->Backtrace)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -1450,7 +1455,8 @@ void cmMakefile::Configure()
|
|||
this->AddDefinition("CMAKE_PARENT_LIST_FILE", currentStart.c_str());
|
||||
|
||||
cmListFile listFile;
|
||||
if (!listFile.ParseFile(currentStart.c_str(), this)) {
|
||||
if (!listFile.ParseFile(currentStart.c_str(), this->GetMessenger(),
|
||||
this->Backtrace)) {
|
||||
return;
|
||||
}
|
||||
if (this->IsRootMakefile()) {
|
||||
|
@ -3272,6 +3278,11 @@ cmake* cmMakefile::GetCMakeInstance() const
|
|||
return this->GlobalGenerator->GetCMakeInstance();
|
||||
}
|
||||
|
||||
cmMessenger* cmMakefile::GetMessenger() const
|
||||
{
|
||||
return this->GetCMakeInstance()->GetMessenger();
|
||||
}
|
||||
|
||||
cmGlobalGenerator* cmMakefile::GetGlobalGenerator() const
|
||||
{
|
||||
return this->GlobalGenerator;
|
||||
|
|
|
@ -607,6 +607,7 @@ public:
|
|||
* Get the instance
|
||||
*/
|
||||
cmake* GetCMakeInstance() const;
|
||||
cmMessenger* GetMessenger() const;
|
||||
cmGlobalGenerator* GetGlobalGenerator() const;
|
||||
|
||||
/**
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
============================================================================*/
|
||||
#include "cmMessageCommand.h"
|
||||
|
||||
#include "cmMessenger.h"
|
||||
|
||||
// cmLibraryCommand
|
||||
bool cmMessageCommand::InitialPass(std::vector<std::string> const& args,
|
||||
cmExecutionStatus&)
|
||||
|
@ -65,8 +67,8 @@ bool cmMessageCommand::InitialPass(std::vector<std::string> const& args,
|
|||
|
||||
if (type != cmake::MESSAGE) {
|
||||
// we've overriden the message type, above, so display it directly
|
||||
cmake* cm = this->Makefile->GetCMakeInstance();
|
||||
cm->DisplayMessage(type, message, this->Makefile->GetBacktrace());
|
||||
cmMessenger* m = this->Makefile->GetMessenger();
|
||||
m->DisplayMessage(type, message, this->Makefile->GetBacktrace());
|
||||
} else {
|
||||
if (status) {
|
||||
this->Makefile->DisplayStatus(message.c_str(), -1);
|
||||
|
|
|
@ -0,0 +1,209 @@
|
|||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
Distributed under the OSI-approved BSD License (the "License");
|
||||
see accompanying file Copyright.txt for details.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the License for more information.
|
||||
============================================================================*/
|
||||
|
||||
#include "cmMessenger.h"
|
||||
#include "cmDocumentationFormatter.h"
|
||||
#include "cmMessenger.h"
|
||||
#include "cmOutputConverter.h"
|
||||
|
||||
#if defined(CMAKE_BUILD_WITH_CMAKE)
|
||||
#include <cmsys/SystemInformation.hxx>
|
||||
#endif
|
||||
|
||||
cmake::MessageType cmMessenger::ConvertMessageType(cmake::MessageType t) const
|
||||
{
|
||||
bool warningsAsErrors;
|
||||
|
||||
if (t == cmake::AUTHOR_WARNING || t == cmake::AUTHOR_ERROR) {
|
||||
warningsAsErrors = this->GetDevWarningsAsErrors();
|
||||
if (warningsAsErrors && t == cmake::AUTHOR_WARNING) {
|
||||
t = cmake::AUTHOR_ERROR;
|
||||
} else if (!warningsAsErrors && t == cmake::AUTHOR_ERROR) {
|
||||
t = cmake::AUTHOR_WARNING;
|
||||
}
|
||||
} else if (t == cmake::DEPRECATION_WARNING ||
|
||||
t == cmake::DEPRECATION_ERROR) {
|
||||
warningsAsErrors = this->GetDeprecatedWarningsAsErrors();
|
||||
if (warningsAsErrors && t == cmake::DEPRECATION_WARNING) {
|
||||
t = cmake::DEPRECATION_ERROR;
|
||||
} else if (!warningsAsErrors && t == cmake::DEPRECATION_ERROR) {
|
||||
t = cmake::DEPRECATION_WARNING;
|
||||
}
|
||||
}
|
||||
|
||||
return t;
|
||||
}
|
||||
|
||||
bool cmMessenger::IsMessageTypeVisible(cmake::MessageType t) const
|
||||
{
|
||||
bool isVisible = true;
|
||||
|
||||
if (t == cmake::DEPRECATION_ERROR) {
|
||||
if (!this->GetDeprecatedWarningsAsErrors()) {
|
||||
isVisible = false;
|
||||
}
|
||||
} else if (t == cmake::DEPRECATION_WARNING) {
|
||||
if (this->GetSuppressDeprecatedWarnings()) {
|
||||
isVisible = false;
|
||||
}
|
||||
} else if (t == cmake::AUTHOR_ERROR) {
|
||||
if (!this->GetDevWarningsAsErrors()) {
|
||||
isVisible = false;
|
||||
}
|
||||
} else if (t == cmake::AUTHOR_WARNING) {
|
||||
if (this->GetSuppressDevWarnings()) {
|
||||
isVisible = false;
|
||||
}
|
||||
}
|
||||
|
||||
return isVisible;
|
||||
}
|
||||
|
||||
static bool printMessagePreamble(cmake::MessageType t, std::ostream& msg)
|
||||
{
|
||||
// Construct the message header.
|
||||
if (t == cmake::FATAL_ERROR) {
|
||||
msg << "CMake Error";
|
||||
} else if (t == cmake::INTERNAL_ERROR) {
|
||||
msg << "CMake Internal Error (please report a bug)";
|
||||
} else if (t == cmake::LOG) {
|
||||
msg << "CMake Debug Log";
|
||||
} else if (t == cmake::DEPRECATION_ERROR) {
|
||||
msg << "CMake Deprecation Error";
|
||||
} else if (t == cmake::DEPRECATION_WARNING) {
|
||||
msg << "CMake Deprecation Warning";
|
||||
} else if (t == cmake::AUTHOR_WARNING) {
|
||||
msg << "CMake Warning (dev)";
|
||||
} else if (t == cmake::AUTHOR_ERROR) {
|
||||
msg << "CMake Error (dev)";
|
||||
} else {
|
||||
msg << "CMake Warning";
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void printMessageText(std::ostream& msg, std::string const& text)
|
||||
{
|
||||
msg << ":\n";
|
||||
cmDocumentationFormatter formatter;
|
||||
formatter.SetIndent(" ");
|
||||
formatter.PrintFormatted(msg, text.c_str());
|
||||
}
|
||||
|
||||
void displayMessage(cmake::MessageType t, std::ostringstream& msg)
|
||||
{
|
||||
// Add a note about warning suppression.
|
||||
if (t == cmake::AUTHOR_WARNING) {
|
||||
msg << "This warning is for project developers. Use -Wno-dev to suppress "
|
||||
"it.";
|
||||
} else if (t == cmake::AUTHOR_ERROR) {
|
||||
msg << "This error is for project developers. Use -Wno-error=dev to "
|
||||
"suppress "
|
||||
"it.";
|
||||
}
|
||||
|
||||
// Add a terminating blank line.
|
||||
msg << "\n";
|
||||
|
||||
#if defined(CMAKE_BUILD_WITH_CMAKE)
|
||||
// Add a C++ stack trace to internal errors.
|
||||
if (t == cmake::INTERNAL_ERROR) {
|
||||
std::string stack = cmsys::SystemInformation::GetProgramStack(0, 0);
|
||||
if (!stack.empty()) {
|
||||
if (cmHasLiteralPrefix(stack, "WARNING:")) {
|
||||
stack = "Note:" + stack.substr(8);
|
||||
}
|
||||
msg << stack << "\n";
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// Output the message.
|
||||
if (t == cmake::FATAL_ERROR || t == cmake::INTERNAL_ERROR ||
|
||||
t == cmake::DEPRECATION_ERROR || t == cmake::AUTHOR_ERROR) {
|
||||
cmSystemTools::SetErrorOccured();
|
||||
cmSystemTools::Message(msg.str().c_str(), "Error");
|
||||
} else {
|
||||
cmSystemTools::Message(msg.str().c_str(), "Warning");
|
||||
}
|
||||
}
|
||||
|
||||
cmMessenger::cmMessenger(cmState* state)
|
||||
: State(state)
|
||||
{
|
||||
}
|
||||
|
||||
void cmMessenger::IssueMessage(cmake::MessageType t, const std::string& text,
|
||||
const cmListFileBacktrace& backtrace) const
|
||||
{
|
||||
bool force = false;
|
||||
if (!force) {
|
||||
// override the message type, if needed, for warnings and errors
|
||||
cmake::MessageType override = this->ConvertMessageType(t);
|
||||
if (override != t) {
|
||||
t = override;
|
||||
force = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!force && !this->IsMessageTypeVisible(t)) {
|
||||
return;
|
||||
}
|
||||
this->DisplayMessage(t, text, backtrace);
|
||||
}
|
||||
|
||||
void cmMessenger::DisplayMessage(cmake::MessageType t, const std::string& text,
|
||||
const cmListFileBacktrace& backtrace) const
|
||||
{
|
||||
std::ostringstream msg;
|
||||
if (!printMessagePreamble(t, msg)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Add the immediate context.
|
||||
backtrace.PrintTitle(msg);
|
||||
|
||||
printMessageText(msg, text);
|
||||
|
||||
// Add the rest of the context.
|
||||
backtrace.PrintCallStack(msg);
|
||||
|
||||
displayMessage(t, msg);
|
||||
}
|
||||
|
||||
bool cmMessenger::GetSuppressDevWarnings() const
|
||||
{
|
||||
const char* cacheEntryValue =
|
||||
this->State->GetCacheEntryValue("CMAKE_SUPPRESS_DEVELOPER_WARNINGS");
|
||||
return cmSystemTools::IsOn(cacheEntryValue);
|
||||
}
|
||||
|
||||
bool cmMessenger::GetSuppressDeprecatedWarnings() const
|
||||
{
|
||||
const char* cacheEntryValue =
|
||||
this->State->GetCacheEntryValue("CMAKE_WARN_DEPRECATED");
|
||||
return cacheEntryValue && cmSystemTools::IsOff(cacheEntryValue);
|
||||
}
|
||||
|
||||
bool cmMessenger::GetDevWarningsAsErrors() const
|
||||
{
|
||||
const char* cacheEntryValue =
|
||||
this->State->GetCacheEntryValue("CMAKE_SUPPRESS_DEVELOPER_ERRORS");
|
||||
return cacheEntryValue && cmSystemTools::IsOff(cacheEntryValue);
|
||||
}
|
||||
|
||||
bool cmMessenger::GetDeprecatedWarningsAsErrors() const
|
||||
{
|
||||
const char* cacheEntryValue =
|
||||
this->State->GetCacheEntryValue("CMAKE_ERROR_DEPRECATED");
|
||||
return cmSystemTools::IsOn(cacheEntryValue);
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
Distributed under the OSI-approved BSD License (the "License");
|
||||
see accompanying file Copyright.txt for details.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the License for more information.
|
||||
============================================================================*/
|
||||
|
||||
#ifndef cmMessenger_h
|
||||
#define cmMessenger_h
|
||||
|
||||
#include "cmListFileCache.h"
|
||||
#include "cmState.h"
|
||||
#include "cmake.h"
|
||||
|
||||
class cmMessenger
|
||||
{
|
||||
public:
|
||||
cmMessenger(cmState* state);
|
||||
|
||||
void IssueMessage(
|
||||
cmake::MessageType t, std::string const& text,
|
||||
cmListFileBacktrace const& backtrace = cmListFileBacktrace()) const;
|
||||
|
||||
void DisplayMessage(cmake::MessageType t, std::string const& text,
|
||||
cmListFileBacktrace const& backtrace) const;
|
||||
|
||||
bool GetSuppressDevWarnings() const;
|
||||
bool GetSuppressDeprecatedWarnings() const;
|
||||
bool GetDevWarningsAsErrors() const;
|
||||
bool GetDeprecatedWarningsAsErrors() const;
|
||||
|
||||
private:
|
||||
bool IsMessageTypeVisible(cmake::MessageType t) const;
|
||||
cmake::MessageType ConvertMessageType(cmake::MessageType t) const;
|
||||
|
||||
cmState* State;
|
||||
};
|
||||
|
||||
#endif
|
176
Source/cmake.cxx
176
Source/cmake.cxx
|
@ -19,6 +19,7 @@
|
|||
#include "cmFileTimeComparison.h"
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessenger.h"
|
||||
#include "cmSourceFile.h"
|
||||
#include "cmState.h"
|
||||
#include "cmTest.h"
|
||||
|
@ -152,6 +153,7 @@ cmake::cmake()
|
|||
|
||||
this->State = new cmState;
|
||||
this->CurrentSnapshot = this->State->CreateBaseSnapshot();
|
||||
this->Messenger = new cmMessenger(this->State);
|
||||
|
||||
#ifdef __APPLE__
|
||||
struct rlimit rlp;
|
||||
|
@ -207,6 +209,7 @@ cmake::cmake()
|
|||
cmake::~cmake()
|
||||
{
|
||||
delete this->State;
|
||||
delete this->Messenger;
|
||||
if (this->GlobalGenerator) {
|
||||
delete this->GlobalGenerator;
|
||||
this->GlobalGenerator = CM_NULLPTR;
|
||||
|
@ -2281,160 +2284,10 @@ static bool cmakeCheckStampList(const char* stampList)
|
|||
return true;
|
||||
}
|
||||
|
||||
cmake::MessageType cmake::ConvertMessageType(cmake::MessageType t) const
|
||||
{
|
||||
bool warningsAsErrors;
|
||||
|
||||
if (t == cmake::AUTHOR_WARNING || t == cmake::AUTHOR_ERROR) {
|
||||
warningsAsErrors = this->GetDevWarningsAsErrors();
|
||||
if (warningsAsErrors && t == cmake::AUTHOR_WARNING) {
|
||||
t = cmake::AUTHOR_ERROR;
|
||||
} else if (!warningsAsErrors && t == cmake::AUTHOR_ERROR) {
|
||||
t = cmake::AUTHOR_WARNING;
|
||||
}
|
||||
} else if (t == cmake::DEPRECATION_WARNING ||
|
||||
t == cmake::DEPRECATION_ERROR) {
|
||||
warningsAsErrors = this->GetDeprecatedWarningsAsErrors();
|
||||
if (warningsAsErrors && t == cmake::DEPRECATION_WARNING) {
|
||||
t = cmake::DEPRECATION_ERROR;
|
||||
} else if (!warningsAsErrors && t == cmake::DEPRECATION_ERROR) {
|
||||
t = cmake::DEPRECATION_WARNING;
|
||||
}
|
||||
}
|
||||
|
||||
return t;
|
||||
}
|
||||
|
||||
bool cmake::IsMessageTypeVisible(cmake::MessageType t) const
|
||||
{
|
||||
bool isVisible = true;
|
||||
|
||||
if (t == cmake::DEPRECATION_ERROR) {
|
||||
if (!this->GetDeprecatedWarningsAsErrors()) {
|
||||
isVisible = false;
|
||||
}
|
||||
} else if (t == cmake::DEPRECATION_WARNING) {
|
||||
if (this->GetSuppressDeprecatedWarnings()) {
|
||||
isVisible = false;
|
||||
}
|
||||
} else if (t == cmake::AUTHOR_ERROR) {
|
||||
if (!this->GetDevWarningsAsErrors()) {
|
||||
isVisible = false;
|
||||
}
|
||||
} else if (t == cmake::AUTHOR_WARNING) {
|
||||
if (this->GetSuppressDevWarnings()) {
|
||||
isVisible = false;
|
||||
}
|
||||
}
|
||||
|
||||
return isVisible;
|
||||
}
|
||||
|
||||
static bool printMessagePreamble(cmake::MessageType t, std::ostream& msg)
|
||||
{
|
||||
// Construct the message header.
|
||||
if (t == cmake::FATAL_ERROR) {
|
||||
msg << "CMake Error";
|
||||
} else if (t == cmake::INTERNAL_ERROR) {
|
||||
msg << "CMake Internal Error (please report a bug)";
|
||||
} else if (t == cmake::LOG) {
|
||||
msg << "CMake Debug Log";
|
||||
} else if (t == cmake::DEPRECATION_ERROR) {
|
||||
msg << "CMake Deprecation Error";
|
||||
} else if (t == cmake::DEPRECATION_WARNING) {
|
||||
msg << "CMake Deprecation Warning";
|
||||
} else if (t == cmake::AUTHOR_WARNING) {
|
||||
msg << "CMake Warning (dev)";
|
||||
} else if (t == cmake::AUTHOR_ERROR) {
|
||||
msg << "CMake Error (dev)";
|
||||
} else {
|
||||
msg << "CMake Warning";
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void printMessageText(std::ostream& msg, std::string const& text)
|
||||
{
|
||||
msg << ":\n";
|
||||
cmDocumentationFormatter formatter;
|
||||
formatter.SetIndent(" ");
|
||||
formatter.PrintFormatted(msg, text.c_str());
|
||||
}
|
||||
|
||||
void displayMessage(cmake::MessageType t, std::ostringstream& msg)
|
||||
{
|
||||
|
||||
// Add a note about warning suppression.
|
||||
if (t == cmake::AUTHOR_WARNING) {
|
||||
msg << "This warning is for project developers. Use -Wno-dev to suppress "
|
||||
"it.";
|
||||
} else if (t == cmake::AUTHOR_ERROR) {
|
||||
msg << "This error is for project developers. Use -Wno-error=dev to "
|
||||
"suppress "
|
||||
"it.";
|
||||
}
|
||||
|
||||
// Add a terminating blank line.
|
||||
msg << "\n";
|
||||
|
||||
#if defined(CMAKE_BUILD_WITH_CMAKE)
|
||||
// Add a C++ stack trace to internal errors.
|
||||
if (t == cmake::INTERNAL_ERROR) {
|
||||
std::string stack = cmsys::SystemInformation::GetProgramStack(0, 0);
|
||||
if (!stack.empty()) {
|
||||
if (cmHasLiteralPrefix(stack, "WARNING:")) {
|
||||
stack = "Note:" + stack.substr(8);
|
||||
}
|
||||
msg << stack << "\n";
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// Output the message.
|
||||
if (t == cmake::FATAL_ERROR || t == cmake::INTERNAL_ERROR ||
|
||||
t == cmake::DEPRECATION_ERROR || t == cmake::AUTHOR_ERROR) {
|
||||
cmSystemTools::SetErrorOccured();
|
||||
cmSystemTools::Message(msg.str().c_str(), "Error");
|
||||
} else {
|
||||
cmSystemTools::Message(msg.str().c_str(), "Warning");
|
||||
}
|
||||
}
|
||||
|
||||
void cmake::IssueMessage(cmake::MessageType t, std::string const& text,
|
||||
cmListFileBacktrace const& backtrace) const
|
||||
{
|
||||
bool force = false;
|
||||
// override the message type, if needed, for warnings and errors
|
||||
cmake::MessageType override = this->ConvertMessageType(t);
|
||||
if (override != t) {
|
||||
t = override;
|
||||
force = true;
|
||||
}
|
||||
|
||||
if (!force && !this->IsMessageTypeVisible(t)) {
|
||||
return;
|
||||
}
|
||||
|
||||
this->DisplayMessage(t, text, backtrace);
|
||||
}
|
||||
|
||||
void cmake::DisplayMessage(cmake::MessageType t, std::string const& text,
|
||||
cmListFileBacktrace const& backtrace) const
|
||||
{
|
||||
std::ostringstream msg;
|
||||
if (!printMessagePreamble(t, msg)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Add the immediate context.
|
||||
backtrace.PrintTitle(msg);
|
||||
|
||||
printMessageText(msg, text);
|
||||
|
||||
// Add the rest of the context.
|
||||
backtrace.PrintCallStack(msg);
|
||||
|
||||
displayMessage(t, msg);
|
||||
this->Messenger->IssueMessage(t, text, backtrace);
|
||||
}
|
||||
|
||||
std::vector<std::string> cmake::GetDebugConfigs()
|
||||
|
@ -2454,6 +2307,11 @@ std::vector<std::string> cmake::GetDebugConfigs()
|
|||
return configs;
|
||||
}
|
||||
|
||||
cmMessenger* cmake::GetMessenger() const
|
||||
{
|
||||
return this->Messenger;
|
||||
}
|
||||
|
||||
int cmake::Build(const std::string& dir, const std::string& target,
|
||||
const std::string& config,
|
||||
const std::vector<std::string>& nativeOptions, bool clean)
|
||||
|
@ -2560,9 +2418,7 @@ void cmake::RunCheckForUnusedVariables()
|
|||
|
||||
bool cmake::GetSuppressDevWarnings() const
|
||||
{
|
||||
const char* cacheEntryValue =
|
||||
this->State->GetCacheEntryValue("CMAKE_SUPPRESS_DEVELOPER_WARNINGS");
|
||||
return cmSystemTools::IsOn(cacheEntryValue);
|
||||
return this->Messenger->GetSuppressDevWarnings();
|
||||
}
|
||||
|
||||
void cmake::SetSuppressDevWarnings(bool b)
|
||||
|
@ -2586,9 +2442,7 @@ void cmake::SetSuppressDevWarnings(bool b)
|
|||
|
||||
bool cmake::GetSuppressDeprecatedWarnings() const
|
||||
{
|
||||
const char* cacheEntryValue =
|
||||
this->State->GetCacheEntryValue("CMAKE_WARN_DEPRECATED");
|
||||
return cacheEntryValue && cmSystemTools::IsOff(cacheEntryValue);
|
||||
return this->Messenger->GetSuppressDeprecatedWarnings();
|
||||
}
|
||||
|
||||
void cmake::SetSuppressDeprecatedWarnings(bool b)
|
||||
|
@ -2612,9 +2466,7 @@ void cmake::SetSuppressDeprecatedWarnings(bool b)
|
|||
|
||||
bool cmake::GetDevWarningsAsErrors() const
|
||||
{
|
||||
const char* cacheEntryValue =
|
||||
this->State->GetCacheEntryValue("CMAKE_SUPPRESS_DEVELOPER_ERRORS");
|
||||
return cacheEntryValue && cmSystemTools::IsOff(cacheEntryValue);
|
||||
return this->Messenger->GetDevWarningsAsErrors();
|
||||
}
|
||||
|
||||
void cmake::SetDevWarningsAsErrors(bool b)
|
||||
|
@ -2638,9 +2490,7 @@ void cmake::SetDevWarningsAsErrors(bool b)
|
|||
|
||||
bool cmake::GetDeprecatedWarningsAsErrors() const
|
||||
{
|
||||
const char* cacheEntryValue =
|
||||
this->State->GetCacheEntryValue("CMAKE_ERROR_DEPRECATED");
|
||||
return cmSystemTools::IsOn(cacheEntryValue);
|
||||
return this->Messenger->GetDeprecatedWarningsAsErrors();
|
||||
}
|
||||
|
||||
void cmake::SetDeprecatedWarningsAsErrors(bool b)
|
||||
|
|
|
@ -25,6 +25,7 @@ class cmGlobalGeneratorFactory;
|
|||
class cmGlobalGenerator;
|
||||
class cmLocalGenerator;
|
||||
class cmMakefile;
|
||||
class cmMessenger;
|
||||
class cmVariableWatch;
|
||||
class cmFileTimeComparison;
|
||||
class cmExternalMakefileProjectGeneratorFactory;
|
||||
|
@ -346,6 +347,8 @@ public:
|
|||
return this->CMakeEditCommand;
|
||||
}
|
||||
|
||||
cmMessenger* GetMessenger() const;
|
||||
|
||||
/*
|
||||
* Get the state of the suppression of developer (author) warnings.
|
||||
* Returns false, by default, if developer warnings should be shown, true
|
||||
|
@ -395,9 +398,6 @@ public:
|
|||
cmake::MessageType t, std::string const& text,
|
||||
cmListFileBacktrace const& backtrace = cmListFileBacktrace()) const;
|
||||
|
||||
void DisplayMessage(cmake::MessageType t, std::string const& text,
|
||||
cmListFileBacktrace const& backtrace) const;
|
||||
|
||||
///! run the --build option
|
||||
int Build(const std::string& dir, const std::string& target,
|
||||
const std::string& config,
|
||||
|
@ -491,6 +491,7 @@ private:
|
|||
|
||||
cmState* State;
|
||||
cmState::Snapshot CurrentSnapshot;
|
||||
cmMessenger* Messenger;
|
||||
|
||||
std::vector<std::string> TraceOnlyThisSources;
|
||||
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
CMake Error: Error in cmake code at
|
||||
.*/Tests/RunCMake/Syntax/BracketComment4.cmake:3:
|
||||
Parse error. Expected a newline, got identifier with text "message".
|
||||
CMake Error at CMakeLists.txt:3 \(include\):
|
||||
include could not find load file:
|
||||
|
||||
BracketComment4.cmake
|
||||
CMake Error at BracketComment4.cmake:3:
|
||||
Parse error. Expected a newline, got identifier with text "message".
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
CMake Error in BracketNoSpace0.cmake:
|
||||
Syntax Error in cmake code at
|
||||
|
||||
.*/Tests/RunCMake/Syntax/BracketNoSpace0.cmake:1:27
|
||||
CMake Error at BracketNoSpace0.cmake:1:
|
||||
Syntax Error in cmake code at column 27
|
||||
|
||||
Argument not separated from preceding token by whitespace.
|
||||
Call Stack \(most recent call first\):
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
CMake Error in BracketNoSpace1.cmake:
|
||||
Syntax Error in cmake code at
|
||||
|
||||
.*/Tests/RunCMake/Syntax/BracketNoSpace1.cmake:1:24
|
||||
CMake Error at BracketNoSpace1.cmake:1:
|
||||
Syntax Error in cmake code at column 24
|
||||
|
||||
Argument not separated from preceding token by whitespace.
|
||||
Call Stack \(most recent call first\):
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
CMake Error in BracketNoSpace2.cmake:
|
||||
Syntax Error in cmake code at
|
||||
|
||||
.*/Tests/RunCMake/Syntax/BracketNoSpace2.cmake:1:44
|
||||
CMake Error at BracketNoSpace2.cmake:1:
|
||||
Syntax Error in cmake code at column 44
|
||||
|
||||
Argument not separated from preceding token by whitespace.
|
||||
Call Stack \(most recent call first\):
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
CMake Error in BracketNoSpace3.cmake:
|
||||
Syntax Error in cmake code at
|
||||
|
||||
.*/Tests/RunCMake/Syntax/BracketNoSpace3.cmake:1:45
|
||||
CMake Error at BracketNoSpace3.cmake:1:
|
||||
Syntax Error in cmake code at column 45
|
||||
|
||||
Argument not separated from preceding token by whitespace.
|
||||
Call Stack \(most recent call first\):
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
CMake Error in BracketNoSpace4.cmake:
|
||||
Syntax Error in cmake code at
|
||||
|
||||
.*/Tests/RunCMake/Syntax/BracketNoSpace4.cmake:1:44
|
||||
CMake Error at BracketNoSpace4.cmake:1:
|
||||
Syntax Error in cmake code at column 44
|
||||
|
||||
Argument not separated from preceding token by whitespace.
|
||||
Call Stack \(most recent call first\):
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
CMake Error in BracketNoSpace5.cmake:
|
||||
Syntax Error in cmake code at
|
||||
|
||||
.*/Tests/RunCMake/Syntax/BracketNoSpace5.cmake:1:45
|
||||
CMake Error at BracketNoSpace5.cmake:1:
|
||||
Syntax Error in cmake code at column 45
|
||||
|
||||
Argument not separated from preceding token by whitespace.
|
||||
Call Stack \(most recent call first\):
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
CMake Error: Error in cmake code at
|
||||
.*/Tests/RunCMake/Syntax/CommandError0.cmake:2:
|
||||
Parse error. Expected "\(", got newline with text "
|
||||
".
|
||||
CMake Error at CMakeLists.txt:3 \(include\):
|
||||
include could not find load file:
|
||||
CMake Error at CommandError0.cmake:2:
|
||||
Parse error. Expected "\(", got newline with text "
|
||||
|
||||
CommandError0.cmake
|
||||
".
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
CMake Error: Error in cmake code at
|
||||
.*/Tests/RunCMake/Syntax/CommandError1.cmake:1:
|
||||
Parse error. Expected a newline, got identifier with text "message".
|
||||
CMake Error at CMakeLists.txt:3 \(include\):
|
||||
include could not find load file:
|
||||
|
||||
CommandError1.cmake
|
||||
CMake Error at CommandError1.cmake:1:
|
||||
Parse error. Expected a newline, got identifier with text "message".
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
CMake Error: Error in cmake code at
|
||||
.*/Tests/RunCMake/Syntax/CommandError2.cmake:1:
|
||||
Parse error. Expected a command name, got bracket argument with text "oops-not-a-comment".
|
||||
CMake Error at CMakeLists.txt:3 \(include\):
|
||||
include could not find load file:
|
||||
|
||||
CommandError2.cmake
|
||||
CMake Error at CommandError2.cmake:1:
|
||||
Parse error. Expected a command name, got bracket argument with text
|
||||
"oops-not-a-comment".
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
CMake Warning \(dev\) in ParenInENV.cmake:
|
||||
Syntax Warning in cmake code at
|
||||
|
||||
.*/Tests/RunCMake/Syntax/ParenInENV.cmake:2:21
|
||||
CMake Warning \(dev\) at ParenInENV.cmake:2:
|
||||
Syntax Warning in cmake code at column 21
|
||||
|
||||
Argument not separated from preceding token by whitespace.
|
||||
Call Stack \(most recent call first\):
|
||||
|
@ -11,7 +9,7 @@ This warning is for project developers. Use -Wno-dev to suppress it.
|
|||
CMake Error at ParenInENV.cmake:2 \(message\):
|
||||
Syntax error in cmake code at
|
||||
|
||||
.*/Tests/RunCMake/Syntax/ParenInENV.cmake:2
|
||||
.*Tests/RunCMake/Syntax/ParenInENV.cmake:2
|
||||
|
||||
when parsing string
|
||||
|
||||
|
|
|
@ -1,27 +1,21 @@
|
|||
CMake Warning \(dev\) in ParenNoSpace1.cmake:
|
||||
Syntax Warning in cmake code at
|
||||
|
||||
.*/Tests/RunCMake/Syntax/ParenNoSpace1.cmake:1:26
|
||||
CMake Warning \(dev\) at ParenNoSpace1.cmake:1:
|
||||
Syntax Warning in cmake code at column 26
|
||||
|
||||
Argument not separated from preceding token by whitespace.
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)
|
||||
This warning is for project developers. Use -Wno-dev to suppress it.
|
||||
|
||||
CMake Warning \(dev\) in ParenNoSpace1.cmake:
|
||||
Syntax Warning in cmake code at
|
||||
|
||||
.*/Tests/RunCMake/Syntax/ParenNoSpace1.cmake:2:26
|
||||
CMake Warning \(dev\) at ParenNoSpace1.cmake:2:
|
||||
Syntax Warning in cmake code at column 26
|
||||
|
||||
Argument not separated from preceding token by whitespace.
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)
|
||||
This warning is for project developers. Use -Wno-dev to suppress it.
|
||||
|
||||
CMake Error in ParenNoSpace1.cmake:
|
||||
Syntax Error in cmake code at
|
||||
|
||||
.*/Tests/RunCMake/Syntax/ParenNoSpace1.cmake:3:29
|
||||
CMake Error at ParenNoSpace1.cmake:3:
|
||||
Syntax Error in cmake code at column 29
|
||||
|
||||
Argument not separated from preceding token by whitespace.
|
||||
Call Stack \(most recent call first\):
|
||||
|
|
|
@ -1,17 +1,13 @@
|
|||
CMake Warning \(dev\) in StringNoSpace.cmake:
|
||||
Syntax Warning in cmake code at
|
||||
|
||||
.*/Tests/RunCMake/Syntax/StringNoSpace.cmake:2:28
|
||||
CMake Warning \(dev\) at StringNoSpace.cmake:2:
|
||||
Syntax Warning in cmake code at column 28
|
||||
|
||||
Argument not separated from preceding token by whitespace.
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)
|
||||
This warning is for project developers. Use -Wno-dev to suppress it.
|
||||
|
||||
CMake Warning \(dev\) in StringNoSpace.cmake:
|
||||
Syntax Warning in cmake code at
|
||||
|
||||
.*/Tests/RunCMake/Syntax/StringNoSpace.cmake:2:31
|
||||
CMake Warning \(dev\) at StringNoSpace.cmake:2:
|
||||
Syntax Warning in cmake code at column 31
|
||||
|
||||
Argument not separated from preceding token by whitespace.
|
||||
Call Stack \(most recent call first\):
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
CMake Error: Error in cmake code at
|
||||
.*/Syntax/UnterminatedBracket0.cmake:2:
|
||||
Parse error. Function missing ending "\)". Instead found unterminated bracket with text "\)
|
||||
".
|
||||
CMake Error at CMakeLists.txt:3 \(include\):
|
||||
include could not find load file:
|
||||
CMake Error at UnterminatedBracket0.cmake:2:
|
||||
Parse error. Function missing ending "\)". Instead found unterminated
|
||||
bracket with text "\)
|
||||
|
||||
UnterminatedBracket0.cmake$
|
||||
".
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
CMake Error: Error in cmake code at
|
||||
.*/Syntax/UnterminatedBracket1.cmake:2:
|
||||
Parse error. Function missing ending "\)". Instead found unterminated bracket with text "\]\]\)
|
||||
".
|
||||
CMake Error at CMakeLists.txt:3 \(include\):
|
||||
include could not find load file:
|
||||
CMake Error at UnterminatedBracket1.cmake:2:
|
||||
Parse error. Function missing ending "\)". Instead found unterminated
|
||||
bracket with text "]]\)
|
||||
|
||||
UnterminatedBracket1.cmake$
|
||||
".
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
CMake Error: Error in cmake code at
|
||||
.*/Syntax/UnterminatedBracketComment.cmake:1:
|
||||
Parse error. Expected a command name, got unterminated bracket with text "#\]\]
|
||||
".
|
||||
CMake Error at CMakeLists.txt:3 \(include\):
|
||||
include could not find load file:
|
||||
CMake Error at UnterminatedBracketComment.cmake:3:
|
||||
Parse error. Expected a command name, got unterminated bracket with text
|
||||
"#]]
|
||||
|
||||
UnterminatedBracketComment.cmake
|
||||
".
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
CMake Error: Error in cmake code at
|
||||
.*/Syntax/UnterminatedCall1.cmake:2:
|
||||
Parse error. Function missing ending "\)". End of file reached.
|
||||
CMake Error at CMakeLists.txt:3 \(include\):
|
||||
include could not find load file:
|
||||
|
||||
UnterminatedCall1.cmake
|
||||
CMake Error at UnterminatedCall1.cmake:2:
|
||||
Parse error. Function missing ending "\)". End of file reached.
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
CMake Error: Error in cmake code at
|
||||
.*/Syntax/UnterminatedCall2.cmake:4:
|
||||
Parse error. Function missing ending "\)". End of file reached.
|
||||
CMake Error at CMakeLists.txt:3 \(include\):
|
||||
include could not find load file:
|
||||
|
||||
UnterminatedCall2.cmake
|
||||
CMake Error at UnterminatedCall2.cmake:4:
|
||||
Parse error. Function missing ending "\)". End of file reached.
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
CMake Error: Error in cmake code at
|
||||
.*/Syntax/UnterminatedString.cmake:2:
|
||||
Parse error. Function missing ending "\)". Instead found unterminated string with text "\)
|
||||
".
|
||||
CMake Error at CMakeLists.txt:3 \(include\):
|
||||
include could not find load file:
|
||||
CMake Error at UnterminatedString.cmake:2:
|
||||
Parse error. Function missing ending "\)". Instead found unterminated
|
||||
string with text "\)
|
||||
|
||||
UnterminatedString.cmake$
|
||||
".
|
||||
Call Stack \(most recent call first\):
|
||||
CMakeLists.txt:3 \(include\)
|
||||
|
|
Loading…
Reference in New Issue