1# Distributed under the OSI-approved BSD 3-Clause License. See accompanying 2# file Copyright.txt or https://cmake.org/licensing for details. 3 4#[=======================================================================[.rst: 5FindWish 6-------- 7 8Find wish installation 9 10This module finds if TCL is installed and determines where the include 11files and libraries are. It also determines what the name of the 12library is. This code sets the following variables: 13 14:: 15 16 TK_WISH = the path to the wish executable 17 18 19 20if UNIX is defined, then it will look for the cygwin version first 21#]=======================================================================] 22 23if(UNIX) 24 find_program(TK_WISH cygwish80 ) 25endif() 26 27get_filename_component(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH) 28get_filename_component(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH) 29string(REGEX REPLACE 30 "^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}") 31 32get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH) 33get_filename_component(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH) 34 35get_filename_component(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH) 36get_filename_component(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH) 37string(REGEX REPLACE 38 "^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}") 39 40get_filename_component(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH) 41get_filename_component(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH) 42string(REGEX REPLACE 43 "^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}") 44 45set(TCLTK_POSSIBLE_BIN_PATHS 46 "${TCL_INCLUDE_PATH_PARENT}/bin" 47 "${TK_INCLUDE_PATH_PARENT}/bin" 48 "${TCL_LIBRARY_PATH_PARENT}/bin" 49 "${TK_LIBRARY_PATH_PARENT}/bin" 50 "${TCL_TCLSH_PATH_PARENT}/bin" 51 ) 52 53if(WIN32) 54 get_filename_component( 55 ActiveTcl_CurrentVersion 56 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]" 57 NAME) 58 set(TCLTK_POSSIBLE_BIN_PATHS ${TCLTK_POSSIBLE_BIN_PATHS} 59 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/bin" 60 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/bin" 61 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/bin" 62 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/bin" 63 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/bin" 64 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/bin" 65 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/bin" 66 ) 67endif() 68 69set(TK_WISH_NAMES 70 wish 71 wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} wish${TCL_TCLSH_VERSION} 72 wish86 wish8.6 73 wish85 wish8.5 74 wish84 wish8.4 75 wish83 wish8.3 76 wish82 wish8.2 77 wish80 wish8.0 78 ) 79 80find_program(TK_WISH 81 NAMES ${TK_WISH_NAMES} 82 HINTS ${TCLTK_POSSIBLE_BIN_PATHS} 83 ) 84 85mark_as_advanced(TK_WISH) 86