summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.cxx
diff options
context:
space:
mode:
authorSebastien Barre <sebastien.barre@kitware.com>2001-11-03 03:32:39 (GMT)
committerSebastien Barre <sebastien.barre@kitware.com>2001-11-03 03:32:39 (GMT)
commitef74458b34dcf2d25b3948c535d59273c2307546 (patch)
tree3bc5ea621a5d171395e19666ae8515109bd95e79 /Source/cmMakefile.cxx
parent2fcf59b96b6ac41a1963c8b0f2b06d61c8f255a2 (diff)
downloadCMake-ef74458b34dcf2d25b3948c535d59273c2307546.zip
CMake-ef74458b34dcf2d25b3948c535d59273c2307546.tar.gz
CMake-ef74458b34dcf2d25b3948c535d59273c2307546.tar.bz2
Add optional BEFORE param to INCLUDE_DIRECTORIES so that include dirs can be specified before the actual include dirs
Diffstat (limited to 'Source/cmMakefile.cxx')
-rw-r--r--Source/cmMakefile.cxx12
1 files changed, 10 insertions, 2 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index e1c94da..8e40fbc 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -564,7 +564,7 @@ void cmMakefile::AddSubdirDependency(const char* subdir,
m_SubdirDepends[subdir].insert(dependency);
}
-void cmMakefile::AddIncludeDirectory(const char* inc)
+void cmMakefile::AddIncludeDirectory(const char* inc, bool before)
{
// Don't add an include directory that is already present. Yes,
// this linear search results in n^2 behavior, but n won't be
@@ -573,7 +573,15 @@ void cmMakefile::AddIncludeDirectory(const char* inc)
if(std::find(m_IncludeDirectories.begin(),
m_IncludeDirectories.end(), inc) == m_IncludeDirectories.end())
{
- m_IncludeDirectories.push_back(inc);
+ if (before)
+ {
+ // WARNING: this *is* expensive (linear time) since it's a vector
+ m_IncludeDirectories.insert(m_IncludeDirectories.begin(), inc);
+ }
+ else
+ {
+ m_IncludeDirectories.push_back(inc);
+ }
}
}