[cmake-developers] fphsa capitalization

Alan W. Irwin irwin at beluga.phys.uvic.ca
Tue Aug 10 20:53:40 EDT 2010


On 2010-08-10 23:14+0200 Alexander Neundorf wrote:

> On Tuesday 10 August 2010, Brad King wrote:
>> On 08/07/2010 05:25 PM, Alexander Neundorf wrote:
>>> diff --git a/Modules/FindSubversion.cmake b/Modules/FindSubversion.cmake
>>> index 58a179d..30220d1 100644
>>> --- a/Modules/FindSubversion.cmake
>>> +++ b/Modules/FindSubversion.cmake
>>> @@ -2,7 +2,12 @@
>>>  # The module defines the following variables:
>>>  #  Subversion_SVN_EXECUTABLE - path to svn command line client
>>>  #  Subversion_VERSION_SVN - version of svn command line client
>>> -#  Subversion_FOUND - true if the command line client was found
>>> +#  SUBVERSION_FOUND - true if the command line client was found
>>> +#  Subversion_FOUND - same as SUBVERSION_FOUND, kept around for
>>> compatibility
>>
>> IMO the preferred capitalization is "Subversion_FOUND".
>> All the other variables use that.  IIRC your standard
>> macro set the value with upper-case because that was
>> what many packages did at the time.
>
> I think it is still true for most find-modules, I think there are only a few
> exceptions, mostly Boost and Subversion.
> Checking... ok, also PostgreSQL, LibArchive (they are both new, right ?),
> ImageMagick and Java set the exact-case _FOUND variables.
> All others (more then 100 ?) use the UPPERCASE_FOUND.
>
> No matter which version I personally like better, I really do think that the
> big majority uses UPPERCASE_CASE found, and now declaring that
> ExactCase_FOUND is the standard would be wrong.

I think the problem is your current standard is ambiguous.
Modules/readme.txt says prefix every variable with XXX, where
the Find module name is FindXXX.cmake.  That could be taken to
imply the name is uppercased or not.  (It would be clearly uppercase
if the document referred to Findxxx.cmake, but it doesn't.)

As a developer of build systems that are based on CMake, I don't care
what standard you follow so long as it is not ambiguous like the
present standard in readme.txt AND enforced (with appropriate test
scripts) in all the Find modules distributed with CMake.  So _please_
deal with this issue.  (Of course, you will have to set non-standard
versions of variables for some modules to keep backwards
compatibility).

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-developers mailing list