summaryrefslogtreecommitdiffstats
path: root/Source/CPack
diff options
context:
space:
mode:
authorKonstantin Podsvirov <konstantin@podsvirov.pro>2016-05-23 12:32:22 (GMT)
committerKonstantin Podsvirov <konstantin@podsvirov.pro>2016-05-23 16:09:03 (GMT)
commit06ca7795f4c0a7503d98e856384f986a0047f811 (patch)
tree30ca6e8fa792d80a4fa496f0541417c20c988300 /Source/CPack
parent222fa595cd6106cb6a4948eedeb55b0314338dff (diff)
downloadCMake-06ca7795f4c0a7503d98e856384f986a0047f811.zip
CMake-06ca7795f4c0a7503d98e856384f986a0047f811.tar.gz
CMake-06ca7795f4c0a7503d98e856384f986a0047f811.tar.bz2
CPackIFW: Command cpack_ifw_configure_component learned ESSENTIAL option
Diffstat (limited to 'Source/CPack')
-rw-r--r--Source/CPack/IFW/cmCPackIFWPackage.cxx11
-rw-r--r--Source/CPack/IFW/cmCPackIFWPackage.h3
2 files changed, 14 insertions, 0 deletions
diff --git a/Source/CPack/IFW/cmCPackIFWPackage.cxx b/Source/CPack/IFW/cmCPackIFWPackage.cxx
index 5bc1a0b..df612e5 100644
--- a/Source/CPack/IFW/cmCPackIFWPackage.cxx
+++ b/Source/CPack/IFW/cmCPackIFWPackage.cxx
@@ -146,6 +146,7 @@ void cmCPackIFWPackage::DefaultConfiguration()
Licenses.clear();
SortingPriority = "";
Default = "";
+ Essential = "";
Virtual = "";
ForcedInstallation = "";
}
@@ -267,6 +268,11 @@ int cmCPackIFWPackage::ConfigureFromComponent(cmCPackComponent* component)
// Default
Default = component->IsDisabledByDefault ? "false" : "true";
+ // Essential
+ if (this->IsOn(prefix + "ESSENTIAL")) {
+ Essential = "true";
+ }
+
// Virtual
Virtual = component->IsHidden ? "true" : "";
@@ -452,6 +458,11 @@ void cmCPackIFWPackage::GeneratePackageFile()
xout.Element("Default", Default);
}
+ // Essential
+ if (!Essential.empty()) {
+ xout.Element("Essential", Essential);
+ }
+
// Priority
if (!SortingPriority.empty()) {
xout.Element("SortingPriority", SortingPriority);
diff --git a/Source/CPack/IFW/cmCPackIFWPackage.h b/Source/CPack/IFW/cmCPackIFWPackage.h
index 8a566cb..55b07ec 100644
--- a/Source/CPack/IFW/cmCPackIFWPackage.h
+++ b/Source/CPack/IFW/cmCPackIFWPackage.h
@@ -101,6 +101,9 @@ public:
/// Set to true to preselect the component in the installer
std::string Default;
+ /// Marks the package as essential to force a restart of the MaintenanceTool
+ std::string Essential;
+
/// Set to true to hide the component from the installer
std::string Virtual;