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