mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-30 18:29:37 -06:00
* FindKDE4: Added note about KDE4_FOUND result variable (it is set by the upstream FindKDE4Internal module, and now also synced in the docs and code for consistency). For the sake of completeness with other find modules, also the following deprecated find modules are synced as they already provided these variables: * FindDart: Documented the Dart_FOUND result variable. * FindUnixCommands: Updated documentation (documented UnixCommands_FOUND result variable, and listed cache variables used by this module). Issue: #27242
119 lines
3.4 KiB
CMake
119 lines
3.4 KiB
CMake
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
# file LICENSE.rst or https://cmake.org/licensing for details.
|
|
|
|
#[=======================================================================[.rst:
|
|
FindWish
|
|
--------
|
|
|
|
Finds ``wish``, a simple windowing shell command-line executable:
|
|
|
|
.. code-block:: cmake
|
|
|
|
find_package(Wish [...])
|
|
|
|
This module is commonly used in conjunction with finding a TCL installation (see
|
|
the :module:`FindTCL` module). It helps determine where the TCL include paths
|
|
and libraries are, as well as identifying the name of the TCL library.
|
|
|
|
If the :variable:`UNIX` variable is defined, the module will prioritize looking
|
|
for the Cygwin version of ``wish`` executable.
|
|
|
|
Result Variables
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
This module defines the following variables:
|
|
|
|
``Wish_FOUND``
|
|
.. versionadded:: 4.2
|
|
|
|
Boolean indicating whether the ``wish`` executable was found.
|
|
|
|
Cache Variables
|
|
^^^^^^^^^^^^^^^
|
|
|
|
The following cache variables may also be set:
|
|
|
|
``TK_WISH``
|
|
The path to the ``wish`` executable.
|
|
|
|
Examples
|
|
^^^^^^^^
|
|
|
|
Finding ``wish``:
|
|
|
|
.. code-block:: cmake
|
|
|
|
find_package(Wish)
|
|
message(STATUS "Found wish at: ${TK_WISH}")
|
|
#]=======================================================================]
|
|
|
|
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)
|
|
|
|
if(TK_WISH)
|
|
set(Wish_FOUND TRUE)
|
|
else()
|
|
set(Wish_FOUND FALSE)
|
|
endif()
|