<div class="gmail_quote">On Fri, Sep 3, 2010 at 1:35 AM, Chiheng Xu <span dir="ltr"><<a href="mailto:chiheng.xu@gmail.com">chiheng.xu@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Perhaps, CMake can parse CMakeLists.txt, and directly run<br>
comands(compiler, etc) to build, without gererating Makefile,<br>
invoking make, invoking shells.<br></blockquote><div><br>Three answers, just off the top of my head:<br><br>1. Why re-invent the wheel? Make already does a lot of things quite well. CMake builds on that.<br><br>2. Remember that CMake doesn't only work with Make. It can generate Visual Studio projects and drive several other build systems. CMake isn't a build system itself; it's meant to provide a common mechanism to abstract code organization away from the underlying build system.<br>
<br>3. There's a lot of things CMakeLists might do that aren't directly build-related, such as creating test configurations and identifying platform-specific dependencies. There's no need to go through all those steps every time you just want to compile your latest change; it makes sense to have a separate configuration step for those.<br>
<br>There have been several other projects which attempted to be a "better Make" which is effectively what you're describing. There's nothing wrong with that, but that isn't what CMake does. If that's what you want in a tool, then I think you'll be happier finding a tool with that goal - always pick the right tool for the job at hand!<br>
<br>Ceej<br>aka Chris Hillery<br></div></div>