Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/network/cmake/FindTCL.cmake @ 1497

Last change on this file since 1497 was 1494, checked in by rgrieder, 17 years ago
  • set the svn:eol-style property to all files so, that where ever you check out, you'll get the right line endings (had to change every file with mixed endings to windows in order to set the property)
  • Property svn:eol-style set to native
File size: 5.1 KB
Line 
1# - Find Tcl includes and libraries.
2# This module finds if TCL is installed and determines where the
3# include files and libraries are. It also determines what the name of
4# the library is. This code sets the following variables:
5#  TCL_LIBRARY        = path to Tcl library (tcl tcl80)
6#  TCL_LIBRARY_DEBUG  = path to Tcl library (debug)
7#  TCL_STUB_LIBRARY   = path to Tcl stub library
8#  TCL_STUB_LIBRARY_DEBUG = path to debug stub library
9#  TCL_INCLUDE_PATH   = path to where tcl.h can be found
10#  TCL_TCLSH          = path to tclsh binary (tcl tcl80)
11#  TK_LIBRARY         = path to Tk library (tk tk80 etc)
12#  TK_LIBRARY_DEBUG   = path to Tk library (debug)
13#  TK_STUB_LIBRARY    = path to Tk stub library
14#  TK_STUB_LIBRARY_DEBUG = path to debug Tk stub library
15#  TK_INCLUDE_PATH    = path to where tk.h can be found
16#  TK_INTERNAL_PATH   = path to where tkWinInt.h is found
17#  TK_WISH            = full path to the wish executable
18
19INCLUDE(CMakeFindFrameworks)
20INCLUDE(FindTclsh)
21INCLUDE(FindWish)
22
23GET_FILENAME_COMPONENT(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
24GET_FILENAME_COMPONENT(TK_WISH_PATH "${TK_WISH}" PATH)
25
26SET (TCLTK_POSSIBLE_LIB_PATHS
27  "${TCL_TCLSH_PATH}/../lib"
28  "${TK_WISH_PATH}/../lib"
29  "${TCL_INCLUDE_PATH}/../lib"
30  "${TK_INCLUDE_PATH}/../lib"
31  "$ENV{ProgramFiles}/Tcl/Lib"
32  "C:/Program Files/Tcl/lib" 
33  "C:/Tcl/lib" 
34  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/lib
35  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/lib
36  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib
37  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib
38  /usr/lib 
39  /usr/local/lib
40  /usr/pack/tcltk-8.4.9.linux-mo/lib
41  ../libs/tcl8.5.2/win
42  ../libs/tcl8.5.2/unix
43  ../libs/tcl8.5.2/macosx
44)
45
46FIND_LIBRARY(TCL_LIBRARY
47  NAMES tcl tcl85 tcl8.5 tcl84 tcl8.4 tcl83 tcl8.3 tcl82 tcl8.2 tcl80 tcl8.0
48  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
49)
50
51FIND_LIBRARY(TCL_LIBRARY_DEBUG
52  NAMES tcld tcl85d tcl8.5d tcl84d tcl8.4d tcl83d tcl8.3d tcl82d tcl8.2d tcl80d tcl8.0d
53  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
54)
55
56FIND_LIBRARY(TCL_STUB_LIBRARY
57  NAMES tclstub tclstub84 tclstub8.4 tclstub83 tclstub8.3 tclstub82 tclstub8.2 tclstub80 tclstub8.0
58  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
59)
60
61FIND_LIBRARY(TCL_STUB_LIBRARY_DEBUG
62  NAMES tclstubd tclstub84d tclstub8.4d tclstub83d tclstub8.3d tclstub82d tclstub8.2d tclstub80d tclstub8.0d
63  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
64)
65
66FIND_LIBRARY(TK_LIBRARY 
67  NAMES tk tk84 tk8.4 tk83 tk8.3 tk82 tk8.2 tk80 tk8.0
68  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
69)
70
71FIND_LIBRARY(TK_LIBRARY_DEBUG
72  NAMES tkd tk84d tk8.4d tk83d tk8.3d tk82d tk8.2d tk80d tk8.0d
73  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
74)
75
76FIND_LIBRARY(TK_STUB_LIBRARY 
77  NAMES tkstub tkstub84 tkstub8.4 tkstub83 tkstub8.3 tkstub82 tkstub8.2 tkstub80 tkstub8.0
78  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
79)
80
81FIND_LIBRARY(TK_STUB_LIBRARY_DEBUG
82  NAMES tkstubd tkstub84d tkstub8.4d tkstub83d tkstub8.3d tkstub82d tkstub8.2d tkstub80d tkstub8.0d
83  PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
84)
85
86CMAKE_FIND_FRAMEWORKS(Tcl)
87CMAKE_FIND_FRAMEWORKS(Tk)
88
89SET(TCL_FRAMEWORK_INCLUDES)
90IF(Tcl_FRAMEWORKS)
91  IF(NOT TCL_INCLUDE_PATH)
92    FOREACH(dir ${Tcl_FRAMEWORKS})
93      SET(TCL_FRAMEWORK_INCLUDES ${TCL_FRAMEWORK_INCLUDES} ${dir}/Headers)
94    ENDFOREACH(dir)
95  ENDIF(NOT TCL_INCLUDE_PATH)
96ENDIF(Tcl_FRAMEWORKS)
97
98SET(TK_FRAMEWORK_INCLUDES)
99IF(Tk_FRAMEWORKS)
100  IF(NOT TK_INCLUDE_PATH)
101    FOREACH(dir ${Tk_FRAMEWORKS})
102      SET(TK_FRAMEWORK_INCLUDES ${TK_FRAMEWORK_INCLUDES}
103        ${dir}/Headers ${dir}/PrivateHeaders)
104    ENDFOREACH(dir)
105  ENDIF(NOT TK_INCLUDE_PATH)
106ENDIF(Tk_FRAMEWORKS)
107
108GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
109GET_FILENAME_COMPONENT(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
110
111SET (TCLTK_POSSIBLE_INCLUDE_PATHS
112  ${TCL_TCLSH_PATH}/../include
113  ${TK_WISH_PATH}/../include
114  "${TCL_LIBRARY_PATH}/../include"
115  "${TK_LIBRARY_PATH}/../include"
116  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.4;Root]/include
117  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.3;Root]/include
118  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/include
119  [HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/include
120  "$ENV{ProgramFiles}/Tcl/include"
121  "C:/Program Files/Tcl/include"
122  C:/Tcl/include
123  /usr/include
124  /usr/local/include
125  /usr/include/tcl8.4
126  /usr/include/tcl8.3
127  /usr/include/tcl8.2
128  /usr/include/tcl8.0
129  ../libs/tcl8.5.2/generic
130)
131
132FIND_PATH(TCL_INCLUDE_PATH tcl.h
133  ${TCL_FRAMEWORK_INCLUDES} ${TCLTK_POSSIBLE_INCLUDE_PATHS}
134)
135
136FIND_PATH(TK_INCLUDE_PATH tk.h
137  ${TK_FRAMEWORK_INCLUDES} ${TCLTK_POSSIBLE_INCLUDE_PATHS}
138)
139
140IF (WIN32)
141  FIND_PATH(TK_INTERNAL_PATH tkWinInt.h
142    ${TCLTK_POSSIBLE_INCLUDE_PATHS}
143  )
144  MARK_AS_ADVANCED(TK_INTERNAL_PATH)
145ENDIF(WIN32)
146
147MARK_AS_ADVANCED(
148    TCL_TCLSH_PATH
149    TK_WISH_PATH
150    TCL_INCLUDE_PATH
151    TK_INCLUDE_PATH
152    TCL_LIBRARY
153    TCL_LIBRARY_DEBUG
154    TK_LIBRARY 
155    TK_LIBRARY_DEBUG
156  TCL_STUB_LIBRARY
157  TCL_STUB_LIBRARY_DEBUG
158  TK_STUB_LIBRARY 
159  TK_STUB_LIBRARY
160  TK_STUB_LIBRARY_DEBUG
161  )
162
163IF(TCL_INCLUDE_PATH)
164  IF(TK_INCLUDE_PATH)
165    IF(TCL_LIBRARY)
166      IF(TK_LIBRARY)
167        SET(TCL_FOUND 1)
168      ENDIF(TK_LIBRARY)
169    ENDIF(TCL_LIBRARY)
170  ENDIF(TK_INCLUDE_PATH)
171ENDIF(TCL_INCLUDE_PATH)
Note: See TracBrowser for help on using the repository browser.