On Fri, Oct 28, 2011 at 3:54 AM, Óscar Fuentes <span dir="ltr"><<a href="mailto:ofv@wanadoo.es">ofv@wanadoo.es</a>></span> wrote:<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Anyways, if you wish to avoid duplicating info on both Makefile and<br>
CMakeLists.txt there is a simple solution: read and parse the Makefile<br>
from the corresponding CMakeLists.txt. For instance, if you put the<br>
library dependencies on the Makefile like this:<br>
<br>
LLVMLIBDEPS := foo zoo bar<br>
<br>
obtaining that info from the CMakeLists.txt and generating the cmake<br>
library dependencies is very simple, nor even you have to put anything<br>
new on all those CMakeLists.txt, just modify one of the macros that are<br>
(indirectly) called from each CMakeLists.txt.<br><br></blockquote><div><br></div><div>While eliminating duplication is one of the goals I see in this build system change, I think the more important ones are a) simplifying the build files and b) making the build faster.</div>
<div><br></div><div>Adding CMake code (I agree it's a terrible scripting language) to parse Makefiles will make the build slower and more complicated.</div><div><br></div><div>-----</div><div><br>I'm not really a stakeholder, but I agree with Chandler, it's worth investigating simplifying LLVM's CMake files before making Yet Another build system generator if you haven't already. That may not solve the problems associated with the bad XCode project generation, though.</div>
<div><br></div><div>OTOH, LLVM seems to have invented many of it's own tools (lit, tablegen, filecheck) and they seem to have worked out great. I wish our test suite for DynamoRIO had a tool as flexible as FileCheck. :(</div>
<div><br></div><div>Reid</div></div>