diff options
author | Eric NOULARD <eric.noulard@gmail.com> | 2012-05-14 21:29:42 (GMT) |
---|---|---|
committer | Eric NOULARD <eric.noulard@gmail.com> | 2012-05-14 21:29:42 (GMT) |
commit | 47f0dbd70b83ccb5e314abee5feded2ed50a23fb (patch) | |
tree | b3821ced0886a295429aa3e014e4f7abf087a5aa /Source/CPack/cmCPackDocumentVariables.cxx | |
parent | 6ba055bacdce1cdf7a74008b980440027f275d94 (diff) | |
download | CMake-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.cxx | 16 |
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"); } |