| # Distributed under the OSI-approved BSD 3-Clause License. See accompanying |
| # file Copyright.txt or https://cmake.org/licensing for details. |
| |
| #[=======================================================================[.rst: |
| FindWish |
| -------- |
| |
| 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 |
| #]=======================================================================] |
| |
| if(UNIX) |
| find_program(TK_WISH cygwish80 ) |
| endif() |
| |
| 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() |
| |
| 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) |