[CMake] FindTCL.cmake has a problem?

Michael Hertling mhertling at online.de
Fri Feb 4 09:20:37 EST 2011


On 02/03/2011 04:10 PM, kent williams wrote:
> Unfortunately, I can't provide this because we had to get the builds
> running, and installed the proper packages.  But I don't think I was
> imagining things.

Far be it from me to impute this, but your report contains fairly
little information to investigate this issue. The reasons for my
remarks/questions are:

- Sometimes, distributions tend to "fix" packages, so it would be of
  interest if your FindTCL.cmake is identical with the official one.
- The results you've reported could be obtained by a manipulation of
  the cache, e.g. if somebody who knows that the headers are absent
  configures with "cmake -DTCL_INCLUDE_PATH=TRUE <srcdir>" and does
  "cmake -DTCL_INCLUDE_PATH=TCL_INCLUDE_PATH-NOTFOUND ." afterwards.
  So, it would be of interest which output/result is generated by a
  FIND_PACKAGE(TCL) being run from within a clean environment/cache.
- FIND_PACKAGE_HANDLE_STANDARD_ARGS() has undergone a major overhaul
  recently, so it would be of interest whether you are using the new
  version because your issue possibly reveals a regression, although
  I don't think so.

IMO, you are absolutely right when saying that TCL_FOUND==TRUE with
TCL_INCLUDE_PATH==FALSE certainly means some trouble, so this issue
should be worth to take a closer look at.

Regards,

Michael

> On Wed, Feb 2, 2011 at 6:57 AM, Michael Hertling <mhertling at online.de> wrote:
>> On 01/31/2011 05:26 PM, kent williams wrote:
>>> I found this out on a RHEL6 machine, which comes stock with tclsh and
>>> wish but without the C header files for development.
>>>
>>> FindTCL.cmake  sets TCL_FOUND, even though
>>> TCL_INCLUDE_PATH:PATH=TCL_INCLUDE_PATH-NOTFOUND
>>>
>>> Imagine the hilarity that ensues!
>>
>> The FindTCL module from CMake 2.8.3 contains the line
>>
>>>> FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCL DEFAULT_MSG TCL_LIBRARY TCL_INCLUDE_PATH)
>>
>> so TCL_FOUND shouldn't come out as TRUE if TCL_INCLUDE_PATH isn't TRUE
>> also. Is the questionable FindTCL module the same as the official one?
>> Could you provide the complete output of a FIND_PACKAGE(TCL) resulting
>> in TCL_FOUND==TRUE and TCL_INCLUDE_PATH==FALSE from a clean build?
>>
>> Regards,
>>
>> Michael


More information about the CMake mailing list