diff options
Diffstat (limited to 'Modules/FindWish.cmake')
-rw-r--r-- | Modules/FindWish.cmake | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/Modules/FindWish.cmake b/Modules/FindWish.cmake new file mode 100644 index 000000000..a4960cd17 --- /dev/null +++ b/Modules/FindWish.cmake @@ -0,0 +1,85 @@ +# - Find wish installation +# This module finds if TCL is installed and determines where the +# include files and libraries are. It also determines what the name of +# the library is. This code sets the following variables: +# +# TK_WISH = the path to the wish executable +# +# if UNIX is defined, then it will look for the cygwin version first + +#============================================================================= +# Copyright 2001-2009 Kitware, Inc. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distribute this file outside of CMake, substitute the full +# License text for the above reference.) + +IF(UNIX) + FIND_PROGRAM(TK_WISH cygwish80 ) +ENDIF(UNIX) + +GET_FILENAME_COMPONENT(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH) +GET_FILENAME_COMPONENT(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH) +STRING(REGEX REPLACE + "^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}") + +GET_FILENAME_COMPONENT(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH) +GET_FILENAME_COMPONENT(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH) + +GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH) +GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH) +STRING(REGEX REPLACE + "^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}") + +GET_FILENAME_COMPONENT(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH) +GET_FILENAME_COMPONENT(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH) +STRING(REGEX REPLACE + "^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}") + +SET(TCLTK_POSSIBLE_BIN_PATHS + "${TCL_INCLUDE_PATH_PARENT}/bin" + "${TK_INCLUDE_PATH_PARENT}/bin" + "${TCL_LIBRARY_PATH_PARENT}/bin" + "${TK_LIBRARY_PATH_PARENT}/bin" + "${TCL_TCLSH_PATH_PARENT}/bin" + ) + +IF(WIN32) + GET_FILENAME_COMPONENT( + ActiveTcl_CurrentVersion + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]" + NAME) + SET(TCLTK_POSSIBLE_BIN_PATHS ${TCLTK_POSSIBLE_BIN_PATHS} + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/bin" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/bin" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/bin" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/bin" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/bin" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/bin" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/bin" + ) +ENDIF(WIN32) + +SET(TK_WISH_NAMES + wish + wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} wish${TCL_TCLSH_VERSION} + wish86 wish8.6 + wish85 wish8.5 + wish84 wish8.4 + wish83 wish8.3 + wish82 wish8.2 + wish80 wish8.0 + ) + +FIND_PROGRAM(TK_WISH + NAMES ${TK_WISH_NAMES} + HINTS ${TCLTK_POSSIBLE_BIN_PATHS} + ) + +MARK_AS_ADVANCED(TK_WISH) |