summaryrefslogtreecommitdiffstats
path: root/Source/cmInstallCommand.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-01-02 20:17:56 (GMT)
committerBrad King <brad.king@kitware.com>2008-01-02 20:17:56 (GMT)
commit60bf0531b01b641a00f6844dfd38ef803d2deda1 (patch)
tree1f39b207ca36da6e19b1ae0363836517b3e663bd /Source/cmInstallCommand.cxx
parent509764067136026cfab21e7eb83c9f03ddc1c96a (diff)
downloadCMake-60bf0531b01b641a00f6844dfd38ef803d2deda1.zip
CMake-60bf0531b01b641a00f6844dfd38ef803d2deda1.tar.gz
CMake-60bf0531b01b641a00f6844dfd38ef803d2deda1.tar.bz2
ENH: Added FILES_MATCHING option to INSTALL(DIRECTORY). This will help install a tree of header files while ignoring non-headers.
Diffstat (limited to 'Source/cmInstallCommand.cxx')
-rw-r--r--Source/cmInstallCommand.cxx23
1 files changed, 23 insertions, 0 deletions
diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx
index a2e3764..c04a682 100644
--- a/Source/cmInstallCommand.cxx
+++ b/Source/cmInstallCommand.cxx
@@ -871,6 +871,29 @@ cmInstallCommand::HandleDirectoryMode(std::vector<std::string> const& args)
doing_component = false;
literal_args += " USE_SOURCE_PERMISSIONS";
}
+ else if(args[i] == "FILES_MATCHING")
+ {
+ if(in_match_mode)
+ {
+ cmOStringStream e;
+ e << args[0] << " does not allow \""
+ << args[i] << "\" after PATTERN or REGEX.";
+ this->SetError(e.str().c_str());
+ return false;
+ }
+
+ // Add this option literally.
+ doing_dirs = false;
+ doing_destination = false;
+ doing_pattern = false;
+ doing_regex = false;
+ doing_permissions_file = false;
+ doing_permissions_dir = false;
+ doing_permissions_match = false;
+ doing_configurations = false;
+ doing_component = false;
+ literal_args += " FILES_MATCHING";
+ }
else if(args[i] == "CONFIGURATIONS")
{
if(in_match_mode)