Browse Source

BUG: INCLUDE_DIRECTORIES should interpret relative path arguments with respect to the current source directory.

Brad King 19 years ago
parent
commit
21089bf93f

+ 7 - 0
Source/cmIncludeDirectoryCommand.cxx

@@ -49,6 +49,13 @@ bool cmIncludeDirectoryCommand
       }
     std::string unixPath = *i;
     cmSystemTools::ConvertToUnixSlashes(unixPath);
+    if(!cmSystemTools::FileIsFullPath(unixPath.c_str()))
+      {
+      std::string tmp = this->Makefile->GetStartDirectory();
+      tmp += "/";
+      tmp += unixPath;
+      unixPath = tmp;
+      }
     this->Makefile->AddIncludeDirectory(unixPath.c_str(), before);
     }
   return true;

+ 1 - 1
Tests/Complex/CMakeLists.txt

@@ -92,7 +92,7 @@ ENDIF(${fooCACHE_TEST_VAR2} MATCHES bar)
 # (BEFORE is for coverage)
 #
 INCLUDE_DIRECTORIES(
-  ${Complex_SOURCE_DIR}/Library
+  Library
   ${Complex_SOURCE_DIR}/../../Source
   ${Complex_BINARY_DIR}/../../Source
 )

+ 1 - 1
Tests/ComplexOneConfig/CMakeLists.txt

@@ -92,7 +92,7 @@ ENDIF(${fooCACHE_TEST_VAR2} MATCHES bar)
 # (BEFORE is for coverage)
 #
 INCLUDE_DIRECTORIES(
-  ${Complex_SOURCE_DIR}/Library
+  Library
   ${Complex_SOURCE_DIR}/../../Source
   ${Complex_BINARY_DIR}/../../Source
 )

+ 1 - 1
Tests/ComplexRelativePaths/CMakeLists.txt

@@ -92,7 +92,7 @@ ENDIF(${fooCACHE_TEST_VAR2} MATCHES bar)
 # (BEFORE is for coverage)
 #
 INCLUDE_DIRECTORIES(
-  ${Complex_SOURCE_DIR}/Library
+  Library
   ${Complex_SOURCE_DIR}/../../Source
   ${Complex_BINARY_DIR}/../../Source
 )