summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2013-12-20 14:41:40 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2013-12-20 14:41:40 (GMT)
commit28d9aba7d6ad486af67ab307a3f64692631bd368 (patch)
tree64b9f17c49bc30c04e3aac5974d45e10d0117507 /Source
parentc57aca394eca7745d81ce88930344c157ed15728 (diff)
parentb51b6e97a26b604f184646003adb7d5fb6077131 (diff)
downloadCMake-28d9aba7d6ad486af67ab307a3f64692631bd368.zip
CMake-28d9aba7d6ad486af67ab307a3f64692631bd368.tar.gz
CMake-28d9aba7d6ad486af67ab307a3f64692631bd368.tar.bz2
Merge topic 'minor-cleanup'
b51b6e9 Export: Skip INTERFACE libraries when generating -config files. cad5c79 cmTarget: Fix typo 08e72a3 Automoc: Fix style 2eda924 Genex: Use case-sensitive comparison in PLATFORM_ID. 9436353 Genex: Always return immediately on error. 20a06d0 Export: Clean up comment. f4d9466 Genex: Accept arbitrary content in *_CASE and MAKE_C_IDENTIFIER. d36b489 Genex: Allow single param expressions to accept arbirary input. 218ad35 Constify cmStrCmp. 4cb7d79 Help: Fix CMP0037 docs. 5187580 Help: Add missing period.
Diffstat (limited to 'Source')
-rw-r--r--Source/cmExportBuildFileGenerator.cxx2
-rw-r--r--Source/cmExportInstallFileGenerator.cxx12
-rw-r--r--Source/cmGeneratorExpressionEvaluator.cxx66
-rw-r--r--Source/cmQtAutoGenerators.cxx6
-rw-r--r--Source/cmStandardIncludes.h6
-rw-r--r--Source/cmTarget.cxx2
6 files changed, 46 insertions, 48 deletions
diff --git a/Source/cmExportBuildFileGenerator.cxx b/Source/cmExportBuildFileGenerator.cxx
index 0d0d05b..c10f86f 100644
--- a/Source/cmExportBuildFileGenerator.cxx
+++ b/Source/cmExportBuildFileGenerator.cxx
@@ -229,10 +229,8 @@ cmExportBuildFileGenerator::HandleMissingTarget(
// Append it with the export namespace.
link_libs += this->Namespace;
link_libs += dependee->GetExportName();
-// if generate time {}
}
-
//----------------------------------------------------------------------------
std::vector<std::string>
cmExportBuildFileGenerator
diff --git a/Source/cmExportInstallFileGenerator.cxx b/Source/cmExportInstallFileGenerator.cxx
index 79e78df..1025dc0 100644
--- a/Source/cmExportInstallFileGenerator.cxx
+++ b/Source/cmExportInstallFileGenerator.cxx
@@ -297,16 +297,14 @@ cmExportInstallFileGenerator
{
// Collect import properties for this target.
cmTargetExport const* te = *tei;
- ImportPropertyMap properties;
- std::set<std::string> importedLocations;
- if (!properties.empty()
- && te->Target->GetType() == cmTarget::INTERFACE_LIBRARY)
+ if (te->Target->GetType() == cmTarget::INTERFACE_LIBRARY)
{
- this->GenerateImportPropertyCode(os, config, te->Target, properties);
- this->GenerateImportedFileChecksCode(os, te->Target, properties,
- importedLocations);
continue;
}
+
+ ImportPropertyMap properties;
+ std::set<std::string> importedLocations;
+
this->SetImportLocationProperty(config, suffix, te->ArchiveGenerator,
properties, importedLocations);
this->SetImportLocationProperty(config, suffix, te->LibraryGenerator,
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx
index 0f8c4e3..c8010d0 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -82,7 +82,6 @@ static const struct ZeroNode : public cmGeneratorExpressionNode
const GeneratorExpressionContent *,
cmGeneratorExpressionDAGChecker *) const
{
- // Unreachable
return std::string();
}
} zeroNode;
@@ -94,13 +93,12 @@ static const struct OneNode : public cmGeneratorExpressionNode
virtual bool AcceptsArbitraryContentParameter() const { return true; }
- std::string Evaluate(const std::vector<std::string> &,
+ std::string Evaluate(const std::vector<std::string> &parameters,
cmGeneratorExpressionContext *,
const GeneratorExpressionContent *,
cmGeneratorExpressionDAGChecker *) const
{
- // Unreachable
- return std::string();
+ return parameters.front();
}
} oneNode;
@@ -203,6 +201,8 @@ static const struct LowerCaseNode : public cmGeneratorExpressionNode
{
LowerCaseNode() {}
+ bool AcceptsArbitraryContentParameter() const { return true; }
+
std::string Evaluate(const std::vector<std::string> &parameters,
cmGeneratorExpressionContext *,
const GeneratorExpressionContent *,
@@ -217,6 +217,8 @@ static const struct UpperCaseNode : public cmGeneratorExpressionNode
{
UpperCaseNode() {}
+ bool AcceptsArbitraryContentParameter() const { return true; }
+
std::string Evaluate(const std::vector<std::string> &parameters,
cmGeneratorExpressionContext *,
const GeneratorExpressionContent *,
@@ -231,6 +233,8 @@ static const struct MakeCIdentifierNode : public cmGeneratorExpressionNode
{
MakeCIdentifierNode() {}
+ bool AcceptsArbitraryContentParameter() const { return true; }
+
std::string Evaluate(const std::vector<std::string> &parameters,
cmGeneratorExpressionContext *,
const GeneratorExpressionContent *,
@@ -350,6 +354,7 @@ static const struct CCompilerIdNode : public CompilerIdNode
reportError(context, content->GetOriginalExpression(),
"$<C_COMPILER_ID> may only be used with targets. It may not "
"be used with add_custom_command.");
+ return std::string();
}
return this->EvaluateWithLanguage(parameters, context, content,
dagChecker, "C");
@@ -377,6 +382,7 @@ static const struct CXXCompilerIdNode : public CompilerIdNode
reportError(context, content->GetOriginalExpression(),
"$<CXX_COMPILER_ID> may only be used with targets. It may not "
"be used with add_custom_command.");
+ return std::string();
}
return this->EvaluateWithLanguage(parameters, context, content,
dagChecker, "CXX");
@@ -444,6 +450,7 @@ static const struct CCompilerVersionNode : public CompilerVersionNode
reportError(context, content->GetOriginalExpression(),
"$<C_COMPILER_VERSION> may only be used with targets. It may not "
"be used with add_custom_command.");
+ return std::string();
}
return this->EvaluateWithLanguage(parameters, context, content,
dagChecker, "C");
@@ -472,6 +479,7 @@ static const struct CxxCompilerVersionNode : public CompilerVersionNode
reportError(context, content->GetOriginalExpression(),
"$<CXX_COMPILER_VERSION> may only be used with targets. It may "
"not be used with add_custom_command.");
+ return std::string();
}
return this->EvaluateWithLanguage(parameters, context, content,
dagChecker, "CXX");
@@ -504,7 +512,7 @@ struct PlatformIdNode : public cmGeneratorExpressionNode
return parameters.front().empty() ? "1" : "0";
}
- if (cmsysString_strcasecmp(parameters.begin()->c_str(), platformId) == 0)
+ if (strcmp(parameters.begin()->c_str(), platformId) == 0)
{
return "1";
}
@@ -1634,14 +1642,6 @@ std::string GeneratorExpressionContent::Evaluate(
return std::string();
}
- if (node->NumExpectedParameters() == 1
- && node->AcceptsArbitraryContentParameter())
- {
- return this->ProcessArbitraryContent(node, identifier, context,
- dagChecker,
- this->ParamChildren.begin());
- }
-
std::vector<std::string> parameters;
this->EvaluateParameters(node, identifier, context, dagChecker, parameters);
if (context->HadError)
@@ -1669,33 +1669,35 @@ std::string GeneratorExpressionContent::EvaluateParameters(
pend = this->ParamChildren.end();
const bool acceptsArbitraryContent
= node->AcceptsArbitraryContentParameter();
- for ( ; pit != pend; ++pit)
+ int counter = 1;
+ for ( ; pit != pend; ++pit, ++counter)
{
- std::string parameter;
- std::vector<cmGeneratorExpressionEvaluator*>::const_iterator it =
- pit->begin();
- const std::vector<cmGeneratorExpressionEvaluator*>::const_iterator end =
- pit->end();
- for ( ; it != end; ++it)
- {
- parameter += (*it)->Evaluate(context, dagChecker);
- if (context->HadError)
- {
- return std::string();
- }
- }
- parameters.push_back(parameter);
- if (acceptsArbitraryContent
- && parameters.size() == (unsigned int)numExpected - 1)
+ if (acceptsArbitraryContent && counter == numExpected)
{
- assert(pit != pend);
std::string lastParam = this->ProcessArbitraryContent(node, identifier,
context,
dagChecker,
- pit + 1);
+ pit);
parameters.push_back(lastParam);
return std::string();
}
+ else
+ {
+ std::string parameter;
+ std::vector<cmGeneratorExpressionEvaluator*>::const_iterator it =
+ pit->begin();
+ const std::vector<cmGeneratorExpressionEvaluator*>::const_iterator end =
+ pit->end();
+ for ( ; it != end; ++it)
+ {
+ parameter += (*it)->Evaluate(context, dagChecker);
+ if (context->HadError)
+ {
+ return std::string();
+ }
+ }
+ parameters.push_back(parameter);
+ }
}
}
diff --git a/Source/cmQtAutoGenerators.cxx b/Source/cmQtAutoGenerators.cxx
index 2b4bb8a..a561aab 100644
--- a/Source/cmQtAutoGenerators.cxx
+++ b/Source/cmQtAutoGenerators.cxx
@@ -1379,18 +1379,18 @@ bool cmQtAutoGenerators::RunAutogen(cmMakefile* makefile)
if (this->RunMocFailed)
{
- std::cerr << "moc failed..."<< std::endl;
+ std::cerr << "moc failed..." << std::endl;
return false;
}
if (this->RunUicFailed)
{
- std::cerr << "uic failed..."<< std::endl;
+ std::cerr << "uic failed..." << std::endl;
return false;
}
if (this->RunRccFailed)
{
- std::cerr << "rcc failed..."<< std::endl;
+ std::cerr << "rcc failed..." << std::endl;
return false;
}
outStream.flush();
diff --git a/Source/cmStandardIncludes.h b/Source/cmStandardIncludes.h
index 7369fe6..eb6e52f 100644
--- a/Source/cmStandardIncludes.h
+++ b/Source/cmStandardIncludes.h
@@ -423,19 +423,19 @@ struct cmStrCmp {
cmStrCmp(const char *test) : m_test(test) {}
cmStrCmp(std::string &test) : m_test(test.c_str()) {}
- bool operator()(const char * input)
+ bool operator()(const char * input) const
{
return strcmp(input, m_test) == 0;
}
// For use with binary_search
- bool operator()(const char *str1, const char *str2)
+ bool operator()(const char *str1, const char *str2) const
{
return strcmp(str1, str2) < 0;
}
private:
- const char *m_test;
+ const char * const m_test;
};
#endif
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index a44cda1..a0177fb 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -5614,7 +5614,7 @@ void cmTarget::ComputeLinkImplementation(const char* config,
{
e << "Target \"" << this->GetName() << "\" links to target \"" << item
<< "\" but the target was not found. Perhaps a find_package() "
- "call is missing for an IMPORTED target, or a ALIAS target is "
+ "call is missing for an IMPORTED target, or an ALIAS target is "
"missing?";
this->Makefile->GetCMakeInstance()->IssueMessage(messageType,
e.str(),