FindWish.cmake 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. #=============================================================================
  10. # Copyright 2001-2009 Kitware, Inc.
  11. #
  12. # Distributed under the OSI-approved BSD License (the "License");
  13. # see accompanying file Copyright.txt for details.
  14. #
  15. # This software is distributed WITHOUT ANY WARRANTY; without even the
  16. # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  17. # See the License for more information.
  18. #=============================================================================
  19. # (To distribute this file outside of CMake, substitute the full
  20. # License text for the above reference.)
  21. IF(UNIX)
  22. FIND_PROGRAM(TK_WISH cygwish80 )
  23. ENDIF(UNIX)
  24. GET_FILENAME_COMPONENT(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
  25. GET_FILENAME_COMPONENT(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
  26. STRING(REGEX REPLACE
  27. "^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
  28. GET_FILENAME_COMPONENT(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
  29. GET_FILENAME_COMPONENT(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
  30. GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
  31. GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
  32. STRING(REGEX REPLACE
  33. "^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}")
  34. GET_FILENAME_COMPONENT(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
  35. GET_FILENAME_COMPONENT(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
  36. STRING(REGEX REPLACE
  37. "^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}")
  38. SET(TCLTK_POSSIBLE_BIN_PATHS
  39. "${TCL_INCLUDE_PATH_PARENT}/bin"
  40. "${TK_INCLUDE_PATH_PARENT}/bin"
  41. "${TCL_LIBRARY_PATH_PARENT}/bin"
  42. "${TK_LIBRARY_PATH_PARENT}/bin"
  43. "${TCL_TCLSH_PATH_PARENT}/bin"
  44. )
  45. IF(WIN32)
  46. GET_FILENAME_COMPONENT(
  47. ActiveTcl_CurrentVersion
  48. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
  49. NAME)
  50. SET(TCLTK_POSSIBLE_BIN_PATHS ${TCLTK_POSSIBLE_BIN_PATHS}
  51. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/bin"
  52. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/bin"
  53. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/bin"
  54. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/bin"
  55. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/bin"
  56. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/bin"
  57. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/bin"
  58. )
  59. ENDIF(WIN32)
  60. SET(TK_WISH_NAMES
  61. wish
  62. wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} wish${TCL_TCLSH_VERSION}
  63. wish86 wish8.6
  64. wish85 wish8.5
  65. wish84 wish8.4
  66. wish83 wish8.3
  67. wish82 wish8.2
  68. wish80 wish8.0
  69. )
  70. FIND_PROGRAM(TK_WISH
  71. NAMES ${TK_WISH_NAMES}
  72. HINTS ${TCLTK_POSSIBLE_BIN_PATHS}
  73. )
  74. MARK_AS_ADVANCED(TK_WISH)