Explorar o código

BUG: Need to collapse path argument to get_directory_property. This addresses bug#3847.

Brad King %!s(int64=19) %!d(string=hai) anos
pai
achega
30235517f8

+ 4 - 0
Source/cmGetDirectoryPropertyCommand.cxx

@@ -53,6 +53,10 @@ bool cmGetDirectoryPropertyCommand::InitialPass(
       sd += "/";
       sd += "/";
       sd += *i;
       sd += *i;
       }
       }
+
+    // The local generators are associated with collapsed paths.
+    sd = cmSystemTools::CollapseFullPath(sd.c_str());
+
     // lookup the makefile from the directory name
     // lookup the makefile from the directory name
     cmLocalGenerator *lg = 
     cmLocalGenerator *lg = 
       this->Makefile->GetLocalGenerator()->GetGlobalGenerator()->
       this->Makefile->GetLocalGenerator()->GetGlobalGenerator()->

+ 4 - 0
Tests/OutOfSource/CMakeLists.txt

@@ -4,6 +4,10 @@ project (OutOfSource)
 add_subdirectory(SubDir)
 add_subdirectory(SubDir)
 
 
 get_directory_property(ANIMAL DIRECTORY OutOfSourceSubdir DEFINITION WEASELS)
 get_directory_property(ANIMAL DIRECTORY OutOfSourceSubdir DEFINITION WEASELS)
+get_directory_property(ANIMALREL DIRECTORY SubDir/../OutOfSourceSubdir DEFINITION WEASELS)
+IF(NOT "${ANIMAL}" STREQUAL "${ANIMALREL}")
+  MESSAGE(FATAL_ERROR "GET_DIRECTORY_PROPERTY does not seem to collapse paths.")
+ENDIF(NOT "${ANIMAL}" STREQUAL "${ANIMALREL}")
 
 
 configure_file(
 configure_file(
   ${OutOfSource_SOURCE_DIR}/testdp.h.in
   ${OutOfSource_SOURCE_DIR}/testdp.h.in