From: Bill Hoffman (bill.hoffman_at_[hidden])
Date: 2007-05-10 08:38:20
David Abrahams wrote:
> on Wed May 09 2007, Bill Hoffman <bill.hoffman-AT-kitware.com> wrote:
> Really? That surprises me.
> Do the files generated by CMake encode specifics about the user's
> toolset locations and other things specific to the machine on which
> the builds are being performed?
For Makefiles, Cmake puts in rules to run itself to generate depend
information. For all
generators CMake puts in rules so that CMake will be re-run if one of
its input files
changes. Also, many shell like commands that are useful during the
build process are provided
by cmake. The install process is done by cmake. Basically, to be cross
platform, you have
to provide a bunch of functionality that is not provided by all
platforms. In addition, CMake
performs system introspection and finds installed libraries and header
file locations for various
packages, and that information is obviously not portable from machine to
It would be a much less full featured build set if you generated
"movable" build files. However,
CMake only requires a C++ compiler to build. So, if you are building a
c++ project like Boost, then
the native compiler and its tool chain are all that you need to build
CMake. So, CMake does
not require the user to install any thing beyond what they already have
and the source to CMake.
We do of course provide binaries for all major platforms.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk