|
@@ -909,7 +909,7 @@ void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Get the target-specific include directories.
|
|
// Get the target-specific include directories.
|
|
|
- std::vector<std::string> includes =
|
|
|
|
|
|
|
+ std::vector<std::string> userDirs =
|
|
|
target->GetIncludeDirectories(config, lang);
|
|
target->GetIncludeDirectories(config, lang);
|
|
|
|
|
|
|
|
// Support putting all the in-project include directories first if
|
|
// Support putting all the in-project include directories first if
|
|
@@ -917,7 +917,7 @@ void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs,
|
|
|
if (this->Makefile->IsOn("CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE")) {
|
|
if (this->Makefile->IsOn("CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE")) {
|
|
|
std::string const &topSourceDir = this->GetState()->GetSourceDirectory(),
|
|
std::string const &topSourceDir = this->GetState()->GetSourceDirectory(),
|
|
|
&topBinaryDir = this->GetState()->GetBinaryDirectory();
|
|
&topBinaryDir = this->GetState()->GetBinaryDirectory();
|
|
|
- for (std::string const& i : includes) {
|
|
|
|
|
|
|
+ for (std::string const& i : userDirs) {
|
|
|
// Emit this directory only if it is a subdirectory of the
|
|
// Emit this directory only if it is a subdirectory of the
|
|
|
// top-level source or binary tree.
|
|
// top-level source or binary tree.
|
|
|
if (cmSystemTools::ComparePath(i, topSourceDir) ||
|
|
if (cmSystemTools::ComparePath(i, topSourceDir) ||
|
|
@@ -932,7 +932,7 @@ void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Construct the final ordered include directory list.
|
|
// Construct the final ordered include directory list.
|
|
|
- for (std::string const& i : includes) {
|
|
|
|
|
|
|
+ for (std::string const& i : userDirs) {
|
|
|
if (emitted.insert(i).second) {
|
|
if (emitted.insert(i).second) {
|
|
|
dirs.push_back(i);
|
|
dirs.push_back(i);
|
|
|
}
|
|
}
|
|
@@ -942,16 +942,16 @@ void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs,
|
|
|
|
|
|
|
|
// Add standard include directories for this language.
|
|
// Add standard include directories for this language.
|
|
|
{
|
|
{
|
|
|
- std::vector<std::string>::size_type const before = includes.size();
|
|
|
|
|
|
|
+ std::vector<std::string>::size_type const before = userDirs.size();
|
|
|
{
|
|
{
|
|
|
std::string key = "CMAKE_";
|
|
std::string key = "CMAKE_";
|
|
|
key += lang;
|
|
key += lang;
|
|
|
key += "_STANDARD_INCLUDE_DIRECTORIES";
|
|
key += "_STANDARD_INCLUDE_DIRECTORIES";
|
|
|
std::string const value = this->Makefile->GetSafeDefinition(key);
|
|
std::string const value = this->Makefile->GetSafeDefinition(key);
|
|
|
- cmSystemTools::ExpandListArgument(value, includes);
|
|
|
|
|
|
|
+ cmSystemTools::ExpandListArgument(value, userDirs);
|
|
|
}
|
|
}
|
|
|
- for (std::vector<std::string>::iterator i = includes.begin() + before,
|
|
|
|
|
- ie = includes.end();
|
|
|
|
|
|
|
+ for (std::vector<std::string>::iterator i = userDirs.begin() + before,
|
|
|
|
|
+ ie = userDirs.end();
|
|
|
i != ie; ++i) {
|
|
i != ie; ++i) {
|
|
|
cmSystemTools::ConvertToUnixSlashes(*i);
|
|
cmSystemTools::ConvertToUnixSlashes(*i);
|
|
|
dirs.push_back(*i);
|
|
dirs.push_back(*i);
|
|
@@ -959,7 +959,7 @@ void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
for (std::string const& i : implicitDirs) {
|
|
for (std::string const& i : implicitDirs) {
|
|
|
- if (std::find(includes.begin(), includes.end(), i) != includes.end()) {
|
|
|
|
|
|
|
+ if (std::find(userDirs.begin(), userDirs.end(), i) != userDirs.end()) {
|
|
|
dirs.push_back(i);
|
|
dirs.push_back(i);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|