summaryrefslogtreecommitdiff
path: root/Source/cmInstallCommandArguments.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-02-04 17:03:48 -0500
committerBrad King <brad.king@kitware.com>2008-02-04 17:03:48 -0500
commit8401c5ba065f9c66bfd1c495762001c6dacd5d9c (patch)
tree7cf1e9d906e64771528e5c7bf80389f10682a77b /Source/cmInstallCommandArguments.cxx
parent852f6018bbe2bb52a3b7cbef95dba04c8e8f6a0c (diff)
downloadcmake-8401c5ba065f9c66bfd1c495762001c6dacd5d9c.tar.gz
ENH: Allow separate installation of shared libs and their links.
- Add NAMELINK_ONLY and NAMELINK_SKIP to INSTALL command - Options select a \"namelink\" mode - cmInstallTargetGenerator selects files/link based on mode - See bug #4419
Diffstat (limited to 'Source/cmInstallCommandArguments.cxx')
-rw-r--r--Source/cmInstallCommandArguments.cxx28
1 files changed, 28 insertions, 0 deletions
diff --git a/Source/cmInstallCommandArguments.cxx b/Source/cmInstallCommandArguments.cxx
index 506954c8b0..ddfd9d4c36 100644
--- a/Source/cmInstallCommandArguments.cxx
+++ b/Source/cmInstallCommandArguments.cxx
@@ -37,6 +37,8 @@ cmInstallCommandArguments::cmInstallCommandArguments()
,Permissions (&Parser, "PERMISSIONS" , &ArgumentGroup)
,Configurations(&Parser, "CONFIGURATIONS", &ArgumentGroup)
,Optional (&Parser, "OPTIONAL" , &ArgumentGroup)
+,NamelinkOnly (&Parser, "NAMELINK_ONLY" , &ArgumentGroup)
+,NamelinkSkip (&Parser, "NAMELINK_SKIP" , &ArgumentGroup)
,GenericArguments(0)
{
this->Component.SetDefaultString("Unspecified");
@@ -107,6 +109,32 @@ bool cmInstallCommandArguments::GetOptional() const
return false;
}
+bool cmInstallCommandArguments::GetNamelinkOnly() const
+{
+ if (this->NamelinkOnly.IsEnabled())
+ {
+ return true;
+ }
+ if (this->GenericArguments!=0)
+ {
+ return this->GenericArguments->GetNamelinkOnly();
+ }
+ return false;
+}
+
+bool cmInstallCommandArguments::GetNamelinkSkip() const
+{
+ if (this->NamelinkSkip.IsEnabled())
+ {
+ return true;
+ }
+ if (this->GenericArguments!=0)
+ {
+ return this->GenericArguments->GetNamelinkSkip();
+ }
+ return false;
+}
+
const std::vector<std::string>&
cmInstallCommandArguments::GetConfigurations() const
{