[cmake-commits] king committed cmLocalGenerator.cxx 1.152 1.153 cmLocalGenerator.h 1.65 1.66 cmLocalUnixMakefileGenerator3.cxx 1.176 1.177

cmake-commits at cmake.org cmake-commits at cmake.org
Thu Sep 28 09:49:43 EDT 2006


Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv10677

Modified Files:
	cmLocalGenerator.cxx cmLocalGenerator.h 
	cmLocalUnixMakefileGenerator3.cxx 
Log Message:
BUG: Do not filter system directories for include file dependencies.


Index: cmLocalGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmLocalGenerator.cxx,v
retrieving revision 1.152
retrieving revision 1.153
diff -u -d -r1.152 -r1.153
--- cmLocalGenerator.cxx	27 Sep 2006 17:43:45 -0000	1.152
+++ cmLocalGenerator.cxx	28 Sep 2006 13:49:40 -0000	1.153
@@ -1096,7 +1096,8 @@
 }
 
 //----------------------------------------------------------------------------
-void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs)
+void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs,
+                                             bool filter_system_dirs)
 {
   // Need to decide whether to automatically include the source and
   // binary directories at the beginning of the include path.
@@ -1170,18 +1171,21 @@
       }
     }
 
-  // Do not explicitly add the standard include path "/usr/include".
-  // This can cause problems with certain standard library
-  // implementations because the wrong headers may be found first.
-  emitted.insert("/usr/include");
-  if(const char* implicitIncludes = this->Makefile->GetDefinition
-     ("CMAKE_PLATFORM_IMPLICIT_INCLUDE_DIRECTORIES"))
+  if(filter_system_dirs)
     {
-    std::vector<std::string> implicitIncludeVec;
-    cmSystemTools::ExpandListArgument(implicitIncludes, implicitIncludeVec);
-    for(unsigned int k = 0; k < implicitIncludeVec.size(); ++k)
+    // Do not explicitly add the standard include path "/usr/include".
+    // This can cause problems with certain standard library
+    // implementations because the wrong headers may be found first.
+    emitted.insert("/usr/include");
+    if(const char* implicitIncludes = this->Makefile->GetDefinition
+       ("CMAKE_PLATFORM_IMPLICIT_INCLUDE_DIRECTORIES"))
       {
-      emitted.insert(implicitIncludeVec[k]);
+      std::vector<std::string> implicitIncludeVec;
+      cmSystemTools::ExpandListArgument(implicitIncludes, implicitIncludeVec);
+      for(unsigned int k = 0; k < implicitIncludeVec.size(); ++k)
+        {
+        emitted.insert(implicitIncludeVec[k]);
+        }
       }
     }
 

Index: cmLocalGenerator.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmLocalGenerator.h,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -d -r1.65 -r1.66
--- cmLocalGenerator.h	27 Sep 2006 17:43:45 -0000	1.65
+++ cmLocalGenerator.h	28 Sep 2006 13:49:40 -0000	1.66
@@ -170,7 +170,8 @@
                               std::vector<cmStdString>* fullPathLibs=0);
 
   /** Get the include flags for the current makefile and language.  */
-  void GetIncludeDirectories(std::vector<std::string>& dirs);
+  void GetIncludeDirectories(std::vector<std::string>& dirs,
+                             bool filter_system_dirs = true);
 
   /** Compute the language used to compile the given source file.  */
   const char* GetSourceFileLanguage(const cmSourceFile& source);

Index: cmLocalUnixMakefileGenerator3.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmLocalUnixMakefileGenerator3.cxx,v
retrieving revision 1.176
retrieving revision 1.177
diff -u -d -r1.176 -r1.177
--- cmLocalUnixMakefileGenerator3.cxx	27 Sep 2006 17:43:45 -0000	1.176
+++ cmLocalUnixMakefileGenerator3.cxx	28 Sep 2006 13:49:40 -0000	1.177
@@ -467,7 +467,7 @@
   infoFileStream
     << "SET(CMAKE_C_INCLUDE_PATH\n";
   std::vector<std::string> includeDirs;
-  this->GetIncludeDirectories(includeDirs);
+  this->GetIncludeDirectories(includeDirs, false);
   for(std::vector<std::string>::iterator i = includeDirs.begin();
       i != includeDirs.end(); ++i)
     {



More information about the Cmake-commits mailing list