FindTCL.cmake 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #
  2. # This module finds if TCL is installed and determines where the
  3. # include files and libraries are. It also determines what the name of
  4. # the library is. This code sets the following variables:
  5. #
  6. # TCL_LIBRARY = the full path to the tcl library found (tcl tcl80 etc)
  7. # TCL_INCLUDE_PATH = the path to where tcl.h can be found
  8. # TCL_TCLSH = the full path to the tclsh binary (tcl tcl80 etc)
  9. # TK_LIBRARY = the full path to the tk library found (tk tk80 etc)
  10. # TK_INCLUDE_PATH = the path to where tk.h can be found
  11. # TK_INTERNAL_PATH = the path to where tkWinInt.h can be found
  12. # TK_WISH = the full path to the wish binary (wish wish80 etc)
  13. #
  14. # if unix look for the cyg version first to avoid finding it
  15. # on a windows box running only win32 builds
  16. IF(UNIX)
  17. FIND_PROGRAM(TCL_TCLSH cygtclsh80)
  18. ENDIF(UNIX)
  19. FIND_PROGRAM(TCL_TCLSH
  20. NAMES tclsh tclsh84 tclsh83 tclsh82 tclsh80 cygtclsh80
  21. )
  22. # if UNIX is defined, then look for the cygwin version first
  23. IF(UNIX)
  24. FIND_PROGRAM(TK_WISH cygwish80 )
  25. ENDIF(UNIX)
  26. FIND_PROGRAM(TK_WISH
  27. NAMES wish wish84 wish83 wish82 wish80
  28. )
  29. GET_FILENAME_COMPONENT(TCL_TCLSH_PATH ${TCL_TCLSH} PATH)
  30. GET_FILENAME_COMPONENT(TK_WISH_PATH ${TK_WISH} PATH)
  31. FIND_LIBRARY(TCL_LIBRARY
  32. NAMES tcl tcl84 tcl8.4 tcl83 tcl8.3 tcl82 tcl8.2 tcl80 tcl8.0
  33. PATHS
  34. /usr/lib
  35. /usr/local/lib
  36. "C:/Program Files/Tcl/lib"
  37. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/lib
  38. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/lib
  39. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib
  40. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib
  41. "${TCL_TCLSH_PATH}/../lib"
  42. "${TK_WISH_PATH}/../lib"
  43. )
  44. FIND_LIBRARY(TK_LIBRARY
  45. NAMES tk tk84 tk8.4 tk83 tk8.3 tk82 tk8.2 tk80 tk8.0
  46. PATHS
  47. /usr/lib
  48. /usr/local/lib
  49. "C:/Program Files/Tcl/lib"
  50. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/lib
  51. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/lib
  52. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib
  53. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib
  54. "${TCL_TCLSH_PATH}/../lib"
  55. "${TK_WISH_PATH}/../lib"
  56. )
  57. FIND_PATH(TCL_INCLUDE_PATH tcl.h
  58. /usr/include
  59. /usr/local/include
  60. "C:/Program Files/Tcl/include"
  61. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include
  62. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include
  63. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include
  64. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include
  65. "${TCL_TCLSH_PATH}/../include"
  66. "${TK_WISH_PATH}/../include"
  67. )
  68. FIND_PATH(TK_INCLUDE_PATH tk.h
  69. /usr/include
  70. /usr/local/include
  71. "C:/Program Files/Tcl/include"
  72. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include
  73. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include
  74. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include
  75. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include
  76. "${TCL_TCLSH_PATH}/../include"
  77. "${TK_WISH_PATH}/../include"
  78. )
  79. FIND_PATH(TK_INTERNAL_PATH tkWinInt.h
  80. /usr/include
  81. /usr/local/include
  82. "C:/Program Files/Tcl/include"
  83. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include
  84. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include
  85. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include
  86. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include
  87. "${TCL_TCLSH_PATH}/../include"
  88. "${TK_WISH_PATH}/../include"
  89. )