Przeglądaj źródła

better help strings

Ken Martin 24 lat temu
rodzic
commit
07bd60f6b3

+ 10 - 3
Source/cmFindFileCommand.cxx

@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 // cmFindFileCommand
 bool cmFindFileCommand::Invoke(std::vector<std::string>& args)
 {
-  if(args.size() < 2 )
+  if(args.size() < 2)
     {
     this->SetError("called with incorrect number of arguments");
     return false;
@@ -59,6 +59,8 @@ bool cmFindFileCommand::Invoke(std::vector<std::string>& args)
   i++; // move iterator to next arg
   // Now check and see if the value has been stored in the cache
   // already, if so use that value and don't look for the program
+  std::string helpString = "Where can the ";
+  helpString += args[1] + " file be found";
   const char* cacheValue
     = cmCacheManager::GetInstance()->GetCacheValue(define);
   if(cacheValue)
@@ -66,6 +68,11 @@ bool cmFindFileCommand::Invoke(std::vector<std::string>& args)
     if(strcmp(cacheValue, "NOTFOUND") != 0)
       {
       m_Makefile->AddDefinition(define, cacheValue);
+      // update help string if changed
+      cmCacheManager::GetInstance()->AddCacheEntry(define,
+                                                   cacheValue,
+                                                   helpString.c_str(),
+                                                   cmCacheManager::FILEPATH);
       }
     return true;
     }
@@ -91,11 +98,11 @@ bool cmFindFileCommand::Invoke(std::vector<std::string>& args)
     if(cmSystemTools::FileExists(tryPath.c_str()))
       {
       // Save the value in the cache
+      m_Makefile->AddDefinition(define, tryPath.c_str());
       cmCacheManager::GetInstance()->AddCacheEntry(define,
                                                    tryPath.c_str(),
-                                                   "Path to a file.",
+                                                   helpString.c_str(),
                                                    cmCacheManager::FILEPATH);
-      m_Makefile->AddDefinition(define, tryPath.c_str());
       return true;
       }
     }

+ 11 - 15
Source/cmFindLibraryCommand.cxx

@@ -51,6 +51,8 @@ bool cmFindLibraryCommand::Invoke(std::vector<std::string>& args)
     }
   // Now check and see if the value has been stored in the cache
   // already, if so use that value and don't look for the program
+  std::string helpString = "Where can the ";
+  helpString += args[1] + " library be found";
   const char* cacheValue
     = cmCacheManager::GetInstance()->GetCacheValue(args[0].c_str());
   if(cacheValue)
@@ -58,6 +60,10 @@ bool cmFindLibraryCommand::Invoke(std::vector<std::string>& args)
     if(strcmp(cacheValue, "NOTFOUND") != 0)
       {
       m_Makefile->AddDefinition(args[0].c_str(), cacheValue);
+      cmCacheManager::GetInstance()->AddCacheEntry(args[0].c_str(),
+                                                   cacheValue,
+                                                   helpString.c_str(),
+                                                   cmCacheManager::PATH);
       }
     return true;
     }
@@ -86,7 +92,7 @@ bool cmFindLibraryCommand::Invoke(std::vector<std::string>& args)
       m_Makefile->AddDefinition(args[0].c_str(), path[k].c_str());  
       cmCacheManager::GetInstance()->AddCacheEntry(args[0].c_str(),
                                                    path[k].c_str(),
-                                                   "Path to a library",
+                                                   helpString.c_str(),
                                                    cmCacheManager::PATH);
       return true;
       }
@@ -96,7 +102,7 @@ bool cmFindLibraryCommand::Invoke(std::vector<std::string>& args)
       m_Makefile->AddDefinition(args[0].c_str(), path[k].c_str());  
       cmCacheManager::GetInstance()->AddCacheEntry(args[0].c_str(),
                                                    path[k].c_str(),
-                                                   "Path to a library",
+                                                   helpString.c_str(),
                                                    cmCacheManager::PATH);
       return true;
       }
@@ -106,7 +112,7 @@ bool cmFindLibraryCommand::Invoke(std::vector<std::string>& args)
       m_Makefile->AddDefinition(args[0].c_str(), path[k].c_str());  
       cmCacheManager::GetInstance()->AddCacheEntry(args[0].c_str(),
                                                    path[k].c_str(),
-                                                   "Path to a library",
+                                                   helpString.c_str(),
                                                    cmCacheManager::PATH);
       return true;
       }
@@ -117,25 +123,15 @@ bool cmFindLibraryCommand::Invoke(std::vector<std::string>& args)
       cmCacheManager::GetInstance()->
         AddCacheEntry(args[0].c_str(),
                       path[k].c_str(),
-                      "Path to a library.",
+                      helpString.c_str(),
                       cmCacheManager::PATH);
       return true;
       }
     }
   cmCacheManager::GetInstance()->AddCacheEntry(args[0].c_str(),
                                                "NOTFOUND",
-                                               "Path to a library",
+                                               helpString.c_str(),
                                                cmCacheManager::PATH);
-  std::string message = "Library not found: ";
-  message += args[1];
-  message += "\n";
-  message += "looked in ";
-  for(k=0; k < path.size(); k++)
-    {
-    message += path[k];
-    message += "\n";
-    }
-  this->SetError(message.c_str());
   return false;
 }
 

+ 36 - 5
Source/cmFindPathCommand.cxx

@@ -6,11 +6,36 @@
   Date:      $Date$
   Version:   $Revision$
 
+Copyright (c) 2001 Insight Consortium
+All rights reserved.
 
-  Copyright (c) 2000 National Path of Medicine
-  All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
 
-  See COPYRIGHT.txt for copyright details.
+ * Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+
+ * The name of the Insight Consortium, nor the names of any consortium members,
+   nor of any contributors, may be used to endorse or promote products derived
+   from this software without specific prior written permission.
+
+  * Modified source versions must be plainly marked as such, and must not be
+    misrepresented as being the original software.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS''
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 =========================================================================*/
 #include "cmFindPathCommand.h"
@@ -27,6 +52,8 @@ bool cmFindPathCommand::Invoke(std::vector<std::string>& args)
 
   // Now check and see if the value has been stored in the cache
   // already, if so use that value and don't look for the program
+  std::string helpString = "What is the path where the file ";
+  helpString += args[1] + " can be found";
   const char* cacheValue
     = cmCacheManager::GetInstance()->GetCacheValue(args[0].c_str());
   if(cacheValue)
@@ -34,6 +61,10 @@ bool cmFindPathCommand::Invoke(std::vector<std::string>& args)
     if(strcmp(cacheValue, "NOTFOUND") != 0)
       {
       m_Makefile->AddDefinition(args[0].c_str(), cacheValue);
+      cmCacheManager::GetInstance()->AddCacheEntry(args[0].c_str(),
+                                                   cacheValue,
+                                                   helpString.c_str(),
+                                                   cmCacheManager::PATH);
       }
     return true;
     }
@@ -61,7 +92,7 @@ bool cmFindPathCommand::Invoke(std::vector<std::string>& args)
       m_Makefile->AddDefinition(args[0].c_str(), path[k].c_str());  
       cmCacheManager::GetInstance()->AddCacheEntry(args[0].c_str(),
                                                    path[k].c_str(),
-                                                   "Find a path.",
+                                                   helpString.c_str(),
                                                    cmCacheManager::PATH);
       return true;
       }
@@ -69,7 +100,7 @@ bool cmFindPathCommand::Invoke(std::vector<std::string>& args)
   
   cmCacheManager::GetInstance()->AddCacheEntry(args[0].c_str(),
                                                "NOTFOUND",
-                                               "Find a path.",
+                                               helpString.c_str(),
                                                cmCacheManager::PATH);
   return true;
 }