Browse Source

Introduce a cmLocalGenerator::ConvertToIncludeReference function

This provides a mechanism for the local generator to override how
header search paths are generated.
Peter Collingbourne 14 years ago
parent
commit
5b114c9bee
2 changed files with 11 additions and 2 deletions
  1. 8 1
      Source/cmLocalGenerator.cxx
  2. 3 1
      Source/cmLocalGenerator.h

+ 8 - 1
Source/cmLocalGenerator.cxx

@@ -1184,6 +1184,13 @@ cmLocalGenerator::ConvertToOutputForExisting(RelativeRoot remote,
   return this->ConvertToOutputForExistingCommon(remotePath, result);
 }
 
+//----------------------------------------------------------------------------
+std::string
+cmLocalGenerator::ConvertToIncludeReference(std::string const& path)
+{
+  return this->ConvertToOutputForExisting(path.c_str());
+}
+
 //----------------------------------------------------------------------------
 const char* cmLocalGenerator::GetIncludeFlags(const char* lang,
                                               bool forResponseFile)
@@ -1285,7 +1292,7 @@ const char* cmLocalGenerator::GetIncludeFlags(const char* lang,
       }
     else
       {
-      includePath = this->ConvertToOutputForExisting(i->c_str());
+      includePath = this->ConvertToIncludeReference(*i);
       }
     if(quotePaths && includePath.size() && includePath[0] != '\"')
       {

+ 3 - 1
Source/cmLocalGenerator.h

@@ -179,7 +179,9 @@ public:
       path and short path if spaces.  */
   std::string ConvertToOutputForExisting(RelativeRoot remote,
                                          const char* local = 0);
-  
+
+  virtual std::string ConvertToIncludeReference(std::string const& path);
+
   /** Called from command-line hook to clear dependencies.  */
   virtual void ClearDependencies(cmMakefile* /* mf */, 
                                  bool /* verbose */) {}