diff --git a/Source/cmGetDirectoryPropertyCommand.cxx b/Source/cmGetDirectoryPropertyCommand.cxx index 8d08c6b8e..278e2aef6 100644 --- a/Source/cmGetDirectoryPropertyCommand.cxx +++ b/Source/cmGetDirectoryPropertyCommand.cxx @@ -53,6 +53,10 @@ bool cmGetDirectoryPropertyCommand::InitialPass( sd += "/"; sd += *i; } + + // The local generators are associated with collapsed paths. + sd = cmSystemTools::CollapseFullPath(sd.c_str()); + // lookup the makefile from the directory name cmLocalGenerator *lg = this->Makefile->GetLocalGenerator()->GetGlobalGenerator()-> diff --git a/Tests/OutOfSource/CMakeLists.txt b/Tests/OutOfSource/CMakeLists.txt index a053f1401..265d47deb 100644 --- a/Tests/OutOfSource/CMakeLists.txt +++ b/Tests/OutOfSource/CMakeLists.txt @@ -4,6 +4,10 @@ project (OutOfSource) add_subdirectory(SubDir) 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( ${OutOfSource_SOURCE_DIR}/testdp.h.in