(0035153)
|
David Cole
|
2014-02-19 11:54
(edited on: 2014-02-19 12:06) |
|
Here is the git commit id that eliminated the "on input" INCLUDE_DIRECTORIES
de-duplication: 8adaee2b
It was a long and bloody battle as I recall, which we thought we won in the
end, with pure valor and dogged determination... But alas, now we use 14G of
RAM sometimes, and hang our heads in shame, as we thrash about, accumulating
the same string over and over and over again.
It all started here: edd53039 (Dec. 4, 2011) and was finally "done enough" to
be merged here: 8233636d (Feb. 22, 2012) (merged to a ninja-related
topic in bada88e8 (also Feb. 22, 2012), and then merged to master in
572994bd (Mar. 19, 2012))
Here are the commits of the topic that introduced the postponed
de-duplication:
gitk edd53039^..8233636d& # run this to view in a cmake git clone
https://github.com/Kitware/CMake/compare/edd53039%5E...8233636d [^]
( %5E is the URL encoding of "^" )
The 4th of 11 commits, 8adaee2b, "CMake: Eliminate
cmMakefile::IncludeDirectories" is the main culprit.
https://github.com/Kitware/CMake/commit/8adaee2b [^]
Specifically, this chunk:
https://github.com/Kitware/CMake/commit/8adaee2b#diff-bd9d4738a0e1e083076cdd95648333b4L1614 [^]
These are the commits of the ninja topic branch that the above branch was
merged into, before merging to master:
gitk edd53039...bada88e8 9987d952...572994bd&
https://github.com/Kitware/CMake/compare/9987d952...572994bd [^]
I have not had time (sorry) to dig into the code to try to *solve* the
problem yet, ... but I thought I would share these links and this info here
in case somebody else out there does have time to look into it further.
It's since been complicated by the fact that you can put generator
expressions into the property value now. It's not clear to me that
eliminating a duplicate with a generator expression in it is valid: may
they evaluate differently in different contexts?
Hope this helps at least put us a step closer to finding a solution.
|
|