
On Wed, Mar 30, 2011 at 9:23 AM, Mathias Gaunard <mathias.gaunard@ens-lyon.org> wrote:
Just a quick word to say that after I've done a lot of work with CMake, some non-trivial, I've come to fully agree with you.
Setting up a single configuration in an outside directory with CMake and building it there makes things much simpler than the Boost.Build paradigm of building everything at once whenever you want to write simple code and let the user configure it to get what he wants. It's simply less overwhelming to only have to consider one process at a time. The separation between procedural code executed by cmake at configure time and the resolving of targets with dependencies by make at build time is also a great plus: that allows to have easy scripting within the CMakeLists.txt themselves.
I'm actually quite looking forwarding to seeing the scripting capabilities of Boost.Build with the Python rewrite.
What I'm still missing from CMake is the many high-level and high-portability features of Boost.Build. With CMake I often find myself writing my own modules to portably enable some flags etc.
CMake is too flexible. You can do a lot inside CMakelists itself but due to that CMake itself can't be improved easily. IMO the simple case should be simple and 90% of the apps should be buildable with the simple case. -- Olaf