0030948: Configuration, CMake - problem building with CMake 3.15.2
[occt.git] / adm / cmake / tbb.cmake
CommitLineData
9f33b387 1# tbb
2
3321f684 3if (NOT DEFINED INSTALL_TBB AND BUILD_SHARED_LIBS)
316d77d9 4 set (INSTALL_TBB OFF CACHE BOOL "${INSTALL_TBB_DESCR}")
9f33b387 5endif()
6
7# tbb directory
8if (NOT DEFINED 3RDPARTY_TBB_DIR)
9 set (3RDPARTY_TBB_DIR "" CACHE PATH "The directory containing tbb")
10endif()
11
3321f684 12if (MSVC AND BUILD_SHARED_LIBS)
e713baee 13 add_definitions (-D__TBB_NO_IMPLICIT_LINKAGE)
14 add_definitions (-D__TBBMALLOC_NO_IMPLICIT_LINKAGE)
9f33b387 15endif()
16
e713baee 17# include occt macros. compiler_bitness, os_wiht_bit, compiler
18OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
9f33b387 19
e713baee 20# specify TBB folder in connectin with 3RDPARTY_DIR
21if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}")
22 #CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_DIR 3RDPARTY_TBB_DIR PATH "The directory containing tbb")
9f33b387 23
e713baee 24 if (NOT 3RDPARTY_TBB_DIR OR NOT EXISTS "${3RDPARTY_TBB_DIR}")
25 FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" TBB TBB_DIR_NAME)
26 if (TBB_DIR_NAME)
27 set (3RDPARTY_TBB_DIR "${3RDPARTY_DIR}/${TBB_DIR_NAME}" CACHE PATH "The directory containing tbb" FORCE)
28 endif()
9f33b387 29 endif()
e713baee 30else()
31 #set (3RDPARTY_TBB_DIR "" CACHE PATH "The directory containing TBB" FORCE)
9f33b387 32endif()
33
e713baee 34if (NOT DEFINED 3RDPARTY_TBB_INCLUDE_DIR)
35 set (3RDPARTY_TBB_INCLUDE_DIR "" CACHE PATH "The directory containing headers of the TBB")
9f33b387 36endif()
37
e713baee 38if (3RDPARTY_TBB_DIR AND EXISTS "${3RDPARTY_TBB_DIR}")
39 # check 3RDPARTY_TBB_INCLUDE_DIR for consictency with specified 3RDPARTY_TBB_DIR
40 CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_TBB_DIR 3RDPARTY_TBB_INCLUDE_DIR PATH "The directory containing headers of the TBB")
9f33b387 41endif()
42
e713baee 43# tbb.h
44if (NOT 3RDPARTY_TBB_INCLUDE_DIR OR NOT EXISTS "${3RDPARTY_TBB_INCLUDE_DIR}")
9f33b387 45
e713baee 46 set (HEADER_NAMES tbb.h tbb/tbb.h)
fd7a842b 47
e713baee 48 # set 3RDPARTY_TBB_INCLUDE_DIR as notfound, otherwise find_library can't assign a new value to 3RDPARTY_TBB_INCLUDE_DIR
49 set (3RDPARTY_TBB_INCLUDE_DIR "3RDPARTY_TBB_INCLUDE_DIR-NOTFOUND" CACHE PATH "the path to tbb.h" FORCE)
9f33b387 50
e713baee 51 if (3RDPARTY_TBB_DIR AND EXISTS "${3RDPARTY_TBB_DIR}")
52 find_path (3RDPARTY_TBB_INCLUDE_DIR NAMES ${HEADER_NAMES}
53 PATHS ${3RDPARTY_TBB_DIR}
54 PATH_SUFFIXES include
55 CMAKE_FIND_ROOT_PATH_BOTH
56 NO_DEFAULT_PATH)
57 else()
58 find_path (3RDPARTY_TBB_INCLUDE_DIR NAMES ${HEADER_NAMES}
59 PATH_SUFFIXES include
60 CMAKE_FIND_ROOT_PATH_BOTH)
9f33b387 61 endif()
62endif()
63
e713baee 64if (3RDPARTY_TBB_INCLUDE_DIR AND EXISTS "${3RDPARTY_TBB_INCLUDE_DIR}")
65 list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_TBB_INCLUDE_DIR}")
9f33b387 66else()
e713baee 67 list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_INCLUDE_DIR)
9f33b387 68
e713baee 69 set (3RDPARTY_TBB_INCLUDE_DIR "" CACHE PATH "the path to tbb.h" FORCE)
9f33b387 70endif()
71
e713baee 72# common steps for tbb and tbbmalloc
4fecc365 73macro (TBB_PRODUCT_SEARCH PRODUCT_LIBRARY_NAME)
9f33b387 74
4fecc365 75 string (TOUPPER ${PRODUCT_LIBRARY_NAME} upper_PRODUCT_LIBRARY_NAME)
e713baee 76
77 # define required tbb/tbbmalloc variables
4fecc365 78 if (NOT DEFINED 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY OR NOT 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR OR NOT EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR}")
79 set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY "" CACHE FILEPATH "${upper_PRODUCT_LIBRARY_NAME} library" FORCE)
19286d7c 80 endif()
e713baee 81
4fecc365 82 if (NOT DEFINED 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR)
83 set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR "" CACHE PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} library")
e713baee 84 endif()
85
86 if (WIN32)
4fecc365 87 if (NOT DEFINED 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL OR NOT 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR OR NOT EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR}")
88 set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL "" CACHE FILEPATH "${upper_PRODUCT_LIBRARY_NAME} shared library" FORCE)
9f33b387 89 endif()
90 endif()
91
4fecc365 92 if (WIN32 AND NOT DEFINED 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR)
93 set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR "" CACHE PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} shared library")
e713baee 94 endif()
9f33b387 95
4fecc365 96 # check 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_ paths for consistency with specified 3RDPARTY_TBB_DIR
e713baee 97 if (3RDPARTY_TBB_DIR AND EXISTS "${3RDPARTY_TBB_DIR}")
4fecc365 98 CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_TBB_DIR 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY FILEPATH "the path to ${upper_PRODUCT_LIBRARY_NAME} library")
9f33b387 99
4fecc365 100 if (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY AND EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}")
101 get_filename_component (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}" PATH)
102 set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR}" CACHE PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} library" FORCE)
e713baee 103 else()
4fecc365 104 CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_TBB_DIR 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} library")
e713baee 105 endif()
9f33b387 106
e713baee 107 if (WIN32)
4fecc365 108 CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_TBB_DIR 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL FILEPATH "the path to ${upper_PRODUCT_LIBRARY_NAME} shared library")
9f33b387 109
4fecc365 110 if (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL AND EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}")
111 get_filename_component (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}" PATH)
112 set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR}" CACHE PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} shared library" FORCE)
e713baee 113 else()
114
4fecc365 115 CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_TBB_DIR 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} shared library")
9f33b387 116 endif()
117 endif()
e713baee 118 endif()
9f33b387 119
e713baee 120 OCCT_MAKE_COMPILER_SHORT_NAME()
121 OCCT_MAKE_COMPILER_BITNESS()
9f33b387 122
e713baee 123 if (${COMPILER_BITNESS} EQUAL 32)
4fecc365 124 set (${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME ia32)
e713baee 125 else()
4fecc365 126 set (${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME intel64)
e713baee 127 endif()
9f33b387 128
e713baee 129 # tbb/tbbmalloc library
4fecc365 130 if (NOT 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY OR NOT EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}")
e713baee 131
eaffb01e 132 set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .so .dylib .a)
4fecc365 133 set (PRODUCT_PATH_SUFFIXES lib ${PRODUCT_LIBRARY_NAME})
e713baee 134
4fecc365 135 # set 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY as notfound, otherwise find_library can't assign a new value to 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY
136 set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY "3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY-NOTFOUND" CACHE FILEPATH "The path to ${upper_PRODUCT_LIBRARY_NAME} library" FORCE)
e713baee 137
138 if (3RDPARTY_TBB_DIR AND EXISTS "${3RDPARTY_TBB_DIR}")
4fecc365 139 if (NOT EXISTS "${3RDPARTY_TBB_DIR}/lib/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}/${COMPILER}")
140 if (EXISTS "${3RDPARTY_TBB_DIR}/lib/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}")
141 file (GLOB ${upper_PRODUCT_LIBRARY_NAME}_COMPILER_LIST "${3RDPARTY_TBB_DIR}/lib/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}/*")
142 if (${upper_PRODUCT_LIBRARY_NAME}_COMPILER_LIST)
143 list (GET ${upper_PRODUCT_LIBRARY_NAME}_COMPILER_LIST -1 THE_MOST_FRESH_COMPILER_VERSION)
e713baee 144 if (THE_MOST_FRESH_COMPILER_VERSION)
145 get_filename_component (THE_MOST_FRESH_COMPILER_VERSION_NAME "${THE_MOST_FRESH_COMPILER_VERSION}" NAME)
4fecc365 146 set (PRODUCT_PATH_SUFFIXES lib ${PRODUCT_LIBRARY_NAME} lib/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}/${THE_MOST_FRESH_COMPILER_VERSION_NAME})
e713baee 147 endif()
148 endif()
149 endif()
150 else()
4fecc365 151 set (PRODUCT_PATH_SUFFIXES lib ${PRODUCT_LIBRARY_NAME} lib/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}/${COMPILER})
e713baee 152 endif()
19286d7c 153
4fecc365 154 find_library (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY ${PRODUCT_LIBRARY_NAME}
155 PATHS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR}" "${3RDPARTY_TBB_DIR}"
e713baee 156 PATH_SUFFIXES ${PRODUCT_PATH_SUFFIXES}
157 CMAKE_FIND_ROOT_PATH_BOTH
158 NO_DEFAULT_PATH)
159 else()
4fecc365 160 find_library (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY ${PRODUCT_LIBRARY_NAME}
e713baee 161 PATH_SUFFIXES ${PRODUCT_PATH_SUFFIXES}
162 CMAKE_FIND_ROOT_PATH_BOTH)
9f33b387 163 endif()
9f33b387 164
4fecc365 165 if (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY AND EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}")
166 get_filename_component (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}" PATH)
167 set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR}" CACHE PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} library" FORCE)
e713baee 168 else()
4fecc365 169 set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR "" CACHE PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} library" FORCE)
e713baee 170 endif()
171 endif()
9f33b387 172
4fecc365 173 if (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR AND EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR}")
174 list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR}")
9f33b387 175 else()
0553a8ea 176 list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY_DIR)
e713baee 177
4fecc365 178 set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY "" CACHE FILEPATH "The path to ${upper_PRODUCT_LIBRARY_NAME} library" FORCE)
9f33b387 179 endif()
180
e713baee 181 # tbb/tbbmalloc shared library
9f33b387 182 if (WIN32)
4fecc365 183 if (NOT 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL OR NOT EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}")
e713baee 184 set (CMAKE_FIND_LIBRARY_SUFFIXES .dll)
185 set (PRODUCT_PATH_SUFFIXES bin)
186
4fecc365 187 # set 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL as notfound, otherwise find_library can't assign a new value to 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL
188 set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL "3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL-NOTFOUND" CACHE FILEPATH "${upper_PRODUCT_LIBRARY_NAME} shared library" FORCE)
e713baee 189
190 if (3RDPARTY_TBB_DIR AND EXISTS "${3RDPARTY_TBB_DIR}")
4fecc365 191 if (NOT EXISTS "${3RDPARTY_TBB_DIR}/bin/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}/${COMPILER}")
192 if (EXISTS "${3RDPARTY_TBB_DIR}/bin/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}")
193 file (GLOB ${upper_PRODUCT_LIBRARY_NAME}_COMPILER_LIST "${3RDPARTY_TBB_DIR}/bin/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}/*")
194 if (${upper_PRODUCT_LIBRARY_NAME}_COMPILER_LIST)
195 list (GET ${upper_PRODUCT_LIBRARY_NAME}_COMPILER_LIST -1 THE_MOST_FRESH_COMPILER_VERSION)
e713baee 196 if (THE_MOST_FRESH_COMPILER_VERSION)
197 get_filename_component (THE_MOST_FRESH_COMPILER_VERSION_NAME "${THE_MOST_FRESH_COMPILER_VERSION}" NAME)
4fecc365 198 set (PRODUCT_PATH_SUFFIXES bin bin/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}/${THE_MOST_FRESH_COMPILER_VERSION_NAME})
e713baee 199 endif()
200 endif()
201 endif()
202 else()
4fecc365 203 set (PRODUCT_PATH_SUFFIXES bin bin/${${upper_PRODUCT_LIBRARY_NAME}_ARCH_NAME}/${COMPILER})
e713baee 204 endif()
205
206 if (3RDPARTY_TBB_DIR AND EXISTS "${3RDPARTY_TBB_DIR}")
4fecc365 207 find_library (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL ${PRODUCT_LIBRARY_NAME}
e713baee 208 PATHS "${3RDPARTY_TBB_DIR}"
209 PATH_SUFFIXES ${PRODUCT_PATH_SUFFIXES}
210 NO_DEFAULT_PATH)
211 else()
4fecc365 212 find_library (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL ${PRODUCT_LIBRARY_NAME} PATH_SUFFIXES ${PRODUCT_PATH_SUFFIXES})
e713baee 213 endif()
214
4fecc365 215 if (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL AND EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}")
216 get_filename_component (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}" PATH)
217 set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR}" CACHE PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} library" FORCE)
e713baee 218 else()
4fecc365 219 set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR "" CACHE PATH "The directory containing ${upper_PRODUCT_LIBRARY_NAME} shared library" FORCE)
e713baee 220
4fecc365 221 set (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL "" CACHE FILEPATH "${upper_PRODUCT_LIBRARY_NAME} shared library" FORCE)
e713baee 222 endif()
223 endif()
224 endif()
225
4fecc365 226 if (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR OR EXISTS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR}")
227 list (APPEND 3RDPARTY_DLL_DIRS "${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR}")
94829f84 228 else()
0553a8ea 229 list (APPEND 3RDPARTY_NO_DLLS 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL_DIR)
9f33b387 230 endif()
231 endif()
9f33b387 232
e713baee 233 # install tbb/tbbmalloc
1ec75a48 234 if (INSTALL_TBB)
e713baee 235 OCCT_MAKE_OS_WITH_BITNESS()
236 OCCT_MAKE_COMPILER_SHORT_NAME()
237
238 if (WIN32)
4b3541c6 239 if (SINGLE_GENERATOR)
4fecc365 240 install (FILES ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL} DESTINATION "${INSTALL_DIR_BIN}")
096ef695 241 else()
4fecc365 242 install (FILES ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}
096ef695 243 CONFIGURATIONS Release
d26375e2 244 DESTINATION "${INSTALL_DIR_BIN}")
4fecc365 245 install (FILES ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}
096ef695 246 CONFIGURATIONS RelWithDebInfo
d26375e2 247 DESTINATION "${INSTALL_DIR_BIN}i")
4fecc365 248 install (FILES ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL}
096ef695 249 CONFIGURATIONS Debug
d26375e2 250 DESTINATION "${INSTALL_DIR_BIN}d")
096ef695 251 endif()
e713baee 252 else()
4fecc365 253 get_filename_component (PRODUCT_LIBRARY_NAME ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY} NAME)
e713baee 254
4b3541c6 255 if (SINGLE_GENERATOR)
4fecc365 256 install (FILES ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}.2
d26375e2 257 DESTINATION "${INSTALL_DIR_LIB}"
096ef695 258 RENAME ${PRODUCT_LIBRARY_NAME}.2)
259 else()
4fecc365 260 install (FILES ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}.2
096ef695 261 CONFIGURATIONS Release
d26375e2 262 DESTINATION "${INSTALL_DIR_LIB}"
096ef695 263 RENAME ${PRODUCT_LIBRARY_NAME}.2)
4fecc365 264 install (FILES ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}.2
096ef695 265 CONFIGURATIONS RelWithDebInfo
d26375e2 266 DESTINATION "${INSTALL_DIR_LIB}i"
096ef695 267 RENAME ${PRODUCT_LIBRARY_NAME}.2)
4fecc365 268 install (FILES ${3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY}.2
096ef695 269 CONFIGURATIONS Debug
d26375e2 270 DESTINATION "${INSTALL_DIR_LIB}d"
096ef695 271 RENAME ${PRODUCT_LIBRARY_NAME}.2)
272 endif()
e713baee 273 endif()
9f33b387 274 endif()
4fecc365 275 mark_as_advanced (3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_LIBRARY 3RDPARTY_${upper_PRODUCT_LIBRARY_NAME}_DLL)
e713baee 276endmacro()
277
0553a8ea 278#if (BUILD_SHARED_LIBS)
4fecc365 279 separate_arguments (CSF_TBB)
280 foreach (LIB IN LISTS CSF_TBB)
281 TBB_PRODUCT_SEARCH (${LIB})
282 endforeach()
0a66e59d 283
3321f684 284 if (INSTALL_TBB)
285 set (USED_3RDPARTY_TBB_DIR "")
0a66e59d 286 else()
3321f684 287 # the library directory for using by the executable
288 if (WIN32)
289 set (USED_3RDPARTY_TBB_DIR ${3RDPARTY_TBB_DLL_DIR})
290 else()
291 set (USED_3RDPARTY_TBB_DIR ${3RDPARTY_TBB_LIBRARY_DIR})
292 endif()
0a66e59d 293 endif()
0553a8ea 294#endif()