Attached Files | 0001-Implement-install-.-QUIET-.-13761.patch [^] (15,174 bytes) 2014-04-02 15:49 [Show Content] [Hide Content]From 9bb1683fc652e1962bbb328e2d009c9d34dc861b Mon Sep 17 00:00:00 2001
From: Stefan Eilemann <Stefan.Eilemann@epfl.ch>
Date: Wed, 2 Apr 2014 21:48:31 +0200
Subject: [PATCH] Implement install(... QUIET ...) #13761
---
Source/cmFileCommand.cxx | 16 ++++++++++++++++
Source/cmInstallCommand.cxx | 23 ++++++++++++++++++++---
Source/cmInstallCommandArguments.cxx | 14 ++++++++++++++
Source/cmInstallCommandArguments.h | 2 ++
Source/cmInstallDirectoryGenerator.cxx | 6 +++---
Source/cmInstallDirectoryGenerator.h | 3 ++-
Source/cmInstallExportGenerator.cxx | 4 ++--
Source/cmInstallFilesGenerator.cxx | 6 +++---
Source/cmInstallFilesGenerator.h | 3 ++-
Source/cmInstallGenerator.cxx | 5 +++++
Source/cmInstallGenerator.h | 1 +
Source/cmInstallTargetGenerator.cxx | 7 ++++---
Source/cmInstallTargetGenerator.h | 3 ++-
13 files changed, 76 insertions(+), 17 deletions(-)
diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index 5bfb664..1610492 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -1702,6 +1702,7 @@ struct cmFileInstaller: public cmFileCopier
cmFileCopier(command, "INSTALL"),
InstallType(cmInstallType_FILES),
Optional(false),
+ Quiet(false),
DestDirLength(0)
{
// Installation does not use source permissions by default.
@@ -1723,6 +1724,7 @@ struct cmFileInstaller: public cmFileCopier
protected:
cmInstallType InstallType;
bool Optional;
+ bool Quiet;
int DestDirLength;
std::string Rename;
@@ -1738,6 +1740,8 @@ protected:
virtual void ReportCopy(const char* toFile, Type type, bool copy)
{
+ if(this->Quiet)
+ return;
std::string message = (copy? "Installing: " : "Up-to-date: ");
message += toFile;
this->Makefile->DisplayStatus(message.c_str(), -1);
@@ -1877,6 +1881,18 @@ bool cmFileInstaller::CheckKeyword(std::string const& arg)
this->Optional = true;
}
}
+ else if(arg == "QUIET")
+ {
+ if(this->CurrentMatchRule)
+ {
+ this->NotAfterMatch(arg);
+ }
+ else
+ {
+ this->Doing = DoingNone;
+ this->Quiet = true;
+ }
+ }
else if(arg == "PERMISSIONS")
{
if(this->CurrentMatchRule)
diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx
index 0041122..9b8ccca 100644
--- a/Source/cmInstallCommand.cxx
+++ b/Source/cmInstallCommand.cxx
@@ -28,7 +28,7 @@ static cmInstallTargetGenerator* CreateInstallTargetGenerator(cmTarget& target,
return new cmInstallTargetGenerator(target, args.GetDestination().c_str(),
impLib, args.GetPermissions().c_str(),
args.GetConfigurations(), args.GetComponent().c_str(),
- args.GetOptional() || forceOpt);
+ args.GetOptional() || forceOpt, args.GetQuiet());
}
static cmInstallFilesGenerator* CreateInstallFilesGenerator(
@@ -40,7 +40,8 @@ static cmInstallFilesGenerator* CreateInstallFilesGenerator(
absFiles, args.GetDestination().c_str(),
programs, args.GetPermissions().c_str(),
args.GetConfigurations(), args.GetComponent().c_str(),
- args.GetRename().c_str(), args.GetOptional());
+ args.GetRename().c_str(), args.GetOptional(),
+ args.GetQuiet());
}
@@ -911,6 +912,7 @@ cmInstallCommand::HandleDirectoryMode(std::vector<std::string> const& args)
Doing doing = DoingDirs;
bool in_match_mode = false;
bool optional = false;
+ bool quiet = false;
std::vector<std::string> dirs;
const char* destination = 0;
std::string permissions_file;
@@ -949,6 +951,21 @@ cmInstallCommand::HandleDirectoryMode(std::vector<std::string> const& args)
optional = true;
doing = DoingNone;
}
+ else if(args[i] == "QUIET")
+ {
+ if(in_match_mode)
+ {
+ cmOStringStream e;
+ e << args[0] << " does not allow \""
+ << args[i] << "\" after PATTERN or REGEX.";
+ this->SetError(e.str());
+ return false;
+ }
+
+ // Mark the rule as optional.
+ quiet = true;
+ doing = DoingNone;
+ }
else if(args[i] == "PATTERN")
{
// Switch to a new pattern match rule.
@@ -1216,7 +1233,7 @@ cmInstallCommand::HandleDirectoryMode(std::vector<std::string> const& args)
configurations,
component.c_str(),
literal_args.c_str(),
- optional));
+ optional, quiet));
// Tell the global generator about any installation component names
// specified.
diff --git a/Source/cmInstallCommandArguments.cxx b/Source/cmInstallCommandArguments.cxx
index 236ca1f..96b34e3 100644
--- a/Source/cmInstallCommandArguments.cxx
+++ b/Source/cmInstallCommandArguments.cxx
@@ -33,6 +33,7 @@ cmInstallCommandArguments::cmInstallCommandArguments(
,Permissions (&Parser, "PERMISSIONS" , &ArgumentGroup)
,Configurations(&Parser, "CONFIGURATIONS", &ArgumentGroup)
,Optional (&Parser, "OPTIONAL" , &ArgumentGroup)
+,Quiet (&Parser, "QUIET" , &ArgumentGroup)
,NamelinkOnly (&Parser, "NAMELINK_ONLY" , &ArgumentGroup)
,NamelinkSkip (&Parser, "NAMELINK_SKIP" , &ArgumentGroup)
,GenericArguments(0)
@@ -110,6 +111,19 @@ bool cmInstallCommandArguments::GetOptional() const
return false;
}
+bool cmInstallCommandArguments::GetQuiet() const
+{
+ if (this->Quiet.IsEnabled())
+ {
+ return true;
+ }
+ if (this->GenericArguments!=0)
+ {
+ return this->GenericArguments->GetQuiet();
+ }
+ return false;
+}
+
bool cmInstallCommandArguments::GetNamelinkOnly() const
{
if (this->NamelinkOnly.IsEnabled())
diff --git a/Source/cmInstallCommandArguments.h b/Source/cmInstallCommandArguments.h
index 90347e6..501040c 100644
--- a/Source/cmInstallCommandArguments.h
+++ b/Source/cmInstallCommandArguments.h
@@ -34,6 +34,7 @@ class cmInstallCommandArguments
const std::string& GetPermissions() const;
const std::vector<std::string>& GetConfigurations() const;
bool GetOptional() const;
+ bool GetQuiet() const;
bool GetNamelinkOnly() const;
bool GetNamelinkSkip() const;
@@ -52,6 +53,7 @@ class cmInstallCommandArguments
cmCAStringVector Permissions;
cmCAStringVector Configurations;
cmCAEnabler Optional;
+ cmCAEnabler Quiet;
cmCAEnabler NamelinkOnly;
cmCAEnabler NamelinkSkip;
diff --git a/Source/cmInstallDirectoryGenerator.cxx b/Source/cmInstallDirectoryGenerator.cxx
index ddf7d08..dc0de40 100644
--- a/Source/cmInstallDirectoryGenerator.cxx
+++ b/Source/cmInstallDirectoryGenerator.cxx
@@ -22,10 +22,10 @@ cmInstallDirectoryGenerator
std::vector<std::string> const& configurations,
const char* component,
const char* literal_args,
- bool optional):
+ bool optional, bool quiet):
cmInstallGenerator(dest, configurations, component), Directories(dirs),
FilePermissions(file_permissions), DirPermissions(dir_permissions),
- LiteralArguments(literal_args), Optional(optional)
+ LiteralArguments(literal_args), Optional(optional), Quiet(quiet)
{
}
@@ -44,7 +44,7 @@ cmInstallDirectoryGenerator::GenerateScriptActions(std::ostream& os,
const char* no_rename = 0;
this->AddInstallRule(os, cmInstallType_DIRECTORY,
this->Directories,
- this->Optional,
+ this->Optional, this->Quiet,
this->FilePermissions.c_str(),
this->DirPermissions.c_str(),
no_rename, this->LiteralArguments.c_str(),
diff --git a/Source/cmInstallDirectoryGenerator.h b/Source/cmInstallDirectoryGenerator.h
index d76ef3c..6d47a9a 100644
--- a/Source/cmInstallDirectoryGenerator.h
+++ b/Source/cmInstallDirectoryGenerator.h
@@ -27,7 +27,7 @@ public:
std::vector<std::string> const& configurations,
const char* component,
const char* literal_args,
- bool optional = false);
+ bool optional = false, bool quiet = false);
virtual ~cmInstallDirectoryGenerator();
protected:
@@ -37,6 +37,7 @@ protected:
std::string DirPermissions;
std::string LiteralArguments;
bool Optional;
+ bool Quiet;
};
#endif
diff --git a/Source/cmInstallExportGenerator.cxx b/Source/cmInstallExportGenerator.cxx
index 9a17052..14c18e0 100644
--- a/Source/cmInstallExportGenerator.cxx
+++ b/Source/cmInstallExportGenerator.cxx
@@ -184,7 +184,7 @@ cmInstallExportGenerator::GenerateScriptConfigs(std::ostream& os,
files.push_back(i->second);
std::string config_test = this->CreateConfigTest(i->first);
os << indent << "if(" << config_test << ")\n";
- this->AddInstallRule(os, cmInstallType_FILES, files, false,
+ this->AddInstallRule(os, cmInstallType_FILES, files, false, false,
this->FilePermissions.c_str(), 0, 0, 0,
indent.Next());
os << indent << "endif()\n";
@@ -223,6 +223,6 @@ void cmInstallExportGenerator::GenerateScriptActions(std::ostream& os,
// Install the main export file.
std::vector<std::string> files;
files.push_back(this->MainImportFile);
- this->AddInstallRule(os, cmInstallType_FILES, files, false,
+ this->AddInstallRule(os, cmInstallType_FILES, files, false, false,
this->FilePermissions.c_str(), 0, 0, 0, indent);
}
diff --git a/Source/cmInstallFilesGenerator.cxx b/Source/cmInstallFilesGenerator.cxx
index 6594218..85a4f2b 100644
--- a/Source/cmInstallFilesGenerator.cxx
+++ b/Source/cmInstallFilesGenerator.cxx
@@ -23,12 +23,12 @@ cmInstallFilesGenerator
std::vector<std::string> const& configurations,
const char* component,
const char* rename,
- bool optional):
+ bool optional, bool quiet):
cmInstallGenerator(dest, configurations, component),
Makefile(mf),
Files(files), Programs(programs),
FilePermissions(file_permissions),
- Rename(rename), Optional(optional)
+ Rename(rename), Optional(optional), Quiet(quiet)
{
// We need per-config actions if any files have generator expressions.
for(std::vector<std::string>::const_iterator i = files.begin();
@@ -59,7 +59,7 @@ void cmInstallFilesGenerator::AddFilesInstallRule(
? cmInstallType_PROGRAMS
: cmInstallType_FILES),
files,
- this->Optional,
+ this->Optional, this->Quiet,
this->FilePermissions.c_str(), no_dir_permissions,
this->Rename.c_str(), 0, indent);
}
diff --git a/Source/cmInstallFilesGenerator.h b/Source/cmInstallFilesGenerator.h
index 23bf935..2a29a94 100644
--- a/Source/cmInstallFilesGenerator.h
+++ b/Source/cmInstallFilesGenerator.h
@@ -29,7 +29,7 @@ public:
std::vector<std::string> const& configurations,
const char* component,
const char* rename,
- bool optional = false);
+ bool optional = false, bool quiet = false);
virtual ~cmInstallFilesGenerator();
protected:
@@ -46,6 +46,7 @@ protected:
std::string FilePermissions;
std::string Rename;
bool Optional;
+ bool Quiet;
};
#endif
diff --git a/Source/cmInstallGenerator.cxx b/Source/cmInstallGenerator.cxx
index 9370e48..d89a26c 100644
--- a/Source/cmInstallGenerator.cxx
+++ b/Source/cmInstallGenerator.cxx
@@ -37,6 +37,7 @@ void cmInstallGenerator
cmInstallType type,
std::vector<std::string> const& files,
bool optional /* = false */,
+ bool quiet /* = false */,
const char* permissions_file /* = 0 */,
const char* permissions_dir /* = 0 */,
const char* rename /* = 0 */,
@@ -96,6 +97,10 @@ void cmInstallGenerator
{
os << " OPTIONAL";
}
+ if(quiet)
+ {
+ os << " QUIET";
+ }
if(permissions_file && *permissions_file)
{
os << " PERMISSIONS" << permissions_file;
diff --git a/Source/cmInstallGenerator.h b/Source/cmInstallGenerator.h
index c72e9e9..cee88f0 100644
--- a/Source/cmInstallGenerator.h
+++ b/Source/cmInstallGenerator.h
@@ -33,6 +33,7 @@ public:
std::ostream& os, cmInstallType type,
std::vector<std::string> const& files,
bool optional = false,
+ bool quiet = false,
const char* permissions_file = 0,
const char* permissions_dir = 0,
const char* rename = 0,
diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx
index ec2b518..fb1e96b 100644
--- a/Source/cmInstallTargetGenerator.cxx
+++ b/Source/cmInstallTargetGenerator.cxx
@@ -24,9 +24,10 @@ cmInstallTargetGenerator
::cmInstallTargetGenerator(cmTarget& t, const char* dest, bool implib,
const char* file_permissions,
std::vector<std::string> const& configurations,
- const char* component, bool optional):
+ const char* component, bool optional, bool quiet):
cmInstallGenerator(dest, configurations, component), Target(&t),
- ImportLibrary(implib), FilePermissions(file_permissions), Optional(optional)
+ ImportLibrary(implib), FilePermissions(file_permissions), Optional(optional),
+ Quiet(quiet)
{
this->ActionsPerConfig = true;
this->NamelinkMode = NamelinkModeNone;
@@ -307,7 +308,7 @@ void cmInstallTargetGenerator::GenerateScriptForConfig(std::ostream& os,
const char* no_rename = 0;
bool optional = this->Optional || this->ImportLibrary;
this->AddInstallRule(os, type, filesFrom,
- optional,
+ optional, Quiet,
this->FilePermissions.c_str(), no_dir_permissions,
no_rename, literal_args.c_str(),
indent);
diff --git a/Source/cmInstallTargetGenerator.h b/Source/cmInstallTargetGenerator.h
index 0f21da7..2e6538e 100644
--- a/Source/cmInstallTargetGenerator.h
+++ b/Source/cmInstallTargetGenerator.h
@@ -28,7 +28,7 @@ public:
std::vector<std::string> const& configurations
= std::vector<std::string>(),
const char* component = "Unspecified",
- bool optional = false
+ bool optional = false, bool quiet = false
);
virtual ~cmInstallTargetGenerator();
@@ -101,6 +101,7 @@ protected:
bool ImportLibrary;
std::string FilePermissions;
bool Optional;
+ bool Quiet;
NamelinkModeType NamelinkMode;
cmGeneratorTarget* GeneratorTarget;
};
--
1.9.1
0001-Implement-install-.-QUIET-.-13761.v2.patch [^] (16,937 bytes) 2014-04-02 15:59 [Show Content] [Hide Content]From 9dadcae57bc8545d1af66ede4c91c06eaa49f9d6 Mon Sep 17 00:00:00 2001
From: Stefan Eilemann <Stefan.Eilemann@epfl.ch>
Date: Wed, 2 Apr 2014 21:48:31 +0200
Subject: [PATCH] Implement install(... QUIET ...) #13761
---
Help/command/install.rst | 9 ++++++---
Source/cmFileCommand.cxx | 16 ++++++++++++++++
Source/cmInstallCommand.cxx | 23 ++++++++++++++++++++---
Source/cmInstallCommandArguments.cxx | 14 ++++++++++++++
Source/cmInstallCommandArguments.h | 2 ++
Source/cmInstallDirectoryGenerator.cxx | 6 +++---
Source/cmInstallDirectoryGenerator.h | 3 ++-
Source/cmInstallExportGenerator.cxx | 4 ++--
Source/cmInstallFilesGenerator.cxx | 6 +++---
Source/cmInstallFilesGenerator.h | 3 ++-
Source/cmInstallGenerator.cxx | 5 +++++
Source/cmInstallGenerator.h | 1 +
Source/cmInstallTargetGenerator.cxx | 7 ++++---
Source/cmInstallTargetGenerator.h | 3 ++-
14 files changed, 82 insertions(+), 20 deletions(-)
diff --git a/Help/command/install.rst b/Help/command/install.rst
index 47108f0..cc9a4bd 100644
--- a/Help/command/install.rst
+++ b/Help/command/install.rst
@@ -52,6 +52,9 @@ signatures that specify them. The common options are:
Specify that it is not an error if the file to be installed does
not exist.
+``QUIET``
+ Disables the file installation status output.
+
------------------------------------------------------------------------------
::
@@ -64,7 +67,7 @@ signatures that specify them. The common options are:
[PERMISSIONS permissions...]
[CONFIGURATIONS [Debug|Release|...]]
[COMPONENT <component>]
- [OPTIONAL] [NAMELINK_ONLY|NAMELINK_SKIP]
+ [OPTIONAL] [QUIET] [NAMELINK_ONLY|NAMELINK_SKIP]
] [...])
The ``TARGETS`` form specifies rules for installing targets from a
@@ -155,7 +158,7 @@ set to ``TRUE`` has undefined behavior.
[PERMISSIONS permissions...]
[CONFIGURATIONS [Debug|Release|...]]
[COMPONENT <component>]
- [RENAME <name>] [OPTIONAL])
+ [RENAME <name>] [OPTIONAL] [QUIET])
The ``FILES`` form specifies rules for installing files for a project.
File names given as relative paths are interpreted with respect to the
@@ -182,7 +185,7 @@ to a full path.
install(DIRECTORY dirs... DESTINATION <dir>
[FILE_PERMISSIONS permissions...]
[DIRECTORY_PERMISSIONS permissions...]
- [USE_SOURCE_PERMISSIONS] [OPTIONAL]
+ [USE_SOURCE_PERMISSIONS] [OPTIONAL] [QUIET]
[CONFIGURATIONS [Debug|Release|...]]
[COMPONENT <component>] [FILES_MATCHING]
[[PATTERN <pattern> | REGEX <regex>]
diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index 5bfb664..1610492 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -1702,6 +1702,7 @@ struct cmFileInstaller: public cmFileCopier
cmFileCopier(command, "INSTALL"),
InstallType(cmInstallType_FILES),
Optional(false),
+ Quiet(false),
DestDirLength(0)
{
// Installation does not use source permissions by default.
@@ -1723,6 +1724,7 @@ struct cmFileInstaller: public cmFileCopier
protected:
cmInstallType InstallType;
bool Optional;
+ bool Quiet;
int DestDirLength;
std::string Rename;
@@ -1738,6 +1740,8 @@ protected:
virtual void ReportCopy(const char* toFile, Type type, bool copy)
{
+ if(this->Quiet)
+ return;
std::string message = (copy? "Installing: " : "Up-to-date: ");
message += toFile;
this->Makefile->DisplayStatus(message.c_str(), -1);
@@ -1877,6 +1881,18 @@ bool cmFileInstaller::CheckKeyword(std::string const& arg)
this->Optional = true;
}
}
+ else if(arg == "QUIET")
+ {
+ if(this->CurrentMatchRule)
+ {
+ this->NotAfterMatch(arg);
+ }
+ else
+ {
+ this->Doing = DoingNone;
+ this->Quiet = true;
+ }
+ }
else if(arg == "PERMISSIONS")
{
if(this->CurrentMatchRule)
diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx
index 0041122..9b8ccca 100644
--- a/Source/cmInstallCommand.cxx
+++ b/Source/cmInstallCommand.cxx
@@ -28,7 +28,7 @@ static cmInstallTargetGenerator* CreateInstallTargetGenerator(cmTarget& target,
return new cmInstallTargetGenerator(target, args.GetDestination().c_str(),
impLib, args.GetPermissions().c_str(),
args.GetConfigurations(), args.GetComponent().c_str(),
- args.GetOptional() || forceOpt);
+ args.GetOptional() || forceOpt, args.GetQuiet());
}
static cmInstallFilesGenerator* CreateInstallFilesGenerator(
@@ -40,7 +40,8 @@ static cmInstallFilesGenerator* CreateInstallFilesGenerator(
absFiles, args.GetDestination().c_str(),
programs, args.GetPermissions().c_str(),
args.GetConfigurations(), args.GetComponent().c_str(),
- args.GetRename().c_str(), args.GetOptional());
+ args.GetRename().c_str(), args.GetOptional(),
+ args.GetQuiet());
}
@@ -911,6 +912,7 @@ cmInstallCommand::HandleDirectoryMode(std::vector<std::string> const& args)
Doing doing = DoingDirs;
bool in_match_mode = false;
bool optional = false;
+ bool quiet = false;
std::vector<std::string> dirs;
const char* destination = 0;
std::string permissions_file;
@@ -949,6 +951,21 @@ cmInstallCommand::HandleDirectoryMode(std::vector<std::string> const& args)
optional = true;
doing = DoingNone;
}
+ else if(args[i] == "QUIET")
+ {
+ if(in_match_mode)
+ {
+ cmOStringStream e;
+ e << args[0] << " does not allow \""
+ << args[i] << "\" after PATTERN or REGEX.";
+ this->SetError(e.str());
+ return false;
+ }
+
+ // Mark the rule as optional.
+ quiet = true;
+ doing = DoingNone;
+ }
else if(args[i] == "PATTERN")
{
// Switch to a new pattern match rule.
@@ -1216,7 +1233,7 @@ cmInstallCommand::HandleDirectoryMode(std::vector<std::string> const& args)
configurations,
component.c_str(),
literal_args.c_str(),
- optional));
+ optional, quiet));
// Tell the global generator about any installation component names
// specified.
diff --git a/Source/cmInstallCommandArguments.cxx b/Source/cmInstallCommandArguments.cxx
index 236ca1f..96b34e3 100644
--- a/Source/cmInstallCommandArguments.cxx
+++ b/Source/cmInstallCommandArguments.cxx
@@ -33,6 +33,7 @@ cmInstallCommandArguments::cmInstallCommandArguments(
,Permissions (&Parser, "PERMISSIONS" , &ArgumentGroup)
,Configurations(&Parser, "CONFIGURATIONS", &ArgumentGroup)
,Optional (&Parser, "OPTIONAL" , &ArgumentGroup)
+,Quiet (&Parser, "QUIET" , &ArgumentGroup)
,NamelinkOnly (&Parser, "NAMELINK_ONLY" , &ArgumentGroup)
,NamelinkSkip (&Parser, "NAMELINK_SKIP" , &ArgumentGroup)
,GenericArguments(0)
@@ -110,6 +111,19 @@ bool cmInstallCommandArguments::GetOptional() const
return false;
}
+bool cmInstallCommandArguments::GetQuiet() const
+{
+ if (this->Quiet.IsEnabled())
+ {
+ return true;
+ }
+ if (this->GenericArguments!=0)
+ {
+ return this->GenericArguments->GetQuiet();
+ }
+ return false;
+}
+
bool cmInstallCommandArguments::GetNamelinkOnly() const
{
if (this->NamelinkOnly.IsEnabled())
diff --git a/Source/cmInstallCommandArguments.h b/Source/cmInstallCommandArguments.h
index 90347e6..501040c 100644
--- a/Source/cmInstallCommandArguments.h
+++ b/Source/cmInstallCommandArguments.h
@@ -34,6 +34,7 @@ class cmInstallCommandArguments
const std::string& GetPermissions() const;
const std::vector<std::string>& GetConfigurations() const;
bool GetOptional() const;
+ bool GetQuiet() const;
bool GetNamelinkOnly() const;
bool GetNamelinkSkip() const;
@@ -52,6 +53,7 @@ class cmInstallCommandArguments
cmCAStringVector Permissions;
cmCAStringVector Configurations;
cmCAEnabler Optional;
+ cmCAEnabler Quiet;
cmCAEnabler NamelinkOnly;
cmCAEnabler NamelinkSkip;
diff --git a/Source/cmInstallDirectoryGenerator.cxx b/Source/cmInstallDirectoryGenerator.cxx
index ddf7d08..dc0de40 100644
--- a/Source/cmInstallDirectoryGenerator.cxx
+++ b/Source/cmInstallDirectoryGenerator.cxx
@@ -22,10 +22,10 @@ cmInstallDirectoryGenerator
std::vector<std::string> const& configurations,
const char* component,
const char* literal_args,
- bool optional):
+ bool optional, bool quiet):
cmInstallGenerator(dest, configurations, component), Directories(dirs),
FilePermissions(file_permissions), DirPermissions(dir_permissions),
- LiteralArguments(literal_args), Optional(optional)
+ LiteralArguments(literal_args), Optional(optional), Quiet(quiet)
{
}
@@ -44,7 +44,7 @@ cmInstallDirectoryGenerator::GenerateScriptActions(std::ostream& os,
const char* no_rename = 0;
this->AddInstallRule(os, cmInstallType_DIRECTORY,
this->Directories,
- this->Optional,
+ this->Optional, this->Quiet,
this->FilePermissions.c_str(),
this->DirPermissions.c_str(),
no_rename, this->LiteralArguments.c_str(),
diff --git a/Source/cmInstallDirectoryGenerator.h b/Source/cmInstallDirectoryGenerator.h
index d76ef3c..6d47a9a 100644
--- a/Source/cmInstallDirectoryGenerator.h
+++ b/Source/cmInstallDirectoryGenerator.h
@@ -27,7 +27,7 @@ public:
std::vector<std::string> const& configurations,
const char* component,
const char* literal_args,
- bool optional = false);
+ bool optional = false, bool quiet = false);
virtual ~cmInstallDirectoryGenerator();
protected:
@@ -37,6 +37,7 @@ protected:
std::string DirPermissions;
std::string LiteralArguments;
bool Optional;
+ bool Quiet;
};
#endif
diff --git a/Source/cmInstallExportGenerator.cxx b/Source/cmInstallExportGenerator.cxx
index 9a17052..14c18e0 100644
--- a/Source/cmInstallExportGenerator.cxx
+++ b/Source/cmInstallExportGenerator.cxx
@@ -184,7 +184,7 @@ cmInstallExportGenerator::GenerateScriptConfigs(std::ostream& os,
files.push_back(i->second);
std::string config_test = this->CreateConfigTest(i->first);
os << indent << "if(" << config_test << ")\n";
- this->AddInstallRule(os, cmInstallType_FILES, files, false,
+ this->AddInstallRule(os, cmInstallType_FILES, files, false, false,
this->FilePermissions.c_str(), 0, 0, 0,
indent.Next());
os << indent << "endif()\n";
@@ -223,6 +223,6 @@ void cmInstallExportGenerator::GenerateScriptActions(std::ostream& os,
// Install the main export file.
std::vector<std::string> files;
files.push_back(this->MainImportFile);
- this->AddInstallRule(os, cmInstallType_FILES, files, false,
+ this->AddInstallRule(os, cmInstallType_FILES, files, false, false,
this->FilePermissions.c_str(), 0, 0, 0, indent);
}
diff --git a/Source/cmInstallFilesGenerator.cxx b/Source/cmInstallFilesGenerator.cxx
index 6594218..85a4f2b 100644
--- a/Source/cmInstallFilesGenerator.cxx
+++ b/Source/cmInstallFilesGenerator.cxx
@@ -23,12 +23,12 @@ cmInstallFilesGenerator
std::vector<std::string> const& configurations,
const char* component,
const char* rename,
- bool optional):
+ bool optional, bool quiet):
cmInstallGenerator(dest, configurations, component),
Makefile(mf),
Files(files), Programs(programs),
FilePermissions(file_permissions),
- Rename(rename), Optional(optional)
+ Rename(rename), Optional(optional), Quiet(quiet)
{
// We need per-config actions if any files have generator expressions.
for(std::vector<std::string>::const_iterator i = files.begin();
@@ -59,7 +59,7 @@ void cmInstallFilesGenerator::AddFilesInstallRule(
? cmInstallType_PROGRAMS
: cmInstallType_FILES),
files,
- this->Optional,
+ this->Optional, this->Quiet,
this->FilePermissions.c_str(), no_dir_permissions,
this->Rename.c_str(), 0, indent);
}
diff --git a/Source/cmInstallFilesGenerator.h b/Source/cmInstallFilesGenerator.h
index 23bf935..2a29a94 100644
--- a/Source/cmInstallFilesGenerator.h
+++ b/Source/cmInstallFilesGenerator.h
@@ -29,7 +29,7 @@ public:
std::vector<std::string> const& configurations,
const char* component,
const char* rename,
- bool optional = false);
+ bool optional = false, bool quiet = false);
virtual ~cmInstallFilesGenerator();
protected:
@@ -46,6 +46,7 @@ protected:
std::string FilePermissions;
std::string Rename;
bool Optional;
+ bool Quiet;
};
#endif
diff --git a/Source/cmInstallGenerator.cxx b/Source/cmInstallGenerator.cxx
index 9370e48..d89a26c 100644
--- a/Source/cmInstallGenerator.cxx
+++ b/Source/cmInstallGenerator.cxx
@@ -37,6 +37,7 @@ void cmInstallGenerator
cmInstallType type,
std::vector<std::string> const& files,
bool optional /* = false */,
+ bool quiet /* = false */,
const char* permissions_file /* = 0 */,
const char* permissions_dir /* = 0 */,
const char* rename /* = 0 */,
@@ -96,6 +97,10 @@ void cmInstallGenerator
{
os << " OPTIONAL";
}
+ if(quiet)
+ {
+ os << " QUIET";
+ }
if(permissions_file && *permissions_file)
{
os << " PERMISSIONS" << permissions_file;
diff --git a/Source/cmInstallGenerator.h b/Source/cmInstallGenerator.h
index c72e9e9..cee88f0 100644
--- a/Source/cmInstallGenerator.h
+++ b/Source/cmInstallGenerator.h
@@ -33,6 +33,7 @@ public:
std::ostream& os, cmInstallType type,
std::vector<std::string> const& files,
bool optional = false,
+ bool quiet = false,
const char* permissions_file = 0,
const char* permissions_dir = 0,
const char* rename = 0,
diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx
index ec2b518..fb1e96b 100644
--- a/Source/cmInstallTargetGenerator.cxx
+++ b/Source/cmInstallTargetGenerator.cxx
@@ -24,9 +24,10 @@ cmInstallTargetGenerator
::cmInstallTargetGenerator(cmTarget& t, const char* dest, bool implib,
const char* file_permissions,
std::vector<std::string> const& configurations,
- const char* component, bool optional):
+ const char* component, bool optional, bool quiet):
cmInstallGenerator(dest, configurations, component), Target(&t),
- ImportLibrary(implib), FilePermissions(file_permissions), Optional(optional)
+ ImportLibrary(implib), FilePermissions(file_permissions), Optional(optional),
+ Quiet(quiet)
{
this->ActionsPerConfig = true;
this->NamelinkMode = NamelinkModeNone;
@@ -307,7 +308,7 @@ void cmInstallTargetGenerator::GenerateScriptForConfig(std::ostream& os,
const char* no_rename = 0;
bool optional = this->Optional || this->ImportLibrary;
this->AddInstallRule(os, type, filesFrom,
- optional,
+ optional, Quiet,
this->FilePermissions.c_str(), no_dir_permissions,
no_rename, literal_args.c_str(),
indent);
diff --git a/Source/cmInstallTargetGenerator.h b/Source/cmInstallTargetGenerator.h
index 0f21da7..2e6538e 100644
--- a/Source/cmInstallTargetGenerator.h
+++ b/Source/cmInstallTargetGenerator.h
@@ -28,7 +28,7 @@ public:
std::vector<std::string> const& configurations
= std::vector<std::string>(),
const char* component = "Unspecified",
- bool optional = false
+ bool optional = false, bool quiet = false
);
virtual ~cmInstallTargetGenerator();
@@ -101,6 +101,7 @@ protected:
bool ImportLibrary;
std::string FilePermissions;
bool Optional;
+ bool Quiet;
NamelinkModeType NamelinkMode;
cmGeneratorTarget* GeneratorTarget;
};
--
1.9.1
0001-Implement-install-.-QUIET-.-13761.v3.patch [^] (16,937 bytes) 2014-04-07 04:38 [Show Content] [Hide Content]From 961da9b5e0b38192a48ad0f6929d6a6e0a3ebc35 Mon Sep 17 00:00:00 2001
From: Stefan Eilemann <Stefan.Eilemann@epfl.ch>
Date: Wed, 2 Apr 2014 21:48:31 +0200
Subject: [PATCH] Implement install(... QUIET ...) #13761
---
Help/command/install.rst | 9 ++++++---
Source/cmFileCommand.cxx | 16 ++++++++++++++++
Source/cmInstallCommand.cxx | 23 ++++++++++++++++++++---
Source/cmInstallCommandArguments.cxx | 14 ++++++++++++++
Source/cmInstallCommandArguments.h | 2 ++
Source/cmInstallDirectoryGenerator.cxx | 6 +++---
Source/cmInstallDirectoryGenerator.h | 3 ++-
Source/cmInstallExportGenerator.cxx | 4 ++--
Source/cmInstallFilesGenerator.cxx | 6 +++---
Source/cmInstallFilesGenerator.h | 3 ++-
Source/cmInstallGenerator.cxx | 5 +++++
Source/cmInstallGenerator.h | 1 +
Source/cmInstallTargetGenerator.cxx | 7 ++++---
Source/cmInstallTargetGenerator.h | 3 ++-
14 files changed, 82 insertions(+), 20 deletions(-)
diff --git a/Help/command/install.rst b/Help/command/install.rst
index 47108f0..cc9a4bd 100644
--- a/Help/command/install.rst
+++ b/Help/command/install.rst
@@ -52,6 +52,9 @@ signatures that specify them. The common options are:
Specify that it is not an error if the file to be installed does
not exist.
+``QUIET``
+ Disables the file installation status output.
+
------------------------------------------------------------------------------
::
@@ -64,7 +67,7 @@ signatures that specify them. The common options are:
[PERMISSIONS permissions...]
[CONFIGURATIONS [Debug|Release|...]]
[COMPONENT <component>]
- [OPTIONAL] [NAMELINK_ONLY|NAMELINK_SKIP]
+ [OPTIONAL] [QUIET] [NAMELINK_ONLY|NAMELINK_SKIP]
] [...])
The ``TARGETS`` form specifies rules for installing targets from a
@@ -155,7 +158,7 @@ set to ``TRUE`` has undefined behavior.
[PERMISSIONS permissions...]
[CONFIGURATIONS [Debug|Release|...]]
[COMPONENT <component>]
- [RENAME <name>] [OPTIONAL])
+ [RENAME <name>] [OPTIONAL] [QUIET])
The ``FILES`` form specifies rules for installing files for a project.
File names given as relative paths are interpreted with respect to the
@@ -182,7 +185,7 @@ to a full path.
install(DIRECTORY dirs... DESTINATION <dir>
[FILE_PERMISSIONS permissions...]
[DIRECTORY_PERMISSIONS permissions...]
- [USE_SOURCE_PERMISSIONS] [OPTIONAL]
+ [USE_SOURCE_PERMISSIONS] [OPTIONAL] [QUIET]
[CONFIGURATIONS [Debug|Release|...]]
[COMPONENT <component>] [FILES_MATCHING]
[[PATTERN <pattern> | REGEX <regex>]
diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index 5bfb664..1610492 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -1702,6 +1702,7 @@ struct cmFileInstaller: public cmFileCopier
cmFileCopier(command, "INSTALL"),
InstallType(cmInstallType_FILES),
Optional(false),
+ Quiet(false),
DestDirLength(0)
{
// Installation does not use source permissions by default.
@@ -1723,6 +1724,7 @@ struct cmFileInstaller: public cmFileCopier
protected:
cmInstallType InstallType;
bool Optional;
+ bool Quiet;
int DestDirLength;
std::string Rename;
@@ -1738,6 +1740,8 @@ protected:
virtual void ReportCopy(const char* toFile, Type type, bool copy)
{
+ if(this->Quiet)
+ return;
std::string message = (copy? "Installing: " : "Up-to-date: ");
message += toFile;
this->Makefile->DisplayStatus(message.c_str(), -1);
@@ -1877,6 +1881,18 @@ bool cmFileInstaller::CheckKeyword(std::string const& arg)
this->Optional = true;
}
}
+ else if(arg == "QUIET")
+ {
+ if(this->CurrentMatchRule)
+ {
+ this->NotAfterMatch(arg);
+ }
+ else
+ {
+ this->Doing = DoingNone;
+ this->Quiet = true;
+ }
+ }
else if(arg == "PERMISSIONS")
{
if(this->CurrentMatchRule)
diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx
index 0041122..9b8ccca 100644
--- a/Source/cmInstallCommand.cxx
+++ b/Source/cmInstallCommand.cxx
@@ -28,7 +28,7 @@ static cmInstallTargetGenerator* CreateInstallTargetGenerator(cmTarget& target,
return new cmInstallTargetGenerator(target, args.GetDestination().c_str(),
impLib, args.GetPermissions().c_str(),
args.GetConfigurations(), args.GetComponent().c_str(),
- args.GetOptional() || forceOpt);
+ args.GetOptional() || forceOpt, args.GetQuiet());
}
static cmInstallFilesGenerator* CreateInstallFilesGenerator(
@@ -40,7 +40,8 @@ static cmInstallFilesGenerator* CreateInstallFilesGenerator(
absFiles, args.GetDestination().c_str(),
programs, args.GetPermissions().c_str(),
args.GetConfigurations(), args.GetComponent().c_str(),
- args.GetRename().c_str(), args.GetOptional());
+ args.GetRename().c_str(), args.GetOptional(),
+ args.GetQuiet());
}
@@ -911,6 +912,7 @@ cmInstallCommand::HandleDirectoryMode(std::vector<std::string> const& args)
Doing doing = DoingDirs;
bool in_match_mode = false;
bool optional = false;
+ bool quiet = false;
std::vector<std::string> dirs;
const char* destination = 0;
std::string permissions_file;
@@ -949,6 +951,21 @@ cmInstallCommand::HandleDirectoryMode(std::vector<std::string> const& args)
optional = true;
doing = DoingNone;
}
+ else if(args[i] == "QUIET")
+ {
+ if(in_match_mode)
+ {
+ cmOStringStream e;
+ e << args[0] << " does not allow \""
+ << args[i] << "\" after PATTERN or REGEX.";
+ this->SetError(e.str());
+ return false;
+ }
+
+ // Mark the rule as optional.
+ quiet = true;
+ doing = DoingNone;
+ }
else if(args[i] == "PATTERN")
{
// Switch to a new pattern match rule.
@@ -1216,7 +1233,7 @@ cmInstallCommand::HandleDirectoryMode(std::vector<std::string> const& args)
configurations,
component.c_str(),
literal_args.c_str(),
- optional));
+ optional, quiet));
// Tell the global generator about any installation component names
// specified.
diff --git a/Source/cmInstallCommandArguments.cxx b/Source/cmInstallCommandArguments.cxx
index 236ca1f..96b34e3 100644
--- a/Source/cmInstallCommandArguments.cxx
+++ b/Source/cmInstallCommandArguments.cxx
@@ -33,6 +33,7 @@ cmInstallCommandArguments::cmInstallCommandArguments(
,Permissions (&Parser, "PERMISSIONS" , &ArgumentGroup)
,Configurations(&Parser, "CONFIGURATIONS", &ArgumentGroup)
,Optional (&Parser, "OPTIONAL" , &ArgumentGroup)
+,Quiet (&Parser, "QUIET" , &ArgumentGroup)
,NamelinkOnly (&Parser, "NAMELINK_ONLY" , &ArgumentGroup)
,NamelinkSkip (&Parser, "NAMELINK_SKIP" , &ArgumentGroup)
,GenericArguments(0)
@@ -110,6 +111,19 @@ bool cmInstallCommandArguments::GetOptional() const
return false;
}
+bool cmInstallCommandArguments::GetQuiet() const
+{
+ if (this->Quiet.IsEnabled())
+ {
+ return true;
+ }
+ if (this->GenericArguments!=0)
+ {
+ return this->GenericArguments->GetQuiet();
+ }
+ return false;
+}
+
bool cmInstallCommandArguments::GetNamelinkOnly() const
{
if (this->NamelinkOnly.IsEnabled())
diff --git a/Source/cmInstallCommandArguments.h b/Source/cmInstallCommandArguments.h
index 90347e6..501040c 100644
--- a/Source/cmInstallCommandArguments.h
+++ b/Source/cmInstallCommandArguments.h
@@ -34,6 +34,7 @@ class cmInstallCommandArguments
const std::string& GetPermissions() const;
const std::vector<std::string>& GetConfigurations() const;
bool GetOptional() const;
+ bool GetQuiet() const;
bool GetNamelinkOnly() const;
bool GetNamelinkSkip() const;
@@ -52,6 +53,7 @@ class cmInstallCommandArguments
cmCAStringVector Permissions;
cmCAStringVector Configurations;
cmCAEnabler Optional;
+ cmCAEnabler Quiet;
cmCAEnabler NamelinkOnly;
cmCAEnabler NamelinkSkip;
diff --git a/Source/cmInstallDirectoryGenerator.cxx b/Source/cmInstallDirectoryGenerator.cxx
index ddf7d08..dc0de40 100644
--- a/Source/cmInstallDirectoryGenerator.cxx
+++ b/Source/cmInstallDirectoryGenerator.cxx
@@ -22,10 +22,10 @@ cmInstallDirectoryGenerator
std::vector<std::string> const& configurations,
const char* component,
const char* literal_args,
- bool optional):
+ bool optional, bool quiet):
cmInstallGenerator(dest, configurations, component), Directories(dirs),
FilePermissions(file_permissions), DirPermissions(dir_permissions),
- LiteralArguments(literal_args), Optional(optional)
+ LiteralArguments(literal_args), Optional(optional), Quiet(quiet)
{
}
@@ -44,7 +44,7 @@ cmInstallDirectoryGenerator::GenerateScriptActions(std::ostream& os,
const char* no_rename = 0;
this->AddInstallRule(os, cmInstallType_DIRECTORY,
this->Directories,
- this->Optional,
+ this->Optional, this->Quiet,
this->FilePermissions.c_str(),
this->DirPermissions.c_str(),
no_rename, this->LiteralArguments.c_str(),
diff --git a/Source/cmInstallDirectoryGenerator.h b/Source/cmInstallDirectoryGenerator.h
index d76ef3c..6d47a9a 100644
--- a/Source/cmInstallDirectoryGenerator.h
+++ b/Source/cmInstallDirectoryGenerator.h
@@ -27,7 +27,7 @@ public:
std::vector<std::string> const& configurations,
const char* component,
const char* literal_args,
- bool optional = false);
+ bool optional = false, bool quiet = false);
virtual ~cmInstallDirectoryGenerator();
protected:
@@ -37,6 +37,7 @@ protected:
std::string DirPermissions;
std::string LiteralArguments;
bool Optional;
+ bool Quiet;
};
#endif
diff --git a/Source/cmInstallExportGenerator.cxx b/Source/cmInstallExportGenerator.cxx
index 9a17052..14c18e0 100644
--- a/Source/cmInstallExportGenerator.cxx
+++ b/Source/cmInstallExportGenerator.cxx
@@ -184,7 +184,7 @@ cmInstallExportGenerator::GenerateScriptConfigs(std::ostream& os,
files.push_back(i->second);
std::string config_test = this->CreateConfigTest(i->first);
os << indent << "if(" << config_test << ")\n";
- this->AddInstallRule(os, cmInstallType_FILES, files, false,
+ this->AddInstallRule(os, cmInstallType_FILES, files, false, false,
this->FilePermissions.c_str(), 0, 0, 0,
indent.Next());
os << indent << "endif()\n";
@@ -223,6 +223,6 @@ void cmInstallExportGenerator::GenerateScriptActions(std::ostream& os,
// Install the main export file.
std::vector<std::string> files;
files.push_back(this->MainImportFile);
- this->AddInstallRule(os, cmInstallType_FILES, files, false,
+ this->AddInstallRule(os, cmInstallType_FILES, files, false, false,
this->FilePermissions.c_str(), 0, 0, 0, indent);
}
diff --git a/Source/cmInstallFilesGenerator.cxx b/Source/cmInstallFilesGenerator.cxx
index 6594218..85a4f2b 100644
--- a/Source/cmInstallFilesGenerator.cxx
+++ b/Source/cmInstallFilesGenerator.cxx
@@ -23,12 +23,12 @@ cmInstallFilesGenerator
std::vector<std::string> const& configurations,
const char* component,
const char* rename,
- bool optional):
+ bool optional, bool quiet):
cmInstallGenerator(dest, configurations, component),
Makefile(mf),
Files(files), Programs(programs),
FilePermissions(file_permissions),
- Rename(rename), Optional(optional)
+ Rename(rename), Optional(optional), Quiet(quiet)
{
// We need per-config actions if any files have generator expressions.
for(std::vector<std::string>::const_iterator i = files.begin();
@@ -59,7 +59,7 @@ void cmInstallFilesGenerator::AddFilesInstallRule(
? cmInstallType_PROGRAMS
: cmInstallType_FILES),
files,
- this->Optional,
+ this->Optional, this->Quiet,
this->FilePermissions.c_str(), no_dir_permissions,
this->Rename.c_str(), 0, indent);
}
diff --git a/Source/cmInstallFilesGenerator.h b/Source/cmInstallFilesGenerator.h
index 23bf935..2a29a94 100644
--- a/Source/cmInstallFilesGenerator.h
+++ b/Source/cmInstallFilesGenerator.h
@@ -29,7 +29,7 @@ public:
std::vector<std::string> const& configurations,
const char* component,
const char* rename,
- bool optional = false);
+ bool optional = false, bool quiet = false);
virtual ~cmInstallFilesGenerator();
protected:
@@ -46,6 +46,7 @@ protected:
std::string FilePermissions;
std::string Rename;
bool Optional;
+ bool Quiet;
};
#endif
diff --git a/Source/cmInstallGenerator.cxx b/Source/cmInstallGenerator.cxx
index 9370e48..d89a26c 100644
--- a/Source/cmInstallGenerator.cxx
+++ b/Source/cmInstallGenerator.cxx
@@ -37,6 +37,7 @@ void cmInstallGenerator
cmInstallType type,
std::vector<std::string> const& files,
bool optional /* = false */,
+ bool quiet /* = false */,
const char* permissions_file /* = 0 */,
const char* permissions_dir /* = 0 */,
const char* rename /* = 0 */,
@@ -96,6 +97,10 @@ void cmInstallGenerator
{
os << " OPTIONAL";
}
+ if(quiet)
+ {
+ os << " QUIET";
+ }
if(permissions_file && *permissions_file)
{
os << " PERMISSIONS" << permissions_file;
diff --git a/Source/cmInstallGenerator.h b/Source/cmInstallGenerator.h
index c72e9e9..cee88f0 100644
--- a/Source/cmInstallGenerator.h
+++ b/Source/cmInstallGenerator.h
@@ -33,6 +33,7 @@ public:
std::ostream& os, cmInstallType type,
std::vector<std::string> const& files,
bool optional = false,
+ bool quiet = false,
const char* permissions_file = 0,
const char* permissions_dir = 0,
const char* rename = 0,
diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx
index ec2b518..fb1e96b 100644
--- a/Source/cmInstallTargetGenerator.cxx
+++ b/Source/cmInstallTargetGenerator.cxx
@@ -24,9 +24,10 @@ cmInstallTargetGenerator
::cmInstallTargetGenerator(cmTarget& t, const char* dest, bool implib,
const char* file_permissions,
std::vector<std::string> const& configurations,
- const char* component, bool optional):
+ const char* component, bool optional, bool quiet):
cmInstallGenerator(dest, configurations, component), Target(&t),
- ImportLibrary(implib), FilePermissions(file_permissions), Optional(optional)
+ ImportLibrary(implib), FilePermissions(file_permissions), Optional(optional),
+ Quiet(quiet)
{
this->ActionsPerConfig = true;
this->NamelinkMode = NamelinkModeNone;
@@ -307,7 +308,7 @@ void cmInstallTargetGenerator::GenerateScriptForConfig(std::ostream& os,
const char* no_rename = 0;
bool optional = this->Optional || this->ImportLibrary;
this->AddInstallRule(os, type, filesFrom,
- optional,
+ optional, Quiet,
this->FilePermissions.c_str(), no_dir_permissions,
no_rename, literal_args.c_str(),
indent);
diff --git a/Source/cmInstallTargetGenerator.h b/Source/cmInstallTargetGenerator.h
index 0f21da7..2e6538e 100644
--- a/Source/cmInstallTargetGenerator.h
+++ b/Source/cmInstallTargetGenerator.h
@@ -28,7 +28,7 @@ public:
std::vector<std::string> const& configurations
= std::vector<std::string>(),
const char* component = "Unspecified",
- bool optional = false
+ bool optional = false, bool quiet = false
);
virtual ~cmInstallTargetGenerator();
@@ -101,6 +101,7 @@ protected:
bool ImportLibrary;
std::string FilePermissions;
bool Optional;
+ bool Quiet;
NamelinkModeType NamelinkMode;
cmGeneratorTarget* GeneratorTarget;
};
--
1.9.1
cmFileCommand.diff [^] (2,039 bytes) 2014-06-16 10:32 [Show Content] [Hide Content]diff -r -a -u orig/cmake-3.0.0/Source/cmFileCommand.cxx cmake-3.0.0/Source/cmFileCommand.cxx
--- orig/cmake-3.0.0/Source/cmFileCommand.cxx Mon Jun 9 08:52:04 2014
+++ cmake-3.0.0/Source/cmFileCommand.cxx Mon Jun 16 07:31:47 2014
@@ -964,6 +964,7 @@
UseGivenPermissionsFile(false),
UseGivenPermissionsDir(false),
UseSourcePermissions(true),
+ InstallQuiet(false),
Doing(DoingNone)
{
}
@@ -1100,6 +1101,7 @@
bool UseGivenPermissionsFile;
bool UseGivenPermissionsDir;
bool UseSourcePermissions;
+ bool InstallQuiet;
std::string Destination;
std::vector<std::string> Files;
int Doing;
@@ -1611,7 +1613,10 @@
MatchProperties const& match_properties)
{
// Inform the user about this directory installation.
- this->ReportCopy(destination, TypeDir, true);
+ if( !this->InstallQuiet
+ || !cmSystemTools::FileExists(destination)
+ || !cmSystemTools::FileIsDirectory(destination) )
+ this->ReportCopy(destination, TypeDir, true);
// Make sure the destination directory exists.
if(!cmSystemTools::MakeDirectory(destination))
@@ -1706,6 +1711,9 @@
{
// Installation does not use source permissions by default.
this->UseSourcePermissions = false;
+ // Check whether to report all directories and up-to-date-files or only those created/installed.
+ this->InstallQuiet =
+ cmSystemTools::IsOn(cmSystemTools::GetEnv("CMAKE_INSTALL_QUIET"));
// Check whether to copy files always or only if they have changed.
this->Always =
cmSystemTools::IsOn(cmSystemTools::GetEnv("CMAKE_INSTALL_ALWAYS"));
@@ -1740,7 +1748,8 @@
{
std::string message = (copy? "Installing: " : "Up-to-date: ");
message += toFile;
- this->Makefile->DisplayStatus(message.c_str(), -1);
+ if( copy || !this->InstallQuiet )
+ this->Makefile->DisplayStatus(message.c_str(), -1);
if(type != TypeDir)
{
// Add the file to the manifest.
cmFileCommand-global_property.diff [^] (3,311 bytes) 2014-06-17 11:31 [Show Content] [Hide Content]diff -N -r -a -u orig/cmake-3.0.0/Help/prop_gbl/QUIET_INSTALL.rst cmake-3.0.0/Help/prop_gbl/QUIET_INSTALL.rst
--- orig/cmake-3.0.0/Help/prop_gbl/QUIET_INSTALL.rst Wed Dec 31 16:00:00 1969
+++ cmake-3.0.0/Help/prop_gbl/QUIET_INSTALL.rst Tue Jun 17 08:26:29 2014
@@ -0,0 +1,7 @@
+USE_FOLDERS
+-----------
+
+When installing, only report those files that are copied or symlinks
+ and directories that are created.
+
+If not set, CMake treats this property as OFF by default.
diff -N -r -a -u orig/cmake-3.0.0/Source/cmFileCommand.cxx cmake-3.0.0/Source/cmFileCommand.cxx
--- orig/cmake-3.0.0/Source/cmFileCommand.cxx Mon Jun 9 08:52:04 2014
+++ cmake-3.0.0/Source/cmFileCommand.cxx Tue Jun 17 08:21:21 2014
@@ -964,6 +964,7 @@
UseGivenPermissionsFile(false),
UseGivenPermissionsDir(false),
UseSourcePermissions(true),
+ InstallQuiet(false),
Doing(DoingNone)
{
}
@@ -1100,6 +1101,7 @@
bool UseGivenPermissionsFile;
bool UseGivenPermissionsDir;
bool UseSourcePermissions;
+ bool InstallQuiet;
std::string Destination;
std::vector<std::string> Files;
int Doing;
@@ -1611,7 +1613,10 @@
MatchProperties const& match_properties)
{
// Inform the user about this directory installation.
- this->ReportCopy(destination, TypeDir, true);
+ if( !this->InstallQuiet
+ || !cmSystemTools::FileExists(destination)
+ || !cmSystemTools::FileIsDirectory(destination) )
+ this->ReportCopy(destination, TypeDir, true);
// Make sure the destination directory exists.
if(!cmSystemTools::MakeDirectory(destination))
@@ -1706,6 +1711,9 @@
{
// Installation does not use source permissions by default.
this->UseSourcePermissions = false;
+ // Check whether to report all directories and up-to-date-files or only those created/installed.
+ this->InstallQuiet =
+ cmSystemTools::IsOn(this->Makefile->GetCMakeInstance()->GetProperty("QUIET_INSTALL"));
// Check whether to copy files always or only if they have changed.
this->Always =
cmSystemTools::IsOn(cmSystemTools::GetEnv("CMAKE_INSTALL_ALWAYS"));
@@ -1740,7 +1748,8 @@
{
std::string message = (copy? "Installing: " : "Up-to-date: ");
message += toFile;
- this->Makefile->DisplayStatus(message.c_str(), -1);
+ if( copy || !this->InstallQuiet )
+ this->Makefile->DisplayStatus(message.c_str(), -1);
if(type != TypeDir)
{
// Add the file to the manifest.
diff -N -r -a -u orig/cmake-3.0.0/Source/cmLocalGenerator.cxx cmake-3.0.0/Source/cmLocalGenerator.cxx
--- orig/cmake-3.0.0/Source/cmLocalGenerator.cxx Mon Jun 9 08:52:05 2014
+++ cmake-3.0.0/Source/cmLocalGenerator.cxx Tue Jun 17 08:24:29 2014
@@ -439,6 +439,10 @@
<< "\"${CMAKE_INSTALL_PREFIX}\")" << std::endl
<< std::endl;
+ // carry global property 'QUIET_INSTALL' forward to allow install phase to be quieter
+ if( cmSystemTools::IsOn(this->Makefile->GetCMakeInstance()->GetProperty("QUIET_INSTALL")) )
+ fout << "SET_PROPERTY(GLOBAL PROPERTY QUIET_INSTALL ON )" << std::endl << std::endl;
+
// Write support code for generating per-configuration install rules.
fout <<
"# Set the install configuration name.\n"
file_install_option_quite.diff [^] (19,703 bytes) 2014-06-19 14:00 [Show Content] [Hide Content]
M:\cmake>c:\tools\unix\git\bin\diff -N -r -a -u orig/cmake-3.0.0 cmake-3.0.0
diff -N -r -a -u orig/cmake-3.0.0/Help/prop_gbl/QUIET_INSTALL.rst cmake-3.0.0/Help/prop_gbl/QUIET_INSTALL.rst
--- orig/cmake-3.0.0/Help/prop_gbl/QUIET_INSTALL.rst Wed Dec 31 16:00:00 1969
+++ cmake-3.0.0/Help/prop_gbl/QUIET_INSTALL.rst Tue Jun 17 08:26:29 2014
@@ -0,0 +1,7 @@
+USE_FOLDERS
+-----------
+
+When installing, only report those files that are copied or symlinks
+ and directories that are created.
+
+If not set, CMake treats this property as OFF by default.
diff -N -r -a -u orig/cmake-3.0.0/Source/cmAddTestCommand.cxx cmake-3.0.0/Source/cmAddTestCommand.cxx
--- orig/cmake-3.0.0/Source/cmAddTestCommand.cxx Mon Jun 9 08:52:03 2014
+++ cmake-3.0.0/Source/cmAddTestCommand.cxx Thu Jun 19 10:47:48 2014
@@ -62,7 +62,7 @@
{
test = this->Makefile->CreateTest(args[0].c_str());
test->SetOldStyle(true);
- this->Makefile->AddTestGenerator(new cmTestGenerator(test));
+ this->Makefile->AddTestGenerator(new cmTestGenerator(this->Makefile->GetCMakeInstance(), test));
}
test->SetCommand(command);
@@ -174,7 +174,7 @@
{
test->SetProperty("WORKING_DIRECTORY", working_directory.c_str());
}
- this->Makefile->AddTestGenerator(new cmTestGenerator(test, configurations));
+ this->Makefile->AddTestGenerator(new cmTestGenerator(this->Makefile->GetCMakeInstance(), test, configurations));
return true;
}
diff -N -r -a -u orig/cmake-3.0.0/Source/cmFileCommand.cxx cmake-3.0.0/Source/cmFileCommand.cxx
--- orig/cmake-3.0.0/Source/cmFileCommand.cxx Mon Jun 9 08:52:04 2014
+++ cmake-3.0.0/Source/cmFileCommand.cxx Thu Jun 19 10:48:08 2014
@@ -964,6 +964,7 @@
UseGivenPermissionsFile(false),
UseGivenPermissionsDir(false),
UseSourcePermissions(true),
+ InstallQuiet(false),
Doing(DoingNone)
{
}
@@ -1100,6 +1101,7 @@
bool UseGivenPermissionsFile;
bool UseGivenPermissionsDir;
bool UseSourcePermissions;
+ bool InstallQuiet;
std::string Destination;
std::vector<std::string> Files;
int Doing;
@@ -1611,7 +1613,10 @@
MatchProperties const& match_properties)
{
// Inform the user about this directory installation.
- this->ReportCopy(destination, TypeDir, true);
+ if( !this->InstallQuiet
+ || !cmSystemTools::FileExists(destination)
+ || !cmSystemTools::FileIsDirectory(destination) )
+ this->ReportCopy(destination, TypeDir, true);
// Make sure the destination directory exists.
if(!cmSystemTools::MakeDirectory(destination))
@@ -1740,7 +1745,8 @@
{
std::string message = (copy? "Installing: " : "Up-to-date: ");
message += toFile;
- this->Makefile->DisplayStatus(message.c_str(), -1);
+ if( copy || !this->InstallQuiet )
+ this->Makefile->DisplayStatus(message.c_str(), -1);
if(type != TypeDir)
{
// Add the file to the manifest.
@@ -1912,6 +1918,10 @@
<< "Re-run this cmake version on your build tree.";
this->FileCommand->SetError(e.str().c_str());
this->Doing = DoingError;
+ }
+ else if(arg == "QUIET")
+ {
+ this->InstallQuiet = true;
}
else
{
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallCommand.cxx cmake-3.0.0/Source/cmInstallCommand.cxx
--- orig/cmake-3.0.0/Source/cmInstallCommand.cxx Mon Jun 9 08:52:05 2014
+++ cmake-3.0.0/Source/cmInstallCommand.cxx Thu Jun 19 10:52:08 2014
@@ -167,15 +167,16 @@
return false;
}
this->Makefile->AddInstallGenerator(
- new cmInstallScriptGenerator(script.c_str(), false,
- component.c_str()));
+ new cmInstallScriptGenerator(this->Makefile->GetCMakeInstance(), script.c_str(), false,
+ component.c_str() ));
}
else if(doing_code)
{
doing_code = false;
std::string code = args[i];
this->Makefile->AddInstallGenerator(
- new cmInstallScriptGenerator(code.c_str(), true,
+ new cmInstallScriptGenerator(this->Makefile->GetCMakeInstance(),
+ code.c_str(), true,
component.c_str()));
}
}
@@ -1210,7 +1211,8 @@
// Create the directory install generator.
this->Makefile->AddInstallGenerator(
- new cmInstallDirectoryGenerator(dirs, destination,
+ new cmInstallDirectoryGenerator(this->Makefile->GetCMakeInstance(),
+ dirs, destination,
permissions_file.c_str(),
permissions_dir.c_str(),
configurations,
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallDirectoryGenerator.cxx cmake-3.0.0/Source/cmInstallDirectoryGenerator.cxx
--- orig/cmake-3.0.0/Source/cmInstallDirectoryGenerator.cxx Mon Jun 9 08:52:05 2014
+++ cmake-3.0.0/Source/cmInstallDirectoryGenerator.cxx Thu Jun 19 10:52:30 2014
@@ -15,7 +15,8 @@
//----------------------------------------------------------------------------
cmInstallDirectoryGenerator
-::cmInstallDirectoryGenerator(std::vector<std::string> const& dirs,
+::cmInstallDirectoryGenerator(cmake *cmake_instance,
+ std::vector<std::string> const& dirs,
const char* dest,
const char* file_permissions,
const char* dir_permissions,
@@ -23,9 +24,9 @@
const char* component,
const char* literal_args,
bool optional):
- cmInstallGenerator(dest, configurations, component), Directories(dirs),
+ cmInstallGenerator(cmake_instance, dest, configurations, component), Directories(dirs),
FilePermissions(file_permissions), DirPermissions(dir_permissions),
- LiteralArguments(literal_args), Optional(optional)
+ LiteralArguments(literal_args), Optional(optional), CMakeInstance(cmake_instance)
{
}
@@ -42,7 +43,7 @@
{
// Write code to install the directories.
const char* no_rename = 0;
- this->AddInstallRule(os, cmInstallType_DIRECTORY,
+ this->AddInstallRule(CMakeInstance, os, cmInstallType_DIRECTORY,
this->Directories,
this->Optional,
this->FilePermissions.c_str(),
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallDirectoryGenerator.h cmake-3.0.0/Source/cmInstallDirectoryGenerator.h
--- orig/cmake-3.0.0/Source/cmInstallDirectoryGenerator.h Mon Jun 9 08:52:05 2014
+++ cmake-3.0.0/Source/cmInstallDirectoryGenerator.h Thu Jun 19 10:35:47 2014
@@ -20,7 +20,8 @@
class cmInstallDirectoryGenerator: public cmInstallGenerator
{
public:
- cmInstallDirectoryGenerator(std::vector<std::string> const& dirs,
+ cmInstallDirectoryGenerator(cmake *cmake_instance,
+ std::vector<std::string> const& dirs,
const char* dest,
const char* file_permissions,
const char* dir_permissions,
@@ -37,6 +38,8 @@
std::string DirPermissions;
std::string LiteralArguments;
bool Optional;
+ bool Quiet;
+ cmake *CMakeInstance;
};
#endif
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallExportGenerator.cxx cmake-3.0.0/Source/cmInstallExportGenerator.cxx
--- orig/cmake-3.0.0/Source/cmInstallExportGenerator.cxx Mon Jun 9 08:52:05 2014
+++ cmake-3.0.0/Source/cmInstallExportGenerator.cxx Thu Jun 19 10:53:06 2014
@@ -35,7 +35,7 @@
const char* filename, const char* name_space,
bool exportOld,
cmMakefile* mf)
- :cmInstallGenerator(destination, configurations, component)
+ :cmInstallGenerator(mf->GetCMakeInstance(), destination, configurations, component)
,ExportSet(exportSet)
,FilePermissions(file_permissions)
,FileName(filename)
@@ -184,7 +184,7 @@
files.push_back(i->second);
std::string config_test = this->CreateConfigTest(i->first.c_str());
os << indent << "if(" << config_test << ")\n";
- this->AddInstallRule(os, cmInstallType_FILES, files, false,
+ this->AddInstallRule(this->Makefile->GetCMakeInstance(), os, cmInstallType_FILES, files, false,
this->FilePermissions.c_str(), 0, 0, 0,
indent.Next());
os << indent << "endif()\n";
@@ -223,6 +223,6 @@
// Install the main export file.
std::vector<std::string> files;
files.push_back(this->MainImportFile);
- this->AddInstallRule(os, cmInstallType_FILES, files, false,
+ this->AddInstallRule(this->Makefile->GetCMakeInstance(), os, cmInstallType_FILES, files, false,
this->FilePermissions.c_str(), 0, 0, 0, indent);
}
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallFilesGenerator.cxx cmake-3.0.0/Source/cmInstallFilesGenerator.cxx
--- orig/cmake-3.0.0/Source/cmInstallFilesGenerator.cxx Mon Jun 9 08:52:05 2014
+++ cmake-3.0.0/Source/cmInstallFilesGenerator.cxx Thu Jun 19 10:53:15 2014
@@ -12,6 +12,7 @@
#include "cmInstallFilesGenerator.h"
#include "cmGeneratorExpression.h"
+#include "cmMakefile.h"
#include "cmSystemTools.h"
//----------------------------------------------------------------------------
@@ -24,7 +25,7 @@
const char* component,
const char* rename,
bool optional):
- cmInstallGenerator(dest, configurations, component),
+ cmInstallGenerator(mf->GetCMakeInstance(), dest, configurations, component),
Makefile(mf),
Files(files), Programs(programs),
FilePermissions(file_permissions),
@@ -54,7 +55,8 @@
{
// Write code to install the files.
const char* no_dir_permissions = 0;
- this->AddInstallRule(os,
+ this->AddInstallRule(this->Makefile->GetCMakeInstance(),
+ os,
(this->Programs
? cmInstallType_PROGRAMS
: cmInstallType_FILES),
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallGenerator.cxx cmake-3.0.0/Source/cmInstallGenerator.cxx
--- orig/cmake-3.0.0/Source/cmInstallGenerator.cxx Mon Jun 9 08:52:05 2014
+++ cmake-3.0.0/Source/cmInstallGenerator.cxx Thu Jun 19 10:58:18 2014
@@ -15,10 +15,12 @@
//----------------------------------------------------------------------------
cmInstallGenerator
-::cmInstallGenerator(const char* destination,
+::cmInstallGenerator(cmake *cmake_instance,
+ const char* destination,
std::vector<std::string> const& configurations,
- const char* component):
- cmScriptGenerator("CMAKE_INSTALL_CONFIG_NAME", configurations),
+ const char* component
+ ):
+ cmScriptGenerator(cmake_instance, "CMAKE_INSTALL_CONFIG_NAME", configurations ),
Destination(destination? destination:""),
Component(component? component:"")
{
@@ -32,7 +34,7 @@
//----------------------------------------------------------------------------
void cmInstallGenerator
-::AddInstallRule(
+::AddInstallRule(cmake *cmake_instance,
std::ostream& os,
cmInstallType type,
std::vector<std::string> const& files,
@@ -95,6 +97,10 @@
if(optional)
{
os << " OPTIONAL";
+ }
+ if(cmSystemTools::IsOn(this->CMakeInstance->GetProperty("QUIET_INSTALL")))
+ {
+ os << " QUIET";
}
if(permissions_file && *permissions_file)
{
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallGenerator.h cmake-3.0.0/Source/cmInstallGenerator.h
--- orig/cmake-3.0.0/Source/cmInstallGenerator.h Mon Jun 9 08:52:05 2014
+++ cmake-3.0.0/Source/cmInstallGenerator.h Thu Jun 19 10:50:02 2014
@@ -24,12 +24,13 @@
class cmInstallGenerator: public cmScriptGenerator
{
public:
- cmInstallGenerator(const char* destination,
+ cmInstallGenerator(cmake *cmake_instance,
+ const char* destination,
std::vector<std::string> const& configurations,
- const char* component);
+ const char* component );
virtual ~cmInstallGenerator();
- void AddInstallRule(
+ void AddInstallRule( cmake *cmake_instance,
std::ostream& os, cmInstallType type,
std::vector<std::string> const& files,
bool optional = false,
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallScriptGenerator.cxx cmake-3.0.0/Source/cmInstallScriptGenerator.cxx
--- orig/cmake-3.0.0/Source/cmInstallScriptGenerator.cxx Mon Jun 9 08:52:05 2014
+++ cmake-3.0.0/Source/cmInstallScriptGenerator.cxx Thu Jun 19 10:53:42 2014
@@ -13,9 +13,9 @@
//----------------------------------------------------------------------------
cmInstallScriptGenerator
-::cmInstallScriptGenerator(const char* script, bool code,
+::cmInstallScriptGenerator(cmake *cmake_instance, const char* script, bool code,
const char* component) :
- cmInstallGenerator(0, std::vector<std::string>(), component),
+ cmInstallGenerator(cmake_instance, 0, std::vector<std::string>(), component),
Script(script), Code(code)
{
}
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallScriptGenerator.h cmake-3.0.0/Source/cmInstallScriptGenerator.h
--- orig/cmake-3.0.0/Source/cmInstallScriptGenerator.h Mon Jun 9 08:52:05 2014
+++ cmake-3.0.0/Source/cmInstallScriptGenerator.h Thu Jun 19 10:51:25 2014
@@ -20,7 +20,7 @@
class cmInstallScriptGenerator: public cmInstallGenerator
{
public:
- cmInstallScriptGenerator(const char* script, bool code,
+ cmInstallScriptGenerator( cmake *cmake_instance, const char* script, bool code,
const char* component);
virtual ~cmInstallScriptGenerator();
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallTargetGenerator.cxx cmake-3.0.0/Source/cmInstallTargetGenerator.cxx
--- orig/cmake-3.0.0/Source/cmInstallTargetGenerator.cxx Mon Jun 9 08:52:05 2014
+++ cmake-3.0.0/Source/cmInstallTargetGenerator.cxx Thu Jun 19 10:57:35 2014
@@ -25,7 +25,7 @@
const char* file_permissions,
std::vector<std::string> const& configurations,
const char* component, bool optional):
- cmInstallGenerator(dest, configurations, component), Target(&t),
+ cmInstallGenerator(t.GetMakefile()->GetCMakeInstance(), dest, configurations, component), Target(&t),
ImportLibrary(implib), FilePermissions(file_permissions), Optional(optional)
{
this->ActionsPerConfig = true;
@@ -306,7 +306,7 @@
const char* no_dir_permissions = 0;
const char* no_rename = 0;
bool optional = this->Optional || this->ImportLibrary;
- this->AddInstallRule(os, type, filesFrom,
+ this->AddInstallRule(this->Target->GetMakefile()->GetCMakeInstance(), os, type, filesFrom,
optional,
this->FilePermissions.c_str(), no_dir_permissions,
no_rename, literal_args.c_str(),
diff -N -r -a -u orig/cmake-3.0.0/Source/cmLocalGenerator.cxx cmake-3.0.0/Source/cmLocalGenerator.cxx
--- orig/cmake-3.0.0/Source/cmLocalGenerator.cxx Mon Jun 9 08:52:05 2014
+++ cmake-3.0.0/Source/cmLocalGenerator.cxx Thu Jun 19 10:57:48 2014
@@ -2838,7 +2838,7 @@
// Include the user-specified pre-install script for this target.
if(const char* preinstall = l->second.GetProperty("PRE_INSTALL_SCRIPT"))
{
- cmInstallScriptGenerator g(preinstall, false, 0);
+ cmInstallScriptGenerator g( this->Makefile->GetCMakeInstance(), preinstall, false, 0 );
g.Generate(os, config, configurationTypes);
}
@@ -2895,7 +2895,7 @@
// Include the user-specified post-install script for this target.
if(const char* postinstall = l->second.GetProperty("POST_INSTALL_SCRIPT"))
{
- cmInstallScriptGenerator g(postinstall, false, 0);
+ cmInstallScriptGenerator g(this->GetMakefile()->GetCMakeInstance(), postinstall, false, 0 );
g.Generate(os, config, configurationTypes);
}
}
diff -N -r -a -u orig/cmake-3.0.0/Source/cmScriptGenerator.cxx cmake-3.0.0/Source/cmScriptGenerator.cxx
--- orig/cmake-3.0.0/Source/cmScriptGenerator.cxx Mon Jun 9 08:52:07 2014
+++ cmake-3.0.0/Source/cmScriptGenerator.cxx Thu Jun 19 10:58:41 2014
@@ -15,13 +15,15 @@
//----------------------------------------------------------------------------
cmScriptGenerator
-::cmScriptGenerator(const char* config_var,
- std::vector<std::string> const& configurations):
+::cmScriptGenerator(cmake *cmake_instance,
+ const char* config_var,
+ std::vector<std::string> const& configurations ):
RuntimeConfigVariable(config_var),
Configurations(configurations),
ConfigurationName(0),
ConfigurationTypes(0),
- ActionsPerConfig(false)
+ ActionsPerConfig(false),
+ CMakeInstance(cmake_instance)
{
}
diff -N -r -a -u orig/cmake-3.0.0/Source/cmScriptGenerator.h cmake-3.0.0/Source/cmScriptGenerator.h
--- orig/cmake-3.0.0/Source/cmScriptGenerator.h Mon Jun 9 08:52:07 2014
+++ cmake-3.0.0/Source/cmScriptGenerator.h Thu Jun 19 10:57:04 2014
@@ -13,6 +13,7 @@
#define cmScriptGenerator_h
#include "cmStandardIncludes.h"
+#include "cmake.h"
class cmScriptGeneratorIndent
{
@@ -47,8 +48,8 @@
class cmScriptGenerator
{
public:
- cmScriptGenerator(const char* config_var,
- std::vector<std::string> const& configurations);
+ cmScriptGenerator(cmake *cmake_instance, const char* config_var,
+ std::vector<std::string> const& configurations );
virtual ~cmScriptGenerator();
void Generate(std::ostream& os, const char* config,
@@ -87,6 +88,7 @@
// configuration. False if the subclass only generates one rule for
// all enabled configurations.
bool ActionsPerConfig;
+ cmake *CMakeInstance;
private:
void GenerateScriptActionsOnce(std::ostream& os, Indent const& indent);
diff -N -r -a -u orig/cmake-3.0.0/Source/cmTestGenerator.cxx cmake-3.0.0/Source/cmTestGenerator.cxx
--- orig/cmake-3.0.0/Source/cmTestGenerator.cxx Mon Jun 9 08:52:07 2014
+++ cmake-3.0.0/Source/cmTestGenerator.cxx Thu Jun 19 10:58:54 2014
@@ -17,12 +17,13 @@
#include "cmSystemTools.h"
#include "cmTarget.h"
#include "cmTest.h"
+#include "cmake.h"
//----------------------------------------------------------------------------
cmTestGenerator
-::cmTestGenerator(cmTest* test,
+::cmTestGenerator(cmake *cmake_instance, cmTest* test,
std::vector<std::string> const& configurations):
- cmScriptGenerator("CTEST_CONFIGURATION_TYPE", configurations),
+ cmScriptGenerator(cmake_instance, "CTEST_CONFIGURATION_TYPE", configurations),
Test(test)
{
this->ActionsPerConfig = !test->GetOldStyle();
diff -N -r -a -u orig/cmake-3.0.0/Source/cmTestGenerator.h cmake-3.0.0/Source/cmTestGenerator.h
--- orig/cmake-3.0.0/Source/cmTestGenerator.h Mon Jun 9 08:52:07 2014
+++ cmake-3.0.0/Source/cmTestGenerator.h Thu Jun 19 10:25:39 2014
@@ -23,7 +23,7 @@
class cmTestGenerator: public cmScriptGenerator
{
public:
- cmTestGenerator(cmTest* test,
+ cmTestGenerator(cmake *cmake_instance, cmTest* test,
std::vector<std::string> const&
configurations = std::vector<std::string>());
virtual ~cmTestGenerator();
file_install_option_quiet2.diff [^] (21,179 bytes) 2014-06-19 16:16 [Show Content] [Hide Content]
M:\cmake>c:\tools\unix\git\bin\diff -N -r -a -u orig/cmake-3.0.0 cmake-3.0.0
diff -N -r -a -u orig/cmake-3.0.0/.gitattributes.0 cmake-3.0.0/.gitattributes.0
--- orig/cmake-3.0.0/.gitattributes.0 Wed Dec 31 16:00:00 1969
+++ cmake-3.0.0/.gitattributes.0 Mon Jun 9 08:52:00 2014
@@ -0,0 +1,22 @@
+.gitattributes export-ignore
+.hooks* export-ignore
+
+bootstrap crlf=input
+configure crlf=input
+*.[1-9] crlf=input
+*.sh crlf=input
+*.sh.in crlf=input
+
+*.bat -crlf
+*.bat.in -crlf
+*.dsp -crlf
+*.dsptemplate -crlf
+*.dsw -crlf
+*.sln -crlf
+*.vcproj -crlf
+
+*.c whitespace=tab-in-indent
+*.h whitespace=tab-in-indent
+*.cxx whitespace=tab-in-indent
+*.txt whitespace=tab-in-indent
+*.cmake whitespace=tab-in-indent
diff -N -r -a -u orig/cmake-3.0.0/Help/command/install.rst cmake-3.0.0/Help/command/install.rst
--- orig/cmake-3.0.0/Help/command/install.rst Thu Jun 19 12:31:52 2014
+++ cmake-3.0.0/Help/command/install.rst Thu Jun 19 12:31:47 2014
@@ -52,6 +52,9 @@
Specify that it is not an error if the file to be installed does
not exist.
+``QUIET``
+ Disables the file installation status output.
+
------------------------------------------------------------------------------
::
@@ -64,7 +67,7 @@
[PERMISSIONS permissions...]
[CONFIGURATIONS [Debug|Release|...]]
[COMPONENT <component>]
- [OPTIONAL] [NAMELINK_ONLY|NAMELINK_SKIP]
+ [OPTIONAL] [QUIET] [NAMELINK_ONLY|NAMELINK_SKIP]
] [...])
The ``TARGETS`` form specifies rules for installing targets from a
@@ -155,7 +158,7 @@
[PERMISSIONS permissions...]
[CONFIGURATIONS [Debug|Release|...]]
[COMPONENT <component>]
- [RENAME <name>] [OPTIONAL])
+ [RENAME <name>] [OPTIONAL] [QUIET])
The ``FILES`` form specifies rules for installing files for a project.
File names given as relative paths are interpreted with respect to the
@@ -182,7 +185,7 @@
install(DIRECTORY dirs... DESTINATION <dir>
[FILE_PERMISSIONS permissions...]
[DIRECTORY_PERMISSIONS permissions...]
- [USE_SOURCE_PERMISSIONS] [OPTIONAL]
+ [USE_SOURCE_PERMISSIONS] [OPTIONAL] [QUIET]
[CONFIGURATIONS [Debug|Release|...]]
[COMPONENT <component>] [FILES_MATCHING]
[[PATTERN <pattern> | REGEX <regex>]
diff -N -r -a -u orig/cmake-3.0.0/Help/prop_gbl/QUIET_INSTALL.rst cmake-3.0.0/Help/prop_gbl/QUIET_INSTALL.rst
--- orig/cmake-3.0.0/Help/prop_gbl/QUIET_INSTALL.rst Wed Dec 31 16:00:00 1969
+++ cmake-3.0.0/Help/prop_gbl/QUIET_INSTALL.rst Thu Jun 19 13:01:23 2014
@@ -0,0 +1,7 @@
+QUIET_INSTALL
+-------------
+
+When installing, only report those files that are copied or symlinks
+ and directories that are created.
+
+If not set, CMake treats this property as OFF by default.
diff -N -r -a -u orig/cmake-3.0.0/Source/cmFileCommand.cxx cmake-3.0.0/Source/cmFileCommand.cxx
--- orig/cmake-3.0.0/Source/cmFileCommand.cxx Thu Jun 19 12:31:53 2014
+++ cmake-3.0.0/Source/cmFileCommand.cxx Thu Jun 19 13:04:09 2014
@@ -1611,7 +1611,11 @@
MatchProperties const& match_properties)
{
// Inform the user about this directory installation.
- this->ReportCopy(destination, TypeDir, true);
+ if( cmSystemTools::FileExists(destination) &&
+ cmSystemTools::FileIsDirectory(destination) )
+ this->ReportCopy(destination, TypeDir, false);
+ else
+ this->ReportCopy(destination, TypeDir, true);
// Make sure the destination directory exists.
if(!cmSystemTools::MakeDirectory(destination))
@@ -1702,6 +1706,7 @@
cmFileCopier(command, "INSTALL"),
InstallType(cmInstallType_FILES),
Optional(false),
+ Quiet(false),
DestDirLength(0)
{
// Installation does not use source permissions by default.
@@ -1723,6 +1728,7 @@
protected:
cmInstallType InstallType;
bool Optional;
+ bool Quiet;
int DestDirLength;
std::string Rename;
@@ -1738,9 +1744,12 @@
virtual void ReportCopy(const char* toFile, Type type, bool copy)
{
- std::string message = (copy? "Installing: " : "Up-to-date: ");
- message += toFile;
- this->Makefile->DisplayStatus(message.c_str(), -1);
+ if( copy || !this->Quiet )
+ {
+ std::string message = (copy? "Installing: " : "Up-to-date: ");
+ message += toFile;
+ this->Makefile->DisplayStatus(message.c_str(), -1);
+ }
if(type != TypeDir)
{
// Add the file to the manifest.
@@ -1875,6 +1884,18 @@
{
this->Doing = DoingNone;
this->Optional = true;
+ }
+ }
+ else if(arg == "QUIET")
+ {
+ if(this->CurrentMatchRule)
+ {
+ this->NotAfterMatch(arg);
+ }
+ else
+ {
+ this->Doing = DoingNone;
+ this->Quiet = true;
}
}
else if(arg == "PERMISSIONS")
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallCommand.cxx cmake-3.0.0/Source/cmInstallCommand.cxx
--- orig/cmake-3.0.0/Source/cmInstallCommand.cxx Thu Jun 19 12:31:53 2014
+++ cmake-3.0.0/Source/cmInstallCommand.cxx Thu Jun 19 13:07:59 2014
@@ -28,7 +28,9 @@
return new cmInstallTargetGenerator(target, args.GetDestination().c_str(),
impLib, args.GetPermissions().c_str(),
args.GetConfigurations(), args.GetComponent().c_str(),
- args.GetOptional() || forceOpt);
+ args.GetOptional() || forceOpt,
+ args.GetQuiet() || cmSystemTools::IsOn(target.GetMakefile()->GetCMakeInstance()->GetProperty("QUIET_INSTALL"))
+ );
}
static cmInstallFilesGenerator* CreateInstallFilesGenerator(
@@ -40,7 +42,9 @@
absFiles, args.GetDestination().c_str(),
programs, args.GetPermissions().c_str(),
args.GetConfigurations(), args.GetComponent().c_str(),
- args.GetRename().c_str(), args.GetOptional());
+ args.GetRename().c_str(), args.GetOptional(),
+ args.GetQuiet() || cmSystemTools::IsOn(mf->GetCMakeInstance()->GetProperty("QUIET_INSTALL"))
+ );
}
@@ -911,6 +915,7 @@
Doing doing = DoingDirs;
bool in_match_mode = false;
bool optional = false;
+ bool quiet = false;
std::vector<std::string> dirs;
const char* destination = 0;
std::string permissions_file;
@@ -949,6 +954,21 @@
optional = true;
doing = DoingNone;
}
+ else if(args[i] == "QUIET")
+ {
+ 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;
+ }
+
+ // Mark the rule as optional.
+ quiet = true;
+ doing = DoingNone;
+ }
else if(args[i] == "PATTERN")
{
// Switch to a new pattern match rule.
@@ -1216,7 +1236,9 @@
configurations,
component.c_str(),
literal_args.c_str(),
- optional));
+ optional,
+ quiet || cmSystemTools::IsOn(this->Makefile->GetCMakeInstance()->GetProperty("QUIET_INSTALL"))
+ ));
// Tell the global generator about any installation component names
// specified.
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallCommandArguments.cxx cmake-3.0.0/Source/cmInstallCommandArguments.cxx
--- orig/cmake-3.0.0/Source/cmInstallCommandArguments.cxx Thu Jun 19 12:31:53 2014
+++ cmake-3.0.0/Source/cmInstallCommandArguments.cxx Thu Jun 19 12:31:48 2014
@@ -33,6 +33,7 @@
,Permissions (&Parser, "PERMISSIONS" , &ArgumentGroup)
,Configurations(&Parser, "CONFIGURATIONS", &ArgumentGroup)
,Optional (&Parser, "OPTIONAL" , &ArgumentGroup)
+,Quiet (&Parser, "QUIET" , &ArgumentGroup)
,NamelinkOnly (&Parser, "NAMELINK_ONLY" , &ArgumentGroup)
,NamelinkSkip (&Parser, "NAMELINK_SKIP" , &ArgumentGroup)
,GenericArguments(0)
@@ -106,6 +107,19 @@
if (this->GenericArguments!=0)
{
return this->GenericArguments->GetOptional();
+ }
+ return false;
+}
+
+bool cmInstallCommandArguments::GetQuiet() const
+{
+ if (this->Quiet.IsEnabled())
+ {
+ return true;
+ }
+ if (this->GenericArguments!=0)
+ {
+ return this->GenericArguments->GetQuiet();
}
return false;
}
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallCommandArguments.h cmake-3.0.0/Source/cmInstallCommandArguments.h
--- orig/cmake-3.0.0/Source/cmInstallCommandArguments.h Thu Jun 19 12:31:53 2014
+++ cmake-3.0.0/Source/cmInstallCommandArguments.h Thu Jun 19 12:31:48 2014
@@ -34,6 +34,7 @@
const std::string& GetPermissions() const;
const std::vector<std::string>& GetConfigurations() const;
bool GetOptional() const;
+ bool GetQuiet() const;
bool GetNamelinkOnly() const;
bool GetNamelinkSkip() const;
@@ -52,6 +53,7 @@
cmCAStringVector Permissions;
cmCAStringVector Configurations;
cmCAEnabler Optional;
+ cmCAEnabler Quiet;
cmCAEnabler NamelinkOnly;
cmCAEnabler NamelinkSkip;
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallDirectoryGenerator.cxx cmake-3.0.0/Source/cmInstallDirectoryGenerator.cxx
--- orig/cmake-3.0.0/Source/cmInstallDirectoryGenerator.cxx Thu Jun 19 12:31:53 2014
+++ cmake-3.0.0/Source/cmInstallDirectoryGenerator.cxx Thu Jun 19 12:31:48 2014
@@ -22,10 +22,10 @@
std::vector<std::string> const& configurations,
const char* component,
const char* literal_args,
- bool optional):
+ bool optional, bool quiet):
cmInstallGenerator(dest, configurations, component), Directories(dirs),
FilePermissions(file_permissions), DirPermissions(dir_permissions),
- LiteralArguments(literal_args), Optional(optional)
+ LiteralArguments(literal_args), Optional(optional), Quiet(quiet)
{
}
@@ -44,7 +44,7 @@
const char* no_rename = 0;
this->AddInstallRule(os, cmInstallType_DIRECTORY,
this->Directories,
- this->Optional,
+ this->Optional, this->Quiet,
this->FilePermissions.c_str(),
this->DirPermissions.c_str(),
no_rename, this->LiteralArguments.c_str(),
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallDirectoryGenerator.h cmake-3.0.0/Source/cmInstallDirectoryGenerator.h
--- orig/cmake-3.0.0/Source/cmInstallDirectoryGenerator.h Thu Jun 19 12:31:53 2014
+++ cmake-3.0.0/Source/cmInstallDirectoryGenerator.h Thu Jun 19 12:31:48 2014
@@ -27,7 +27,7 @@
std::vector<std::string> const& configurations,
const char* component,
const char* literal_args,
- bool optional = false);
+ bool optional = false, bool quiet = false);
virtual ~cmInstallDirectoryGenerator();
protected:
@@ -37,6 +37,7 @@
std::string DirPermissions;
std::string LiteralArguments;
bool Optional;
+ bool Quiet;
};
#endif
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallExportGenerator.cxx cmake-3.0.0/Source/cmInstallExportGenerator.cxx
--- orig/cmake-3.0.0/Source/cmInstallExportGenerator.cxx Thu Jun 19 12:31:53 2014
+++ cmake-3.0.0/Source/cmInstallExportGenerator.cxx Thu Jun 19 12:31:48 2014
@@ -184,7 +184,7 @@
files.push_back(i->second);
std::string config_test = this->CreateConfigTest(i->first.c_str());
os << indent << "if(" << config_test << ")\n";
- this->AddInstallRule(os, cmInstallType_FILES, files, false,
+ this->AddInstallRule(os, cmInstallType_FILES, files, false, false,
this->FilePermissions.c_str(), 0, 0, 0,
indent.Next());
os << indent << "endif()\n";
@@ -223,6 +223,6 @@
// Install the main export file.
std::vector<std::string> files;
files.push_back(this->MainImportFile);
- this->AddInstallRule(os, cmInstallType_FILES, files, false,
+ this->AddInstallRule(os, cmInstallType_FILES, files, false, false,
this->FilePermissions.c_str(), 0, 0, 0, indent);
}
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallFilesGenerator.cxx cmake-3.0.0/Source/cmInstallFilesGenerator.cxx
--- orig/cmake-3.0.0/Source/cmInstallFilesGenerator.cxx Thu Jun 19 12:31:53 2014
+++ cmake-3.0.0/Source/cmInstallFilesGenerator.cxx Thu Jun 19 12:31:48 2014
@@ -23,12 +23,12 @@
std::vector<std::string> const& configurations,
const char* component,
const char* rename,
- bool optional):
+ bool optional, bool quiet):
cmInstallGenerator(dest, configurations, component),
Makefile(mf),
Files(files), Programs(programs),
FilePermissions(file_permissions),
- Rename(rename), Optional(optional)
+ Rename(rename), Optional(optional), Quiet(quiet)
{
// We need per-config actions if any files have generator expressions.
for(std::vector<std::string>::const_iterator i = files.begin();
@@ -59,7 +59,7 @@
? cmInstallType_PROGRAMS
: cmInstallType_FILES),
files,
- this->Optional,
+ this->Optional, this->Quiet,
this->FilePermissions.c_str(), no_dir_permissions,
this->Rename.c_str(), 0, indent);
}
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallFilesGenerator.h cmake-3.0.0/Source/cmInstallFilesGenerator.h
--- orig/cmake-3.0.0/Source/cmInstallFilesGenerator.h Thu Jun 19 12:31:53 2014
+++ cmake-3.0.0/Source/cmInstallFilesGenerator.h Thu Jun 19 12:31:48 2014
@@ -29,7 +29,7 @@
std::vector<std::string> const& configurations,
const char* component,
const char* rename,
- bool optional = false);
+ bool optional = false, bool quiet = false);
virtual ~cmInstallFilesGenerator();
protected:
@@ -46,6 +46,7 @@
std::string FilePermissions;
std::string Rename;
bool Optional;
+ bool Quiet;
};
#endif
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallGenerator.cxx cmake-3.0.0/Source/cmInstallGenerator.cxx
--- orig/cmake-3.0.0/Source/cmInstallGenerator.cxx Thu Jun 19 12:31:53 2014
+++ cmake-3.0.0/Source/cmInstallGenerator.cxx Thu Jun 19 12:31:48 2014
@@ -37,6 +37,7 @@
cmInstallType type,
std::vector<std::string> const& files,
bool optional /* = false */,
+ bool quiet /* = false */,
const char* permissions_file /* = 0 */,
const char* permissions_dir /* = 0 */,
const char* rename /* = 0 */,
@@ -95,6 +96,10 @@
if(optional)
{
os << " OPTIONAL";
+ }
+ if(quiet)
+ {
+ os << " QUIET";
}
if(permissions_file && *permissions_file)
{
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallGenerator.h cmake-3.0.0/Source/cmInstallGenerator.h
--- orig/cmake-3.0.0/Source/cmInstallGenerator.h Thu Jun 19 12:31:53 2014
+++ cmake-3.0.0/Source/cmInstallGenerator.h Thu Jun 19 12:31:48 2014
@@ -33,6 +33,7 @@
std::ostream& os, cmInstallType type,
std::vector<std::string> const& files,
bool optional = false,
+ bool quiet = false,
const char* permissions_file = 0,
const char* permissions_dir = 0,
const char* rename = 0,
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallTargetGenerator.cxx cmake-3.0.0/Source/cmInstallTargetGenerator.cxx
--- orig/cmake-3.0.0/Source/cmInstallTargetGenerator.cxx Thu Jun 19 12:31:53 2014
+++ cmake-3.0.0/Source/cmInstallTargetGenerator.cxx Thu Jun 19 12:31:48 2014
@@ -24,9 +24,10 @@
::cmInstallTargetGenerator(cmTarget& t, const char* dest, bool implib,
const char* file_permissions,
std::vector<std::string> const& configurations,
- const char* component, bool optional):
+ const char* component, bool optional, bool quiet):
cmInstallGenerator(dest, configurations, component), Target(&t),
- ImportLibrary(implib), FilePermissions(file_permissions), Optional(optional)
+ ImportLibrary(implib), FilePermissions(file_permissions), Optional(optional),
+ Quiet(quiet)
{
this->ActionsPerConfig = true;
this->NamelinkMode = NamelinkModeNone;
@@ -307,7 +308,7 @@
const char* no_rename = 0;
bool optional = this->Optional || this->ImportLibrary;
this->AddInstallRule(os, type, filesFrom,
- optional,
+ optional, Quiet,
this->FilePermissions.c_str(), no_dir_permissions,
no_rename, literal_args.c_str(),
indent);
diff -N -r -a -u orig/cmake-3.0.0/Source/cmInstallTargetGenerator.h cmake-3.0.0/Source/cmInstallTargetGenerator.h
--- orig/cmake-3.0.0/Source/cmInstallTargetGenerator.h Thu Jun 19 12:31:53 2014
+++ cmake-3.0.0/Source/cmInstallTargetGenerator.h Thu Jun 19 12:31:48 2014
@@ -28,7 +28,7 @@
std::vector<std::string> const& configurations
= std::vector<std::string>(),
const char* component = "Unspecified",
- bool optional = false
+ bool optional = false, bool quiet = false
);
virtual ~cmInstallTargetGenerator();
@@ -98,6 +98,7 @@
bool ImportLibrary;
std::string FilePermissions;
bool Optional;
+ bool Quiet;
NamelinkModeType NamelinkMode;
cmGeneratorTarget* GeneratorTarget;
};
diff -N -r -a -u orig/cmake-3.0.0/Source/cmLocalGenerator.cxx cmake-3.0.0/Source/cmLocalGenerator.cxx
--- orig/cmake-3.0.0/Source/cmLocalGenerator.cxx Thu Jun 19 12:31:53 2014
+++ cmake-3.0.0/Source/cmLocalGenerator.cxx Thu Jun 19 13:10:58 2014
@@ -2863,7 +2863,9 @@
case cmTarget::MODULE_LIBRARY:
{
// Use a target install generator.
- cmInstallTargetGenerator g(l->second, destination.c_str(), false);
+ cmInstallTargetGenerator g(l->second, destination.c_str(), false,"",std::vector<std::string>(),"Unspecified",false,
+ cmSystemTools::IsOn(this->Makefile->GetCMakeInstance()->GetProperty("QUIET_INSTALL"))
+ );
g.Generate(os, config, configurationTypes);
}
break;
@@ -2873,16 +2875,22 @@
// Special code to handle DLL. Install the import library
// to the normal destination and the DLL to the runtime
// destination.
- cmInstallTargetGenerator g1(l->second, destination.c_str(), true);
+ cmInstallTargetGenerator g1(l->second, destination.c_str(), true,"",std::vector<std::string>(),"Unspecified",false,
+ cmSystemTools::IsOn(this->Makefile->GetCMakeInstance()->GetProperty("QUIET_INSTALL"))
+ );
g1.Generate(os, config, configurationTypes);
// We also skip over the leading slash given by the user.
destination = l->second.GetRuntimeInstallPath().substr(1);
cmSystemTools::ConvertToUnixSlashes(destination);
- cmInstallTargetGenerator g2(l->second, destination.c_str(), false);
+ cmInstallTargetGenerator g2(l->second, destination.c_str(), false,"",std::vector<std::string>(),"Unspecified",false,
+ cmSystemTools::IsOn(this->Makefile->GetCMakeInstance()->GetProperty("QUIET_INSTALL"))
+ );
g2.Generate(os, config, configurationTypes);
#else
// Use a target install generator.
- cmInstallTargetGenerator g(l->second, destination.c_str(), false);
+ cmInstallTargetGenerator g(l->second, destination.c_str(), false,"",std::vector<std::string>(),"Unspecified",false,
+ cmSystemTools::IsOn(this->Makefile->GetCMakeInstance()->GetProperty("QUIET_INSTALL"))
+ );
g.Generate(os, config, configurationTypes);
#endif
}
|