[CMake] cmake-gui leaves CMAKE_<language>_COMPILER_WORKS undefined for simple test case and CMake-2.6.4

Alan W. Irwin irwin at beluga.phys.uvic.ca
Thu Jul 16 01:07:43 EDT 2009


On 2009-07-15 18:33-0700 Alan W. Irwin wrote:

> But then one of our developers made the mistake of trying cmake-gui which
> left CMAKE_<language>_COMPILER_WORKS undefined in all cases and which
> therefore caused many build problems.  I can hack around that cmake-gui bug
> by simply setting CMAKE_<language>_COMPILER_WORKS to ON after every
> enable_language(<language> OPTIONAL) call (i.e., take advantage of the
> erroring out so assume everything is fine if it returns at all), but this
> workaround on top of a workaround is just getting ridiculous!

It turns out that suggested workaround for the cmake-gui issue with the
OPTIONAL workaround doesn't work for PLplot.  For example, cmake-gui leaves
the essential fortran variable, CMAKE_Fortran_COMPILER_SUPPORTS_F90,
undefined as well as CMAKE_Fortran_COMPILER_WORKS.  That's just one example,
of an essential undefined language variable with cmake-gui and I suspect
there are others for other languages. Thus, I currently have the choice of
telling PLplot users to not use cmake-gui or change our build system to give
users a hard landing if they have any (!) of Ada, C++, D, Fortran, or Java
development environment missing.

That's a pretty ugly choice so timely help would be much appreciated with
http://public.kitware.com/Bug/view.php?id=9220 to insure the fix gets into
cmake-2.6.5 so the OPTIONAL signature of enable_language "just works" for C,
C++, Fortran, and Java. (I can follow along with similar changes for Ada and
D [additional languages which I support locally as part of PLplot] once the
CMake C++ source code itself for the OPTIONAL signature of enable_language
sets a global CMake variable that can be used to bypass MESSAGE(FATAL_ERROR
...) in the current CMake language support scripts.)

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________


More information about the CMake mailing list