FindTCL.cmake 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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. "C:/Program Files/Tcl/include"
  50. "C:/Tcl/include"
  51. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include
  52. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include
  53. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include
  54. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include
  55. "${TCL_TCLSH_PATH}/../include"
  56. "${TK_WISH_PATH}/../include"
  57. )
  58. FIND_PATH(TK_INCLUDE_PATH tk.h
  59. /usr/include
  60. /usr/local/include
  61. "C:/Program Files/Tcl/include"
  62. "C:/Tcl/include"
  63. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include
  64. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include
  65. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include
  66. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include
  67. "${TCL_TCLSH_PATH}/../include"
  68. "${TK_WISH_PATH}/../include"
  69. )
  70. IF (WIN32)
  71. FIND_PATH(TK_INTERNAL_PATH tkWinInt.h
  72. /usr/include
  73. /usr/local/include
  74. "C:/Program Files/Tcl/include"
  75. "C:/Tcl/include"
  76. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include
  77. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include
  78. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include
  79. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include
  80. "${TCL_TCLSH_PATH}/../include"
  81. "${TK_WISH_PATH}/../include"
  82. )
  83. MARK_AS_ADVANCED(TK_INTERNAL_PATH)
  84. MARK_AS_ADVANCED(
  85. TCL_TCLSH_PATH
  86. TK_WISH_PATH
  87. TCL_INCLUDE_PATH
  88. TK_INCLUDE_PATH
  89. TCL_LIBRARY
  90. TK_LIBRARY
  91. )
  92. ENDIF(WIN32)