summaryrefslogtreecommitdiffstats
path: root/Source/cmInstallCommand.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-08-21 20:55:03 (GMT)
committerBrad King <brad.king@kitware.com>2006-08-21 20:55:03 (GMT)
commitbed79f6c6b47b2c0661da67799ec37fce8905c54 (patch)
treebdf2a3211652d8587c710d14dbb0f323fb40e617 /Source/cmInstallCommand.h
parentf1ea7e88dc8322d4344e6b7acde6bf7bcffd7806 (diff)
downloadCMake-bed79f6c6b47b2c0661da67799ec37fce8905c54.zip
CMake-bed79f6c6b47b2c0661da67799ec37fce8905c54.tar.gz
CMake-bed79f6c6b47b2c0661da67799ec37fce8905c54.tar.bz2
ENH: Implemented INSTALL(DIRECTORY) command and added a test. Re-organized cmFileCommand's implementation of FILE(INSTALL) a bit to help out. This addresses bug#1694 and partially addresses bug#2691.
Diffstat (limited to 'Source/cmInstallCommand.h')
-rw-r--r--Source/cmInstallCommand.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/Source/cmInstallCommand.h b/Source/cmInstallCommand.h
index 7bf77df..0607d16 100644
--- a/Source/cmInstallCommand.h
+++ b/Source/cmInstallCommand.h
@@ -165,6 +165,55 @@ public:
"such as shell scripts. Use the TARGETS form to install targets "
"built within the project."
"\n"
+ "The DIRECTORY signature:\n"
+ " INSTALL(DIRECTORY dirs... DESTINATION <dir>\n"
+ " [FILE_PERMISSIONS permissions...]\n"
+ " [DIRECTORY_PERMISSIONS permissions...]\n"
+ " [USE_SOURCE_PERMISSIONS]\n"
+ " [CONFIGURATIONS [Debug|Release|...]]\n"
+ " [COMPONENT <component>]\n"
+ " [[PATTERN <pattern> | REGEX <regex>]\n"
+ " [EXCLUDE] [PERMISSIONS permissions...]] [...])\n"
+ "The DIRECTORY form installs contents of one or more directories "
+ "to a given destination. "
+ "The directory structure is copied verbatim to the destination. "
+ "The last component of each directory name is appended to the "
+ "destination directory but a trailing slash may be used to "
+ "avoid this because it leaves the last component empty. "
+ "Directory names given as relative paths are interpreted with "
+ "respect to the current source directory. "
+ "The FILE_PERMISSIONS and DIRECTORY_PERMISSIONS options specify "
+ "permissions given to files and directories in the destination. "
+ "If USE_SOURCE_PERMISSIONS is specified and FILE_PERMISSIONS is not, "
+ "file permissions will be copied from the source directory structure. "
+ "If no permissions are specified files will be given the default "
+ "permissions specified in the FILES form of the command, and the "
+ "directories will be given the default permissions specified in the "
+ "PROGRAMS form of the command. "
+ "The PATTERN and REGEX options specify a globbing pattern or regular "
+ "expression to match directories or files encountered during traversal "
+ "of an input directory. The full path to an input file or directory "
+ "(with forward slashes) is matched against the expression. "
+ "A PATTERN will match only complete file names: the portion of the full "
+ "path matching the pattern must occur at the end of the file name and "
+ "be preceded by a slash. "
+ "A REGEX will match any portion of the full path but it may use "
+ "'/' and '$' to simulate the PATTERN behavior. "
+ "Options following one of these matching expressions "
+ "are applied only to files or directories matching them. The EXCLUDE "
+ "option will skip the matched file or directory. The PERMISSIONS "
+ "option overrides the permissions setting for the matched file. "
+ "For example the code\n"
+ " INSTALL(DIRECTORY icons scripts/ DESTINATION share/myproj\n"
+ " PATTERN \"CVS\" EXCLUDE\n"
+ " PATTERN \"scripts/*\"\n"
+ " PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ\n"
+ " GROUP_EXECUTE GROUP_READ)\n"
+ "will install the icons directory to share/myproj/icons and the "
+ "scripts directory to share/myproj. The icons will get default file "
+ "permissions, the scripts will be given specific permissions, and "
+ "any CVS directories will be excluded."
+ "\n"
"The SCRIPT and CODE signature:\n"
" INSTALL([[SCRIPT <file>] [CODE <code>]] [...])\n"
"The SCRIPT form will invoke the given CMake script files during "