FindWish.cmake 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. # - Find wish installation
  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. # TK_WISH = the path to the wish executable
  7. #
  8. # if UNIX is defined, then it will look for the cygwin version first
  9. IF(UNIX)
  10. FIND_PROGRAM(TK_WISH cygwish80 )
  11. ENDIF(UNIX)
  12. GET_FILENAME_COMPONENT(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
  13. GET_FILENAME_COMPONENT(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
  14. STRING(REGEX REPLACE
  15. "^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
  16. GET_FILENAME_COMPONENT(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
  17. GET_FILENAME_COMPONENT(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
  18. GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
  19. GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
  20. STRING(REGEX REPLACE
  21. "^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}")
  22. GET_FILENAME_COMPONENT(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
  23. GET_FILENAME_COMPONENT(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
  24. STRING(REGEX REPLACE
  25. "^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}")
  26. SET(TCLTK_POSSIBLE_BIN_PATHS
  27. "${TCL_INCLUDE_PATH_PARENT}/bin"
  28. "${TK_INCLUDE_PATH_PARENT}/bin"
  29. "${TCL_LIBRARY_PATH_PARENT}/bin"
  30. "${TK_LIBRARY_PATH_PARENT}/bin"
  31. "${TCL_TCLSH_PATH_PARENT}/bin"
  32. )
  33. IF(WIN32)
  34. GET_FILENAME_COMPONENT(
  35. ActiveTcl_CurrentVersion
  36. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
  37. NAME)
  38. SET(TCLTK_POSSIBLE_BIN_PATHS ${TCLTK_POSSIBLE_BIN_PATHS}
  39. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/bin"
  40. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/bin"
  41. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/bin"
  42. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/bin"
  43. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/bin"
  44. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/bin"
  45. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/bin"
  46. )
  47. ENDIF(WIN32)
  48. SET(TK_WISH_NAMES
  49. wish
  50. wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} wish${TCL_TCLSH_VERSION}
  51. wish86 wish8.6
  52. wish85 wish8.5
  53. wish84 wish8.4
  54. wish83 wish8.3
  55. wish82 wish8.2
  56. wish80 wish8.0
  57. )
  58. FIND_PROGRAM(TK_WISH
  59. NAMES ${TK_WISH_NAMES}
  60. PATHS ${TCLTK_POSSIBLE_BIN_PATHS} NO_DEFAULT_PATH
  61. )
  62. FIND_PROGRAM(TK_WISH
  63. NAMES ${TK_WISH_NAMES}
  64. PATHS ${TCLTK_POSSIBLE_BIN_PATHS}
  65. )
  66. MARK_AS_ADVANCED(TK_WISH)