summaryrefslogtreecommitdiff
path: root/Source/cmInstallGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-05-05 14:57:19 -0400
committerBrad King <brad.king@kitware.com>2006-05-05 14:57:19 -0400
commit50a0f71120afe28c205bacab5a1350eb04815f3d (patch)
tree7f3473d0e452b39c63e59763cca41167f3483a26 /Source/cmInstallGenerator.cxx
parent059320a5774fcaaced1a6155fec7dd5816bb1f75 (diff)
downloadcmake-50a0f71120afe28c205bacab5a1350eb04815f3d.tar.gz
ENH: Added CONFIGURATIONS option to INSTALL command to allow per-configuration install rules.
Diffstat (limited to 'Source/cmInstallGenerator.cxx')
-rw-r--r--Source/cmInstallGenerator.cxx30
1 files changed, 21 insertions, 9 deletions
diff --git a/Source/cmInstallGenerator.cxx b/Source/cmInstallGenerator.cxx
index 44b6936524..797fc0203e 100644
--- a/Source/cmInstallGenerator.cxx
+++ b/Source/cmInstallGenerator.cxx
@@ -47,15 +47,18 @@ cmInstallGenerator
}
//----------------------------------------------------------------------------
-void cmInstallGenerator::AddInstallRule(std::ostream& os,
- const char* dest,
- int type,
- const char* file,
- bool optional /* = false */,
- const char* properties /* = 0 */,
- const char* permissions /* = 0 */,
- const char* component /* = 0 */,
- const char* rename /* = 0 */)
+void cmInstallGenerator::AddInstallRule(
+ std::ostream& os,
+ const char* dest,
+ int type,
+ const char* file,
+ bool optional /* = false */,
+ const char* properties /* = 0 */,
+ const char* permissions /* = 0 */,
+ std::vector<std::string> const& configurations /* = std::vector<std::string>() */,
+ const char* component /* = 0 */,
+ const char* rename /* = 0 */
+ )
{
// Use the FILE command to install the file.
std::string stype;
@@ -87,6 +90,15 @@ void cmInstallGenerator::AddInstallRule(std::ostream& os,
{
os << " RENAME \"" << rename << "\"";
}
+ if(!configurations.empty())
+ {
+ os << " CONFIGURATIONS";
+ for(std::vector<std::string>::const_iterator c = configurations.begin();
+ c != configurations.end(); ++c)
+ {
+ os << " \"" << *c << "\"";
+ }
+ }
if(component && *component)
{
os << " COMPONENTS \"" << component << "\"";