FindTCL.cmake 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/lib
  25. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/lib
  26. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib
  27. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib
  28. "${TCL_TCLSH_PATH}/../lib"
  29. "${TK_WISH_PATH}/../lib"
  30. )
  31. FIND_LIBRARY(TK_LIBRARY
  32. NAMES tk tk84 tk8.4 tk83 tk8.3 tk82 tk8.2 tk80 tk8.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_PATH(TCL_INCLUDE_PATH tcl.h
  45. /usr/include
  46. /usr/local/include
  47. "C:/Program Files/Tcl/include"
  48. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include
  49. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include
  50. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include
  51. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include
  52. "${TCL_TCLSH_PATH}/../include"
  53. "${TK_WISH_PATH}/../include"
  54. )
  55. FIND_PATH(TK_INCLUDE_PATH tk.h
  56. /usr/include
  57. /usr/local/include
  58. "C:/Program Files/Tcl/include"
  59. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include
  60. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include
  61. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include
  62. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include
  63. "${TCL_TCLSH_PATH}/../include"
  64. "${TK_WISH_PATH}/../include"
  65. )
  66. IF (WIN32)
  67. FIND_PATH(TK_INTERNAL_PATH tkWinInt.h
  68. /usr/include
  69. /usr/local/include
  70. "C:/Program Files/Tcl/include"
  71. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include
  72. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include
  73. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include
  74. [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include
  75. "${TCL_TCLSH_PATH}/../include"
  76. "${TK_WISH_PATH}/../include"
  77. )
  78. MARK_AS_ADVANCED(TK_INTERNAL_PATH)
  79. MARK_AS_ADVANCED(
  80. TCL_TCLSH
  81. TCL_TCLSH_PATH
  82. TK_WISH
  83. TK_WISH_PATH
  84. TCL_INCLUDE_PATH
  85. TK_INCLUDE_PATH
  86. TCL_LIBRARY
  87. TK_LIBRARY
  88. )
  89. ENDIF(WIN32)