Commit a4bd3010 authored by Brad King's avatar Brad King
Browse files

include_directories: Fix regression in BEFORE option (#15693)

Refactoring in commit 6ed9c7e0 (cmState: Host buildsystem properties for
directories, 2015-07-18) broke include_directories(BEFORE).  Fix it and
add a test case.
parent 86bb2ce7
......@@ -1296,22 +1296,21 @@ void cmState::Directory::PrependIncludeDirectoriesEntry(
this->DirectoryState->IncludeDirectories.begin()
+ this->Snapshot_.Position->IncludeDirectoryPosition;
std::vector<std::string>::const_reverse_iterator rend =
std::vector<std::string>::reverse_iterator rend =
this->DirectoryState->IncludeDirectories.rend();
std::vector<std::string>::reverse_iterator rbegin =
cmMakeReverseIterator(entryEnd);
std::vector<std::string>::const_reverse_iterator crbegin = rbegin;
crbegin = std::find(crbegin, rend, cmPropertySentinal);
rbegin = std::find(rbegin, rend, cmPropertySentinal);
std::vector<std::string>::const_iterator entryIt = crbegin.base();
std::vector<std::string>::const_iterator entryBegin =
std::vector<std::string>::iterator entryIt = rbegin.base();
std::vector<std::string>::iterator entryBegin =
this->DirectoryState->IncludeDirectories.begin();
std::vector<cmListFileBacktrace>::iterator btIt =
this->DirectoryState->IncludeDirectoryBacktraces.begin()
+ std::distance(entryBegin, entryIt);
this->DirectoryState->IncludeDirectories.insert(rbegin.base(), vec);
this->DirectoryState->IncludeDirectories.insert(entryIt, vec);
this->DirectoryState->IncludeDirectoryBacktraces.insert(btIt, lfbt);
this->Snapshot_.Position->IncludeDirectoryPosition =
......
-- INCLUDE_DIRECTORIES: '[^;]*/Tests/RunCMake/include_directories/BeforeDir;[^;]*/Tests/RunCMake/include_directories/AfterDir'
include_directories(AfterDir)
include_directories(BEFORE BeforeDir)
get_property(dirs DIRECTORY PROPERTY INCLUDE_DIRECTORIES)
message(STATUS "INCLUDE_DIRECTORIES: '${dirs}'")
......@@ -5,6 +5,7 @@ set(RunCMake_TEST_OPTIONS "-DCMAKE_INSTALL_PREFIX=${RunCMake_BINARY_DIR}/NotDefa
run_cmake(NotFoundContent)
run_cmake(DebugIncludes)
run_cmake(DirectoryBefore)
run_cmake(TID-bad-target)
run_cmake(ImportedTarget)
run_cmake(CMP0021)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment