[CMake] --enable-* with cmake
Bill Hoffman
bill.hoffman at kitware.com
Fri Aug 10 09:15:14 EDT 2007
..... (lots of stuff).....
Since CMake is a language that is parsed when cmake is run, there is no
way to present the user
with all possible options until you run cmake. Options can be included
inside an if statement.
This is actually a good thing. For example, if the user enables
VTK_PARALLEL, then and
only then are they presented with the options for finding MPI. This
avoids presenting all
options as a configure --help might do. Even if those options depend on
each other.
There are two levels of options advanced and non-advanced.
It is best to only have a few options as non-advanced. Used correctly,
this
can avoid giving a user too many options up front.
The process for configuring a cmake project has to be iterative because
options can
be nested inside if statements. ccmake, cmake -i and CMakeSetup all do
the following:
1. Configure
2. Write CMakeCache.txt
3. Did the CMakeCache.txt change ? Yes-> Go back to 1
4. Allow the user to generate the project files.
Given this, it will be impossible for a cmake project to ever
automatically have
cmake --help.
-Bill
More information about the CMake
mailing list