Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
CMake
CMake
Commits
4878ed3d
Commit
4878ed3d
authored
Jul 27, 2001
by
Ian Scott
Browse files
MAkefile now strips duplicate directores from the libraries and include paths
parent
6d54c3d6
Changes
2
Hide whitespace changes
Inline
Side-by-side
Source/cmMakefile.cxx
View file @
4878ed3d
...
...
@@ -408,6 +408,9 @@ void cmMakefile::FinalPass()
{
// do all the variable expansions here
this
->
ExpandVariables
();
this
->
StripDuplicateDirectories
();
// give all the commands a chance to do something
// after the file has been parsed before generation
for
(
std
::
vector
<
cmCommand
*>::
iterator
i
=
m_UsedCommands
.
begin
();
...
...
@@ -790,6 +793,29 @@ int cmMakefile::DumpDocumentationToFile(const char *fileName)
}
// Remove duplicate directories from the library and include paths.
void
cmMakefile
::
StripDuplicateDirectories
()
{
std
::
vector
<
std
::
string
>::
iterator
begin
,
end
;
// remove duplicates from m_IncludeDirectories
begin
=
m_IncludeDirectories
.
begin
();
end
=
m_IncludeDirectories
.
end
();
std
::
list
<
std
::
string
>
tmp1
(
begin
,
end
);
tmp1
.
sort
();
m_IncludeDirectories
.
clear
();
std
::
unique_copy
(
tmp1
.
begin
(),
tmp1
.
end
(),
std
::
back_inserter
(
m_IncludeDirectories
));
// remove duplicates from m_LinkDirectories
begin
=
m_LinkDirectories
.
begin
();
end
=
m_LinkDirectories
.
end
();
std
::
list
<
std
::
string
>
tmp2
(
begin
,
end
);
tmp2
.
sort
();
m_LinkDirectories
.
clear
();
std
::
unique_copy
(
tmp2
.
begin
(),
tmp2
.
end
(),
std
::
back_inserter
(
m_LinkDirectories
));
}
void
cmMakefile
::
ExpandVariablesInString
(
std
::
string
&
source
)
const
{
this
->
ExpandVariablesInString
(
source
,
false
);
...
...
Source/cmMakefile.h
View file @
4878ed3d
...
...
@@ -480,6 +480,11 @@ public:
* Expand variables in the makefiles ivars such as link directories etc
*/
void
ExpandVariables
();
/**
* Strip Duplicate directories from Library and Include paths
*/
void
cmMakefile
::
StripDuplicateDirectories
();
/** Recursivly read and create a cmMakefile object for
* all CMakeLists.txt files in the GetSubDirectories list.
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment