[CMake] Current documentation and module standards
Hendrik Sattler
post at hendrik-sattler.de
Wed Jul 25 09:43:34 EDT 2007
Hi,
Reading through the updated
http://www.cmake.org/HTML/Documentation.html, there are several
problems:
1.
UsePkgConfig is not marked deprecated. One may get the idea that both
FindPkgConfig and UsePkgConfig are needed.
2.
There are several FindSDL_* modules vs. one FindQt4 and one
FindwxWindows (that should be renamed to FindwxWidgets, btw) that both
use *_USE_* variable for additional stuff.
3.
What is the FindJava about? Looking at the PROJECT call, there seems
to be native Java support, so FindJava is for what?
4.
Variables are _INCLUDE_DIR for one module (e.g. FindJPEG) and
_INCLUDE_PATH for another (e.g. FindJNI). That should be standardized
to one or the other. Maybe define both where compatibility is needed
but only document the fixed one.
5.
What is the difference between OPTION (VARX "some text") and the
setting a boolean cache variable that can be changed by the user?
6.
For FIND_PACKAGE, major.minor is undocumented.
CMake is definitely missing some interface standards enforcement. At
least the standards that are shipped with CMake should have such a
standard.
I also noted some strange things on other pages.
http://www.cmake.org/HTML/WritingCMakeLists.html:
- It states inclusion with "INCLUDE
(${CMAKE_ROOT}/Modules/FindTCL.cmake)" instead of using "FIND_PACKAGE
( TCL )".
- The second last line on that page suggests usage of SUBDIRS although
the documentation says to use ADD_SUBDIRECTORY instead.
http://www.cmake.org/HTML/RunningCMake.html:
- That first screenshot is really old. It should be updated. The text
above that should be updated, too, as there are currently much more
generators available.
http://www.cmake.org/HTML/Install.html:
- Somehow, the combination of MSYS+mingw32 is always forgotten as a
valid alternative to cygwin. With this combination, you can also build
cmake from CVS (although running bootstrap did not build the
CMakeSetup.exe or maybe I did something wrong).
HS
More information about the CMake
mailing list