1 # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 # file Copyright.txt or https://cmake.org/licensing for details.
4 #[=======================================================================[.rst:
10 This module finds if TCL is installed and determines where the include
11 files and libraries are. It also determines what the name of the
12 library is. This code sets the following variables:
16 TK_WISH = the path to the wish executable
20 if UNIX is defined, then it will look for the cygwin version first
21 #]=======================================================================]
24 find_program(TK_WISH cygwish80 )
27 get_filename_component(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
28 get_filename_component(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
30 "^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
32 get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
33 get_filename_component(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
35 get_filename_component(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
36 get_filename_component(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
38 "^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}")
40 get_filename_component(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
41 get_filename_component(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
43 "^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}")
45 set(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"
54 get_filename_component(
55 ActiveTcl_CurrentVersion
56 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
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"
71 wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} wish${TCL_TCLSH_VERSION}
81 NAMES ${TK_WISH_NAMES}
82 HINTS ${TCLTK_POSSIBLE_BIN_PATHS}
85 mark_as_advanced(TK_WISH)