summaryrefslogtreecommitdiffstats
path: root/Source/CPack/cmCPackDocumentVariables.cxx
diff options
context:
space:
mode:
authorEric NOULARD <eric.noulard@gmail.com>2012-05-14 21:29:42 (GMT)
committerEric NOULARD <eric.noulard@gmail.com>2012-05-14 21:29:42 (GMT)
commit47f0dbd70b83ccb5e314abee5feded2ed50a23fb (patch)
treeb3821ced0886a295429aa3e014e4f7abf087a5aa /Source/CPack/cmCPackDocumentVariables.cxx
parent6ba055bacdce1cdf7a74008b980440027f275d94 (diff)
downloadCMake-47f0dbd70b83ccb5e314abee5feded2ed50a23fb.zip
CMake-47f0dbd70b83ccb5e314abee5feded2ed50a23fb.tar.gz
CMake-47f0dbd70b83ccb5e314abee5feded2ed50a23fb.tar.bz2
CPack add necessary check to detect/warns/error on ABSOLUTE DESTINATION
The [usually] wrong usage of absolute DESTINATION in INSTALL rules keeps popping-up on the ML. We shall have some way to: 1) easily detect it. 2) forbids this for some CPack generator like NSIS In fact it should certainly be forbidden for *any* generators when used on Windows but we may implements that on top of the current patch. The patch ask the task to the generated cmake_install.cmake scripts. Those scripts are a little bit more complicated with that but iff there are absolute DESTINATION. This cost nothing if relative DESTINATION are used. Two new vars are introduced (and documented to handle that): CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION and CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
Diffstat (limited to 'Source/CPack/cmCPackDocumentVariables.cxx')
-rw-r--r--Source/CPack/cmCPackDocumentVariables.cxx16
1 files changed, 16 insertions, 0 deletions
diff --git a/Source/CPack/cmCPackDocumentVariables.cxx b/Source/CPack/cmCPackDocumentVariables.cxx
index d2e3802..b529480 100644
--- a/Source/CPack/cmCPackDocumentVariables.cxx
+++ b/Source/CPack/cmCPackDocumentVariables.cxx
@@ -77,4 +77,20 @@ void cmCPackDocumentVariables::DefineVariables(cmake* cm)
"which is done right before packaging the files."
" The script is not called by e.g.: make install.", false,
"Variables common to all CPack generators");
+
+ cm->DefineProperty
+ ("CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION", cmProperty::VARIABLE,
+ "Ask CPack to warn each time a file with absolute INSTALL"
+ " DESTINATION is encountered.",
+ "", false,
+ "Variables common to all CPack generators");
+
+ cm->DefineProperty
+ ("CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION", cmProperty::VARIABLE,
+ "Ask CPack to error out as soon as a file with absolute INSTALL"
+ " DESTINATION is encountered",
+ "The fatal error is emitted before the installation of "
+ "the offending file takes place. Some CPack generators, like NSIS,"
+ "enforce this internally.", false,
+ "Variables common to all CPack generators");
}