summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-01-02 19:23:09 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2014-01-02 19:23:09 (GMT)
commit0d63bdd2d9690cfdb43671af7465704675a68733 (patch)
tree17370b9ce679a48de0ed5f3baf7cddd27ed08e01 /Source/cmGlobalGenerator.cxx
parentc0ea0604a0dcd1d580e9b6a976aae0069cab2986 (diff)
parentd25ad482e978cbf5e4fcfa8b1dcc342ba93dcda0 (diff)
downloadCMake-0d63bdd2d9690cfdb43671af7465704675a68733.zip
CMake-0d63bdd2d9690cfdb43671af7465704675a68733.tar.gz
CMake-0d63bdd2d9690cfdb43671af7465704675a68733.tar.bz2
Merge topic 'rpath-default'
d25ad48 OS X: Add CMP0042 to enable MACOSX_RPATH by default
Diffstat (limited to 'Source/cmGlobalGenerator.cxx')
-rw-r--r--Source/cmGlobalGenerator.cxx28
1 files changed, 28 insertions, 0 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 227a948..3b858af 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1045,6 +1045,12 @@ cmGlobalGenerator::GetExportedTargetsFile(const std::string &filename) const
return it == this->BuildExportSets.end() ? 0 : it->second;
}
+//----------------------------------------------------------------------------
+void cmGlobalGenerator::AddCMP0042WarnTarget(const std::string& target)
+{
+ this->CMP0042WarnTargets.insert(target);
+}
+
bool cmGlobalGenerator::CheckALLOW_DUPLICATE_CUSTOM_TARGETS()
{
// If the property is not enabled then okay.
@@ -1072,6 +1078,9 @@ void cmGlobalGenerator::Generate()
// Start with an empty vector:
this->FilesReplacedDuringGenerate.clear();
+ // clear targets to issue warning CMP0042 for
+ this->CMP0042WarnTargets.clear();
+
// Check whether this generator is allowed to run.
if(!this->CheckALLOW_DUPLICATE_CUSTOM_TARGETS())
{
@@ -1203,6 +1212,25 @@ void cmGlobalGenerator::Generate()
this->ExtraGenerator->Generate();
}
+ if(!this->CMP0042WarnTargets.empty())
+ {
+ cmOStringStream w;
+ w <<
+ (this->GetCMakeInstance()->GetPolicies()->
+ GetPolicyWarning(cmPolicies::CMP0042)) << "\n";
+ w << "MACOSX_RPATH is not specified for"
+ " the following targets:\n";
+ for(std::set<std::string>::iterator
+ iter = this->CMP0042WarnTargets.begin();
+ iter != this->CMP0042WarnTargets.end();
+ ++iter)
+ {
+ w << " " << *iter << "\n";
+ }
+ this->GetCMakeInstance()->IssueMessage(cmake::AUTHOR_WARNING, w.str(),
+ cmListFileBacktrace());
+ }
+
this->CMakeInstance->UpdateProgress("Generating done", -1);
}