From 6d94ea3692c5dd3aafaf8183e31f6060ca2a4669 Mon Sep 17 00:00:00 2001 From: Eric NOULARD Date: Sun, 12 Dec 2010 12:55:02 +0100 Subject: [PATCH] CPack use IsOn when it's better than IsSet This authorize more control because one can set CPACK_ARCHIVE_COMPONENT_INSTALL to ON globally and then set it selectively to OFF inside a CPack project config file. Sidenote: GetOption ought to be a 'const' method. --- Source/CPack/cmCPackArchiveGenerator.cxx | 2 +- Source/CPack/cmCPackGenerator.cxx | 8 +++++++- Source/CPack/cmCPackGenerator.h | 3 ++- Source/CPack/cmCPackRPMGenerator.cxx | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Source/CPack/cmCPackArchiveGenerator.cxx b/Source/CPack/cmCPackArchiveGenerator.cxx index ded329d47..46be99b6f 100644 --- a/Source/CPack/cmCPackArchiveGenerator.cxx +++ b/Source/CPack/cmCPackArchiveGenerator.cxx @@ -285,7 +285,7 @@ bool cmCPackArchiveGenerator::SupportsComponentInstallation() const { // The Component installation support should only // be activated if explicitly requested by the user // (for backward compatibility reason) - if (IsSet("CPACK_ARCHIVE_COMPONENT_INSTALL")) + if (IsOn("CPACK_ARCHIVE_COMPONENT_INSTALL")) { return true; } diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index 92e5b6ade..4ac5867c6 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -1063,7 +1063,13 @@ bool cmCPackGenerator::IsSet(const char* name) const } //---------------------------------------------------------------------- -const char* cmCPackGenerator::GetOption(const char* op) +bool cmCPackGenerator::IsOn(const char* name) const +{ + return cmSystemTools::IsOn(GetOption(name)); +} + +//---------------------------------------------------------------------- +const char* cmCPackGenerator::GetOption(const char* op) const { const char* ret = this->MakefileMap->GetDefinition(op); if(!ret) diff --git a/Source/CPack/cmCPackGenerator.h b/Source/CPack/cmCPackGenerator.h index c4507638b..f44a334ad 100644 --- a/Source/CPack/cmCPackGenerator.h +++ b/Source/CPack/cmCPackGenerator.h @@ -88,8 +88,9 @@ public: //! Set and get the options void SetOption(const char* op, const char* value); void SetOptionIfNotSet(const char* op, const char* value); - const char* GetOption(const char* op); + const char* GetOption(const char* op) const; bool IsSet(const char* name) const; + bool IsOn(const char* name) const; //! Set all the variables int SetCMakeRoot(); diff --git a/Source/CPack/cmCPackRPMGenerator.cxx b/Source/CPack/cmCPackRPMGenerator.cxx index 34e93d3fc..a5db78f40 100644 --- a/Source/CPack/cmCPackRPMGenerator.cxx +++ b/Source/CPack/cmCPackRPMGenerator.cxx @@ -108,7 +108,7 @@ int cmCPackRPMGenerator::PackageFiles() bool cmCPackRPMGenerator::SupportsComponentInstallation() const { - if (IsSet("CPACK_RPM_COMPONENT_INSTALL")) + if (IsOn("CPACK_RPM_COMPONENT_INSTALL")) { return true; }