e713baee |
1 | ## |
2 | |
3 | if(3RDPARTY_MACRO_ALREADY_INCLUDED) |
4 | return() |
5 | endif() |
6 | set(3RDPARTY_MACRO_ALREADY_INCLUDED 1) |
9f33b387 |
7 | |
9f33b387 |
8 | |
9 | macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEBUG) |
10 | |
e713baee |
11 | if (NOT DEFINED INSTALL_${PRODUCT_NAME}) |
12 | set (INSTALL_${PRODUCT_NAME} OFF CACHE BOOL "${INSTALL_${PRODUCT_NAME}_DESCR}") |
13 | endif() |
14 | |
9f33b387 |
15 | if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_DIR) |
16 | set (3RDPARTY_${PRODUCT_NAME}_DIR "" CACHE PATH "The directory containing ${PRODUCT_NAME}") |
17 | endif() |
18 | |
e713baee |
19 | # include occt macros. compiler_bitness, os_wiht_bit, compiler |
20 | OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros") |
21 | |
22 | # specify product folder in connectin with 3RDPARTY_DIR |
23 | if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}") |
24 | #CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_DIR 3RDPARTY_${PRODUCT_NAME}_DIR PATH "The directory containing ${PRODUCT_NAME}") |
25 | |
26 | if (NOT 3RDPARTY_${PRODUCT_NAME}_DIR OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_DIR}") |
27 | FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" ${PRODUCT_NAME} ${PRODUCT_NAME}_DIR_NAME) |
28 | if (${PRODUCT_NAME}_DIR_NAME) |
29 | set (3RDPARTY_${PRODUCT_NAME}_DIR "${3RDPARTY_DIR}/${${PRODUCT_NAME}_DIR_NAME}" CACHE PATH "The directory containing ${PRODUCT_NAME}" FORCE) |
30 | endif() |
9f33b387 |
31 | endif() |
e713baee |
32 | else() |
33 | #set (3RDPARTY_${PRODUCT_NAME}_DIR "" CACHE PATH "The directory containing ${PRODUCT_NAME}" FORCE) |
9f33b387 |
34 | endif() |
35 | |
e713baee |
36 | if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR) |
37 | set (3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR "" CACHE PATH "the path of ${HEADER_NAME}") |
9f33b387 |
38 | endif() |
39 | |
e713baee |
40 | if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_LIBRARY OR NOT 3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR}") |
41 | set (3RDPARTY_${PRODUCT_NAME}_LIBRARY "" CACHE FILEPATH "${PRODUCT_NAME} library" FORCE) |
9f33b387 |
42 | endif() |
19286d7c |
43 | |
e713baee |
44 | if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR) |
45 | set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR "" CACHE PATH "The directory containing ${PRODUCT_NAME} library") |
9f33b387 |
46 | endif() |
47 | |
e713baee |
48 | if (WIN32) |
49 | if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_DLL OR NOT 3RDPARTY_${PRODUCT_NAME}_DLL_DIR OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR}") |
50 | set (3RDPARTY_${PRODUCT_NAME}_DLL "" CACHE FILEPATH "${PRODUCT_NAME} shared library" FORCE) |
9f33b387 |
51 | endif() |
52 | endif() |
53 | |
e713baee |
54 | if (WIN32) |
55 | if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_DLL_DIR) |
56 | set (3RDPARTY_${PRODUCT_NAME}_DLL_DIR "" CACHE PATH "The directory containing ${PRODUCT_NAME} shared library") |
57 | endif() |
9f33b387 |
58 | endif() |
19286d7c |
59 | |
e713baee |
60 | # check 3RDPARTY_${PRODUCT_NAME}_ paths for consistency with specified 3RDPARTY_${PRODUCT_NAME}_DIR |
61 | if (3RDPARTY_${PRODUCT_NAME}_DIR AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DIR}") |
62 | CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_${PRODUCT_NAME}_DIR 3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR PATH "the path to ${PRODUCT_NAME}") |
63 | CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_${PRODUCT_NAME}_DIR 3RDPARTY_${PRODUCT_NAME}_LIBRARY FILEPATH "the path to ${PRODUCT_NAME} library") |
19286d7c |
64 | |
e713baee |
65 | if (3RDPARTY_${PRODUCT_NAME}_LIBRARY AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY}") |
66 | get_filename_component (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR "${3RDPARTY_${PRODUCT_NAME}_LIBRARY}" PATH) |
67 | set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR}" CACHE PATH "The directory containing ${PRODUCT_NAME} library" FORCE) |
68 | else() |
69 | CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_${PRODUCT_NAME}_DIR 3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR PATH "The directory containing ${PRODUCT_NAME} library") |
70 | endif() |
19286d7c |
71 | |
e713baee |
72 | if (WIN32) |
73 | CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_${PRODUCT_NAME}_DIR 3RDPARTY_${PRODUCT_NAME}_DLL FILEPATH "the path to ${PRODUCT_NAME} shared library") |
19286d7c |
74 | |
e713baee |
75 | if (3RDPARTY_${PRODUCT_NAME}_DLL AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL}") |
76 | get_filename_component (3RDPARTY_${PRODUCT_NAME}_DLL_DIR "${3RDPARTY_${PRODUCT_NAME}_DLL}" PATH) |
77 | set (3RDPARTY_${PRODUCT_NAME}_DLL_DIR "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR}" CACHE PATH "The directory containing ${PRODUCT_NAME} shared library" FORCE) |
78 | else() |
79 | |
80 | CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_${PRODUCT_NAME}_DIR 3RDPARTY_${PRODUCT_NAME}_DLL_DIR PATH "The directory containing ${PRODUCT_NAME} shared library") |
9f33b387 |
81 | endif() |
82 | endif() |
e713baee |
83 | endif() |
9f33b387 |
84 | |
e713baee |
85 | # header |
86 | if (NOT 3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR}") |
19286d7c |
87 | |
e713baee |
88 | # set 3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR as notfound, otherwise find_library can't assign a new value to 3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR |
89 | set (3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR "3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR-NOTFOUND" CACHE FILEPATH "the path to ${HEADER_NAME}" FORCE) |
19286d7c |
90 | |
e713baee |
91 | if (3RDPARTY_${PRODUCT_NAME}_DIR AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DIR}") |
92 | find_path (3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR NAMES ${HEADER_NAME} |
93 | PATHS ${3RDPARTY_${PRODUCT_NAME}_DIR} |
94 | PATH_SUFFIXES include |
95 | CMAKE_FIND_ROOT_PATH_BOTH |
96 | NO_DEFAULT_PATH) |
97 | else() |
98 | find_path (3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR NAMES ${HEADER_NAME} |
99 | PATH_SUFFIXES include |
100 | CMAKE_FIND_ROOT_PATH_BOTH) |
9f33b387 |
101 | endif() |
102 | endif() |
19286d7c |
103 | |
9f33b387 |
104 | if (3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR}") |
105 | list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR}") |
106 | else() |
107 | list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR) |
e713baee |
108 | |
109 | set (3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR "" CACHE FILEPATH "The path to ${HEADER_NAME}" FORCE) |
110 | endif() |
111 | |
112 | # library |
113 | if (NOT 3RDPARTY_${PRODUCT_NAME}_LIBRARY OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY}") |
114 | set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .so .dylib) |
115 | |
116 | set (${PRODUCT_NAME}_PATH_SUFFIXES lib) |
117 | if (ANDROID) |
118 | set (${PRODUCT_NAME}_PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES} libs/${ANDROID_ABI}) |
119 | endif() |
120 | |
121 | # set 3RDPARTY_${PRODUCT_NAME}_LIBRARY as notfound, otherwise find_library can't assign a new value to 3RDPARTY_${PRODUCT_NAME}_LIBRARY |
122 | set (3RDPARTY_${PRODUCT_NAME}_LIBRARY "3RDPARTY_${PRODUCT_NAME}_LIBRARY-NOTFOUND" CACHE FILEPATH "The path to ${PRODUCT_NAME} library" FORCE) |
123 | |
124 | if (3RDPARTY_${PRODUCT_NAME}_DIR AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DIR}") |
125 | find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY NAMES ${LIBRARY_NAME} |
126 | PATHS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR}" "${3RDPARTY_${PRODUCT_NAME}_DIR}" |
127 | PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES} |
128 | CMAKE_FIND_ROOT_PATH_BOTH |
129 | NO_DEFAULT_PATH) |
130 | else() |
131 | find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY NAMES ${LIBRARY_NAME} |
132 | PATH_SUFFIXES ${${PRODUCT_NAME}_PATH_SUFFIXES} |
133 | CMAKE_FIND_ROOT_PATH_BOTH) |
134 | endif() |
135 | |
136 | if (3RDPARTY_${PRODUCT_NAME}_LIBRARY AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY}") |
137 | get_filename_component (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR "${3RDPARTY_${PRODUCT_NAME}_LIBRARY}" PATH) |
138 | set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR}" CACHE PATH "The directory containing ${PRODUCT_NAME} library" FORCE) |
139 | else() |
140 | set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR "" CACHE PATH "The directory containing ${PRODUCT_NAME} library" FORCE) |
141 | endif() |
9f33b387 |
142 | endif() |
143 | |
e713baee |
144 | if (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR}") |
9f33b387 |
145 | list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR}") |
146 | else() |
147 | list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR) |
e713baee |
148 | |
149 | set (3RDPARTY_${PRODUCT_NAME}_LIBRARY "" CACHE FILEPATH "The path to ${PRODUCT_NAME} library" FORCE) |
9f33b387 |
150 | endif() |
151 | |
e713baee |
152 | # shared library |
9f33b387 |
153 | if (WIN32) |
e713baee |
154 | if (NOT 3RDPARTY_${PRODUCT_NAME}_DLL OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL}") |
155 | |
156 | set (CMAKE_FIND_LIBRARY_SUFFIXES .dll) |
157 | |
158 | # set 3RDPARTY_${PRODUCT_NAME}_DLL as notfound, otherwise find_library can't assign a new value to 3RDPARTY_${PRODUCT_NAME}_DLL |
159 | set (3RDPARTY_${PRODUCT_NAME}_DLL "3RDPARTY_${PRODUCT_NAME}_DLL-NOTFOUND" CACHE FILEPATH "The path to ${PRODUCT_NAME} shared library" FORCE) |
160 | |
161 | if (3RDPARTY_${PRODUCT_NAME}_DIR AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DIR}") |
162 | find_library (3RDPARTY_${PRODUCT_NAME}_DLL NAMES ${LIBRARY_NAME} |
163 | PATHS "${3RDPARTY_${PRODUCT_NAME}_DIR}" |
164 | PATH_SUFFIXES bin |
165 | NO_DEFAULT_PATH) |
166 | else() |
167 | find_library (3RDPARTY_${PRODUCT_NAME}_DLL NAMES ${LIBRARY_NAME} PATH_SUFFIXES bin) |
168 | endif() |
169 | |
170 | if (3RDPARTY_${PRODUCT_NAME}_DLL AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL}") |
171 | get_filename_component (3RDPARTY_${PRODUCT_NAME}_DLL_DIR "${3RDPARTY_${PRODUCT_NAME}_DLL}" PATH) |
172 | set (3RDPARTY_${PRODUCT_NAME}_DLL_DIR "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR}" CACHE PATH "The directory containing ${PRODUCT_NAME} library" FORCE) |
173 | else() |
174 | set (3RDPARTY_${PRODUCT_NAME}_DLL_DIR "" CACHE PATH "The directory containing ${PRODUCT_NAME} shared library" FORCE) |
175 | |
176 | set (3RDPARTY_${PRODUCT_NAME}_DLL "" CACHE FILEPATH "${PRODUCT_NAME} shared library" FORCE) |
177 | endif() |
178 | endif() |
179 | |
180 | if (3RDPARTY_${PRODUCT_NAME}_DLL_DIR OR EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR}") |
94829f84 |
181 | list (APPEND 3RDPARTY_DLL_DIRS "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR}") |
182 | else() |
9f33b387 |
183 | list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_${PRODUCT_NAME}_DLL_DIR) |
184 | endif() |
185 | endif() |
186 | |
19286d7c |
187 | set (USED_3RDPARTY_${PRODUCT_NAME}_DIR "") |
188 | |
9f33b387 |
189 | if (INSTALL_${PRODUCT_NAME}) |
190 | OCCT_MAKE_OS_WITH_BITNESS() |
191 | OCCT_MAKE_COMPILER_SHORT_NAME() |
9f33b387 |
192 | |
193 | if (WIN32) |
4b3541c6 |
194 | if (SINGLE_GENERATOR) |
195 | install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL}" DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_BIN}") |
096ef695 |
196 | else() |
4b3541c6 |
197 | install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL}" |
096ef695 |
198 | CONFIGURATIONS Release |
4b3541c6 |
199 | DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_BIN}") |
200 | install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL}" |
096ef695 |
201 | CONFIGURATIONS RelWithDebInfo |
4b3541c6 |
202 | DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_BIN}i") |
203 | install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL}" |
096ef695 |
204 | CONFIGURATIONS Debug |
4b3541c6 |
205 | DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_BIN}d") |
096ef695 |
206 | endif() |
9f33b387 |
207 | else() |
19286d7c |
208 | get_filename_component(ABS_PATH ${3RDPARTY_${PRODUCT_NAME}_LIBRARY} REALPATH) |
096ef695 |
209 | |
19286d7c |
210 | if ("${PRODUCT_NAME}" STREQUAL "FREEIMAGE") |
211 | get_filename_component(FREEIMLIB ${3RDPARTY_${PRODUCT_NAME}_LIBRARY} NAME) |
096ef695 |
212 | |
4b3541c6 |
213 | if (SINGLE_GENERATOR) |
214 | install (FILES "${ABS_PATH}" DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_LIB}" RENAME ${FREEIMLIB}.3) |
096ef695 |
215 | else() |
216 | install (FILES "${ABS_PATH}" |
217 | CONFIGURATIONS Release |
4b3541c6 |
218 | DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_LIB}" |
096ef695 |
219 | RENAME ${FREEIMLIB}.3) |
220 | install (FILES "${ABS_PATH}" |
221 | CONFIGURATIONS RelWithDebInfo |
4b3541c6 |
222 | DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_LIB}i" |
096ef695 |
223 | RENAME ${FREEIMLIB}.3) |
224 | install (FILES "${ABS_PATH}" |
225 | CONFIGURATIONS Debug |
4b3541c6 |
226 | DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_LIB}d" |
096ef695 |
227 | RENAME ${FREEIMLIB}.3) |
228 | endif() |
19286d7c |
229 | endif() |
096ef695 |
230 | |
19286d7c |
231 | if("${PRODUCT_NAME}" STREQUAL "GL2PS") |
232 | get_filename_component(GL2PSLIB ${3RDPARTY_${PRODUCT_NAME}_LIBRARY} NAME) |
096ef695 |
233 | |
4b3541c6 |
234 | if (SINGLE_GENERATOR) |
235 | install (FILES "${ABS_PATH}" DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_LIB}" RENAME ${GL2PSLIB}.1) |
096ef695 |
236 | else() |
237 | install (FILES "${ABS_PATH}" |
238 | CONFIGURATIONS Release |
4b3541c6 |
239 | DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_LIB}" |
096ef695 |
240 | RENAME ${GL2PSLIB}.1) |
241 | install (FILES "${ABS_PATH}" |
242 | CONFIGURATIONS RelWithDebInfo |
4b3541c6 |
243 | DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_LIB}i" |
096ef695 |
244 | RENAME ${GL2PSLIB}.1) |
245 | install (FILES "${ABS_PATH}" |
246 | CONFIGURATIONS Debug |
4b3541c6 |
247 | DESTINATION "${INSTALL_DIR}/${INSTALL_DIR_LIB}d" |
096ef695 |
248 | RENAME ${GL2PSLIB}.1) |
249 | endif() |
19286d7c |
250 | endif() |
9f33b387 |
251 | endif() |
0a66e59d |
252 | else() |
253 | # the library directory for using by the executable |
254 | if (WIN32) |
255 | set (USED_3RDPARTY_${PRODUCT_NAME}_DIR "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR}") |
256 | else() |
257 | set (USED_3RDPARTY_${PRODUCT_NAME}_DIR "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR}") |
258 | endif() |
9f33b387 |
259 | endif() |
19286d7c |
260 | |
9f33b387 |
261 | mark_as_advanced (3RDPARTY_${PRODUCT_NAME}_LIBRARY 3RDPARTY_${PRODUCT_NAME}_DLL) |
19286d7c |
262 | endmacro() |
82f443b6 |
263 | |
264 | macro (COMPLIANCE_PRODUCT_CONSISTENCY LIBNAME) |
265 | if (3RDPARTY_${LIBNAME}_DIR AND EXISTS "${3RDPARTY_${LIBNAME}_DIR}") |
266 | # include dir |
267 | set (DOES_PATH_CONTAIN FALSE) |
268 | if (3RDPARTY_${LIBNAME}_INCLUDE_DIR AND EXISTS "${3RDPARTY_${LIBNAME}_INCLUDE_DIR}") |
269 | string (REGEX MATCH "${3RDPARTY_${LIBNAME}_DIR}" DOES_PATH_CONTAIN "${3RDPARTY_${LIBNAME}_INCLUDE_DIR}") |
270 | endif() |
271 | if (NOT DOES_PATH_CONTAIN) |
272 | set (3RDPARTY_${LIBNAME}_INCLUDE_DIR "" CACHE FILEPATH "The directory containing headers of ${LIBNAME}" FORCE) |
273 | endif() |
274 | |
275 | # library dir |
276 | set (DOES_PATH_CONTAIN FALSE) |
277 | if (3RDPARTY_${LIBNAME}_LIBRARY_DIR AND EXISTS "${3RDPARTY_${LIBNAME}_LIBRARY_DIR}") |
278 | string (REGEX MATCH "${3RDPARTY_${LIBNAME}_DIR}" DOES_PATH_CONTAIN "${3RDPARTY_${LIBNAME}_LIBRARY_DIR}") |
279 | endif() |
280 | if (NOT DOES_PATH_CONTAIN) |
281 | set (3RDPARTY_${LIBNAME}_LIBRARY_DIR "" CACHE FILEPATH "The directory containing ${LIBNAME} library" FORCE) |
282 | endif() |
283 | |
284 | # shared library dir |
285 | if (WIN32) |
286 | set (DOES_PATH_CONTAIN FALSE) |
287 | if (3RDPARTY_${LIBNAME}_DLL_DIR AND EXISTS "${3RDPARTY_${LIBNAME}_DLL_DIR}") |
288 | string (REGEX MATCH "${3RDPARTY_${LIBNAME}_DIR}" DOES_PATH_CONTAIN "${3RDPARTY_${LIBNAME}_DLL_DIR}") |
289 | endif() |
290 | if (NOT DOES_PATH_CONTAIN) |
291 | set (3RDPARTY_${LIBNAME}_DLL_DIR "" CACHE FILEPATH "The directory containing ${LIBNAME} shared library" FORCE) |
292 | endif() |
293 | endif() |
294 | endif() |
295 | |
296 | # check library |
297 | set (DOES_PATH_CONTAIN FALSE) |
298 | if (3RDPARTY_${LIBNAME}_LIBRARY_DIR AND EXISTS "${3RDPARTY_${LIBNAME}_LIBRARY_DIR}") |
299 | if (3RDPARTY_${LIBNAME}_LIBRARY AND EXISTS "${3RDPARTY_${LIBNAME}_LIBRARY}") |
300 | string (REGEX MATCH "${3RDPARTY_${LIBNAME}_LIBRARY_DIR}" DOES_PATH_CONTAIN "${3RDPARTY_${LIBNAME}_LIBRARY}") |
301 | endif() |
302 | endif() |
303 | if (NOT DOES_PATH_CONTAIN) |
304 | set (3RDPARTY_${LIBNAME}_LIBRARY "" CACHE FILEPATH "${LIBNAME} library" FORCE) |
305 | endif() |
306 | |
307 | # check shared library |
308 | if (WIN32) |
309 | set (DOES_PATH_CONTAIN FALSE) |
310 | if (3RDPARTY_${LIBNAME}_DLL_DIR AND EXISTS "${3RDPARTY_${LIBNAME}_DLL_DIR}") |
311 | if (3RDPARTY_${LIBNAME}_DLL AND EXISTS "${3RDPARTY_${LIBNAME}_DLL}") |
312 | string (REGEX MATCH "${3RDPARTY_${LIBNAME}_DLL_DIR}" DOES_PATH_CONTAIN "${3RDPARTY_${LIBNAME}_DLL}") |
313 | endif() |
314 | endif() |
315 | if (NOT DOES_PATH_CONTAIN) |
316 | set (3RDPARTY_${LIBNAME}_DLL "" CACHE FILEPATH "${LIBNAME} shared library" FORCE) |
317 | endif() |
318 | endif() |
319 | endmacro() |