[Cmake-commits] CMake branch, next, updated. v3.6.2-2083-geb8d2dc
Brad King
brad.king at kitware.com
Thu Sep 15 13:47:50 EDT 2016
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via eb8d2dca610df895a5e069b8377f425caa0a4e81 (commit)
via 72dfca30b94ba1e85533c61a7b5a330dfbc04da5 (commit)
from 726c80b6cbfdc4652f23c8f335def15c70686d81 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=eb8d2dca610df895a5e069b8377f425caa0a4e81
commit eb8d2dca610df895a5e069b8377f425caa0a4e81
Merge: 726c80b 72dfca3
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Sep 15 13:47:49 2016 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Sep 15 13:47:49 2016 -0400
Merge topic 'detect-relink-incompat' into next
72dfca30 ninja: error out on relink requirements
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=72dfca30b94ba1e85533c61a7b5a330dfbc04da5
commit 72dfca30b94ba1e85533c61a7b5a330dfbc04da5
Author: Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Tue Sep 13 11:23:19 2016 -0400
Commit: Brad King <brad.king at kitware.com>
CommitDate: Thu Sep 15 13:44:58 2016 -0400
ninja: error out on relink requirements
Ninja does not support PRE_INSTALL_SCRIPT properties and does not
perform the relink required by installation without help from some other
mechanism, so error out if it would be required.
Issue: #13934, #16304
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 4f8c036..1e21ac4 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -1162,7 +1162,28 @@ bool cmGeneratorTarget::NeedRelinkBeforeInstall(
// If either a build or install tree rpath is set then the rpath
// will likely change between the build tree and install tree and
// this target must be relinked.
- return this->HaveBuildTreeRPATH(config) || this->HaveInstallTreeRPATH();
+ bool have_rpath =
+ this->HaveBuildTreeRPATH(config) || this->HaveInstallTreeRPATH();
+ bool is_ninja =
+ this->LocalGenerator->GetGlobalGenerator()->GetName() == "Ninja";
+
+ if (have_rpath && is_ninja) {
+ std::ostringstream w;
+ /* clang-format off */
+ w <<
+ "The install of the " << this->GetName() << " target requires "
+ "changing an RPATH from the build tree, but this is not supported "
+ "with the Ninja generator unless on an ELF-based platform. The "
+ "CMAKE_BUILD_WITH_INSTALL_RPATH variable may be set to avoid this "
+ "relinking step."
+ ;
+ /* clang-format on */
+
+ cmake* cm = this->LocalGenerator->GetCMakeInstance();
+ cm->IssueMessage(cmake::FATAL_ERROR, w.str(), this->GetBacktrace());
+ }
+
+ return have_rpath;
}
bool cmGeneratorTarget::IsChrpathUsed(const std::string& config) const
-----------------------------------------------------------------------
Summary of changes:
Source/cmGeneratorTarget.cxx | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list