root / trunk / extensions / ext3Dgui / buildman / plugins-data / depman / CMakeModules / FindOpenThreads.cmake @ 26254
History | View | Annotate | Download (6.15 KB)
1 |
# OpenThreads is a C++ based threading library. Its largest userbase |
---|---|
2 |
# seems to OpenSceneGraph so you might notice I accept OSGDIR as an |
3 |
# environment path. |
4 |
# I consider this part of the Findosg* suite used to find OpenSceneGraph |
5 |
# components. |
6 |
# Each component is separate and you must opt in to each module. |
7 |
# |
8 |
# Locate OpenThreads |
9 |
# This module defines |
10 |
# OPENTHREADS_LIBRARY |
11 |
# OPENTHREADS_FOUND, if false, do not try to link to OpenThreads |
12 |
# OPENTHREADS_INCLUDE_DIR, where to find the headers |
13 |
# |
14 |
# $OPENTHREADS_DIR is an environment variable that would |
15 |
# correspond to the ./configure --prefix=$OPENTHREADS_DIR |
16 |
# used in building osg. |
17 |
# |
18 |
# Created by Eric Wing. |
19 |
|
20 |
# Header files are presumed to be included like |
21 |
# #include <OpenThreads/Thread> |
22 |
|
23 |
# To make it easier for one-step automated configuration/builds, |
24 |
# we leverage environmental paths. This is preferable |
25 |
# to the -DVAR=value switches because it insulates the |
26 |
# users from changes we may make in this script. |
27 |
# It also offers a little more flexibility than setting |
28 |
# the CMAKE_*_PATH since we can target specific components. |
29 |
# However, the default CMake behavior will search system paths |
30 |
# before anything else. This is problematic in the cases |
31 |
# where you have an older (stable) version installed, but |
32 |
# are trying to build a newer version. |
33 |
# CMake doesn't offer a nice way to globally control this behavior |
34 |
# so we have to do a nasty "double FIND_" in this module. |
35 |
# The first FIND disables the CMAKE_ search paths and only checks |
36 |
# the environmental paths. |
37 |
# If nothing is found, then the second find will search the |
38 |
# standard install paths. |
39 |
# Explicit -DVAR=value arguments should still be able to override everything. |
40 |
# Note: We have added an additional check for ${CMAKE_PREFIX_PATH}. |
41 |
# This is not an official CMake variable, but one we are proposing be |
42 |
# added to CMake. Be warned that this may go away or the variable name |
43 |
# may change. |
44 |
|
45 |
FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread |
46 |
$ENV{OPENTHREADS_INCLUDE_DIR} |
47 |
$ENV{OPENTHREADS_DIR}/include |
48 |
$ENV{OPENTHREADS_DIR} |
49 |
$ENV{OSG_INCLUDE_DIR} |
50 |
$ENV{OSG_DIR}/include |
51 |
$ENV{OSG_DIR} |
52 |
NO_DEFAULT_PATH |
53 |
) |
54 |
|
55 |
IF(NOT OPENTHREADS_INCLUDE_DIR) |
56 |
FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread |
57 |
PATHS ${CMAKE_PREFIX_PATH} |
58 |
PATH_SUFFIXES include |
59 |
) |
60 |
ENDIF(NOT OPENTHREADS_INCLUDE_DIR) |
61 |
|
62 |
IF(NOT OPENTHREADS_INCLUDE_DIR) |
63 |
FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread |
64 |
~/Library/Frameworks |
65 |
/Library/Frameworks |
66 |
/usr/local/include |
67 |
/usr/include |
68 |
/sw/include # Fink |
69 |
/opt/local/include # DarwinPorts |
70 |
/opt/csw/include # Blastwave |
71 |
/opt/include |
72 |
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/include |
73 |
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include |
74 |
) |
75 |
ENDIF(NOT OPENTHREADS_INCLUDE_DIR) |
76 |
|
77 |
MARK_AS_ADVANCED(OPENTHREADS_INCLUDE_DIR) |
78 |
|
79 |
FIND_LIBRARY(OPENTHREADS_LIBRARY |
80 |
NAMES OpenThreads OpenThreadsWin32 |
81 |
PATHS |
82 |
$ENV{OPENTHREADS_LIBRARY_DIR} |
83 |
$ENV{OPENTHREADS_DIR}/lib64 |
84 |
$ENV{OPENTHREADS_DIR}/lib |
85 |
$ENV{OPENTHREADS_DIR} |
86 |
$ENV{OSG_LIBRARY_DIR} |
87 |
$ENV{OSG_DIR}/lib64 |
88 |
$ENV{OSG_DIR}/lib |
89 |
$ENV{OSG_DIR} |
90 |
NO_DEFAULT_PATH |
91 |
) |
92 |
|
93 |
IF(NOT OPENTHREADS_LIBRARY) |
94 |
FIND_LIBRARY(OPENTHREADS_LIBRARY |
95 |
NAMES OpenThreads OpenThreadsWin32 |
96 |
PATHS ${CMAKE_PREFIX_PATH} |
97 |
PATH_SUFFIXES lib64 lib |
98 |
) |
99 |
ENDIF(NOT OPENTHREADS_LIBRARY) |
100 |
|
101 |
IF(NOT OPENTHREADS_LIBRARY) |
102 |
FIND_LIBRARY(OPENTHREADS_LIBRARY |
103 |
NAMES OpenThreads OpenThreadsWin32 |
104 |
PATHS |
105 |
~/Library/Frameworks |
106 |
/Library/Frameworks |
107 |
/usr/local/lib64 |
108 |
/usr/local/lib |
109 |
/usr/lib64 |
110 |
/usr/lib |
111 |
/sw/lib64 |
112 |
/sw/lib |
113 |
/opt/local/lib64 |
114 |
/opt/local/lib |
115 |
/opt/csw/lib64 |
116 |
/opt/csw/lib |
117 |
/opt/lib64 |
118 |
/opt/lib |
119 |
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/lib |
120 |
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib |
121 |
) |
122 |
ENDIF(NOT OPENTHREADS_LIBRARY) |
123 |
|
124 |
MARK_AS_ADVANCED(OPENTHREADS_LIBRARY) |
125 |
|
126 |
FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG |
127 |
NAMES OpenThreadsd OpenThreadsWin32d |
128 |
PATHS |
129 |
$ENV{OPENTHREADS_DEBUG_LIBRARY_DIR} |
130 |
$ENV{OPENTHREADS_LIBRARY_DIR} |
131 |
$ENV{OPENTHREADS_DIR}/lib64 |
132 |
$ENV{OPENTHREADS_DIR}/lib |
133 |
$ENV{OPENTHREADS_DIR} |
134 |
$ENV{OSG_LIBRARY_DIR} |
135 |
$ENV{OSG_DIR}/lib64 |
136 |
$ENV{OSG_DIR}/lib |
137 |
$ENV{OSG_DIR} |
138 |
${CMAKE_PREFIX_PATH}/lib64 |
139 |
${CMAKE_PREFIX_PATH}/lib |
140 |
${CMAKE_PREFIX_PATH} |
141 |
NO_DEFAULT_PATH |
142 |
) |
143 |
|
144 |
IF(NOT OPENTHREADS_LIBRARY_DEBUG) |
145 |
FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG |
146 |
NAMES OpenThreadsd OpenThreadsWin32d |
147 |
PATHS ${CMAKE_PREFIX_PATH} |
148 |
PATH_SUFFIXES lib64 lib |
149 |
) |
150 |
ENDIF(NOT OPENTHREADS_LIBRARY_DEBUG) |
151 |
|
152 |
IF(NOT OPENTHREADS_LIBRARY_DEBUG) |
153 |
FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG |
154 |
NAMES OpenThreadsd OpenThreadsWin32d |
155 |
PATHS |
156 |
/usr/local/lib64 |
157 |
/usr/local/lib |
158 |
/usr/lib64 |
159 |
/usr/lib |
160 |
/sw/lib64 |
161 |
/sw/lib |
162 |
/opt/local/lib64 |
163 |
/opt/local/lib |
164 |
/opt/csw/lib64 |
165 |
/opt/csw/lib |
166 |
/opt/lib64 |
167 |
/opt/lib |
168 |
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/lib |
169 |
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib |
170 |
) |
171 |
ENDIF(NOT OPENTHREADS_LIBRARY_DEBUG) |
172 |
|
173 |
MARK_AS_ADVANCED(OPENTHREADS_LIBRARY_DEBUG) |
174 |
|
175 |
IF(OPENTHREADS_LIBRARY) |
176 |
IF(NOT OPENTHREADS_LIBRARY_DEBUG) |
177 |
#MESSAGE("-- Warning Debug OpenThreads not found, using: ${OPENTHREADS_LIBRARY}") |
178 |
#SET(OPENTHREADS_LIBRARY_DEBUG "${OPENTHREADS_LIBRARY}") |
179 |
SET(OPENTHREADS_LIBRARY_DEBUG "${OPENTHREADS_LIBRARY}" CACHE FILEPATH "Debug version of OpenThreads Library (use regular version if not available)" FORCE) |
180 |
ENDIF(NOT OPENTHREADS_LIBRARY_DEBUG) |
181 |
ENDIF(OPENTHREADS_LIBRARY) |
182 |
|
183 |
SET(OPENTHREADS_FOUND "NO") |
184 |
IF(OPENTHREADS_INCLUDE_DIR AND OPENTHREADS_LIBRARY) |
185 |
SET(OPENTHREADS_FOUND "YES") |
186 |
# MESSAGE("-- Found OpenThreads: "${OPENTHREADS_LIBRARY}) |
187 |
ENDIF(OPENTHREADS_INCLUDE_DIR AND OPENTHREADS_LIBRARY) |
188 |
|