FindTCL.cmake 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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. INCLUDE(${CMAKE_ROOT}/Modules/FindTclsh.cmake)
  15. INCLUDE(${CMAKE_ROOT}/Modules/FindWish.cmake)
  16. GET_FILENAME_COMPONENT(TCL_TCLSH_PATH ${TCL_TCLSH} PATH)
  17. GET_FILENAME_COMPONENT(TK_WISH_PATH ${TK_WISH} PATH)
  18. FIND_LIBRARY(TCL_LIBRARY
  19. NAMES tcl tcl84 tcl8.4 tcl83 tcl8.3 tcl82 tcl8.2 tcl80 tcl8.0
  20. PATHS
  21. /usr/lib
  22. /usr/local/lib
  23. "C:/Program Files/Tcl/lib"
  24. "C:/Tcl/lib"
  25. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/lib
  26. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/lib
  27. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib
  28. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib
  29. "${TCL_TCLSH_PATH}/../lib"
  30. "${TK_WISH_PATH}/../lib"
  31. )
  32. FIND_LIBRARY(TK_LIBRARY
  33. NAMES tk tk84 tk8.4 tk83 tk8.3 tk82 tk8.2 tk80 tk8.0
  34. PATHS
  35. /usr/lib
  36. /usr/local/lib
  37. "C:/Program Files/Tcl/lib"
  38. "C:/Tcl/lib"
  39. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/lib
  40. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/lib
  41. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib
  42. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib
  43. "${TCL_TCLSH_PATH}/../lib"
  44. "${TK_WISH_PATH}/../lib"
  45. )
  46. FIND_PATH(TCL_INCLUDE_PATH tcl.h
  47. /usr/include
  48. /usr/local/include
  49. /usr/include/tcl8.2
  50. /usr/include/tcl8.3
  51. "C:/Program Files/Tcl/include"
  52. "C:/Tcl/include"
  53. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include
  54. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include
  55. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include
  56. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include
  57. "${TCL_TCLSH_PATH}/../include"
  58. "${TK_WISH_PATH}/../include"
  59. )
  60. FIND_PATH(TK_INCLUDE_PATH tk.h
  61. /usr/include
  62. /usr/local/include
  63. /usr/include/tcl8.2
  64. /usr/include/tcl8.3
  65. "C:/Program Files/Tcl/include"
  66. "C:/Tcl/include"
  67. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include
  68. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include
  69. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include
  70. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include
  71. "${TCL_TCLSH_PATH}/../include"
  72. "${TK_WISH_PATH}/../include"
  73. )
  74. IF (WIN32)
  75. FIND_PATH(TK_INTERNAL_PATH tkWinInt.h
  76. /usr/include
  77. /usr/local/include
  78. "C:/Program Files/Tcl/include"
  79. "C:/Tcl/include"
  80. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include
  81. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include
  82. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include
  83. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include
  84. "${TCL_TCLSH_PATH}/../include"
  85. "${TK_WISH_PATH}/../include"
  86. )
  87. MARK_AS_ADVANCED(TK_INTERNAL_PATH)
  88. MARK_AS_ADVANCED(
  89. TCL_TCLSH_PATH
  90. TK_WISH_PATH
  91. TCL_INCLUDE_PATH
  92. TK_INCLUDE_PATH
  93. TCL_LIBRARY
  94. TK_LIBRARY
  95. )
  96. ENDIF(WIN32)