# tbb
-if (NOT DEFINED 3RDPARTY_DIR)
- message (FATAL_ERROR "3RDPARTY_DIR is not defined.")
-endif()
-
-if ((NOT EXISTS "${3RDPARTY_DIR}") OR ("${3RDPARTY_DIR}" STREQUAL ""))
- message (FATAL_ERROR "Directory ${3RDPARTY_DIR} is not set.")
+if (MSVC AND BUILD_SHARED_LIBS)
+ add_definitions (-D__TBB_NO_IMPLICIT_LINKAGE)
+ add_definitions (-D__TBBMALLOC_NO_IMPLICIT_LINKAGE)
endif()
if (NOT DEFINED INSTALL_TBB AND BUILD_SHARED_LIBS)
set (INSTALL_TBB OFF CACHE BOOL "${INSTALL_TBB_DESCR}")
endif()
-# tbb directory
+# Initialize tbb directory.
if (NOT DEFINED 3RDPARTY_TBB_DIR)
set (3RDPARTY_TBB_DIR "" CACHE PATH "The directory containing tbb")
endif()
-if (MSVC AND BUILD_SHARED_LIBS)
- add_definitions (-D__TBB_NO_IMPLICIT_LINKAGE)
- add_definitions (-D__TBBMALLOC_NO_IMPLICIT_LINKAGE)
-endif()
-
-# include occt macros. compiler_bitness, os_wiht_bit, compiler
-OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
+if (WIN32)
+ if (NOT DEFINED 3RDPARTY_DIR)
+ message (FATAL_ERROR "3RDPARTY_DIR is not defined.")
+ endif()
+ if ("${3RDPARTY_DIR}" STREQUAL "")
+ message (FATAL_ERROR "3RDPARTY_DIR is empty string.")
+ endif()
+ if (NOT EXISTS "${3RDPARTY_DIR}")
+ message (FATAL_ERROR "3RDPARTY_DIR is not exist.")
+ endif()
-# specify TBB folder in connectin with 3RDPARTY_DIR
-if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}")
- #CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_DIR 3RDPARTY_TBB_DIR PATH "The directory containing tbb")
+ # Below, we have correct 3RDPARTY_DIR.
- if (NOT 3RDPARTY_TBB_DIR OR NOT EXISTS "${3RDPARTY_TBB_DIR}")
+ # Initialize TBB folder in connectin with 3RDPARTY_DIR.
+ if (("${3RDPARTY_TBB_DIR}" STREQUAL "") OR (NOT EXISTS "${3RDPARTY_TBB_DIR}"))
FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" TBB TBB_DIR_NAME)
if (TBB_DIR_NAME)
set (3RDPARTY_TBB_DIR "${3RDPARTY_DIR}/${TBB_DIR_NAME}" CACHE PATH "The directory containing tbb" FORCE)
endif()
endif()
-else()
- #set (3RDPARTY_TBB_DIR "" CACHE PATH "The directory containing TBB" FORCE)
-endif()
-
-if (NOT DEFINED 3RDPARTY_TBB_INCLUDE_DIR)
- set (3RDPARTY_TBB_INCLUDE_DIR "" CACHE PATH "The directory containing headers of the TBB")
-endif()
-
-if (3RDPARTY_TBB_DIR AND EXISTS "${3RDPARTY_TBB_DIR}")
- # check 3RDPARTY_TBB_INCLUDE_DIR for consictency with specified 3RDPARTY_TBB_DIR
- CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_TBB_DIR 3RDPARTY_TBB_INCLUDE_DIR PATH "The directory containing headers of the TBB")
-endif()
-
-# tbb.h
-if (NOT 3RDPARTY_TBB_INCLUDE_DIR OR NOT EXISTS "${3RDPARTY_TBB_INCLUDE_DIR}")
- set (HEADER_NAMES tbb.h tbb/tbb.h)
-
- # set 3RDPARTY_TBB_INCLUDE_DIR as notfound, otherwise find_library can't assign a new value to 3RDPARTY_TBB_INCLUDE_DIR
- set (3RDPARTY_TBB_INCLUDE_DIR "3RDPARTY_TBB_INCLUDE_DIR-NOTFOUND" CACHE PATH "the path to tbb.h" FORCE)
-
- if (3RDPARTY_TBB_DIR AND EXISTS "${3RDPARTY_TBB_DIR}")
- find_path (3RDPARTY_TBB_INCLUDE_DIR NAMES ${HEADER_NAMES}
- PATHS ${3RDPARTY_TBB_DIR}
- PATH_SUFFIXES include
- CMAKE_FIND_ROOT_PATH_BOTH
- NO_DEFAULT_PATH)
- else()
- find_path (3RDPARTY_TBB_INCLUDE_DIR NAMES ${HEADER_NAMES}
- PATH_SUFFIXES include
- CMAKE_FIND_ROOT_PATH_BOTH)
- endif()
-endif()
-
-if (3RDPARTY_TBB_INCLUDE_DIR AND EXISTS "${3RDPARTY_TBB_INCLUDE_DIR}")
- list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_TBB_INCLUDE_DIR}")
-else()
- list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_INCLUDE_DIR)
-
- set (3RDPARTY_TBB_INCLUDE_DIR "" CACHE PATH "the path to tbb.h" FORCE)
-endif()
-
-# Throw execution if 3RDPARTY_TBB_DIR is equal to void string.
-if ("${3RDPARTY_TBB_DIR}" STREQUAL "")
- message (FATAL_ERROR "Directory with one TBB have not found.")
-endif()
-
-# Searching TBBConfig.cmake and TBBTargets-release.cmake in 3RDPARTY_TBB_DIR
-# TBBConfig.cmake - is required, TBBTargets-release.cmake is optional.
-file (GLOB_RECURSE TBB_CONFIG_CMAKE_FILE "${3RDPARTY_TBB_DIR}/*TBBConfig.cmake")
-if (NOT EXISTS "${TBB_CONFIG_CMAKE_FILE}")
- message (FATAL_ERROR "TBBConfig.cmake has not been found.")
-endif()
-include ("${TBB_CONFIG_CMAKE_FILE}")
-
-file (GLOB_RECURSE TBB_TARGET_CMAKE_FILE "${3RDPARTY_TBB_DIR}/*TBBTargets-release.cmake")
-if (EXISTS "${TBB_TARGET_CMAKE_FILE}")
- include ("${TBB_TARGET_CMAKE_FILE}")
-endif()
-
-# We do not know, full path to file is pointed, or local.
-# So, we should check it and output FULL PATH to FILE.
-macro (TBB_FILE_NAME_TO_FILEPATH FL_NAME FL_PATH)
- if (EXISTS "${FL_NAME}")
- # FL_NAME is full path.
- set (${FL_PATH} "${FL_NAME}")
- else()
- # Here we deal with local path, so assign to var full path to file.
- # Acquire full path.
- set (${FL_PATH} "${3RDPARTY_TBB_DIR}${FL_NAME}")
- if (NOT EXISTS "${${FL_PATH}}")
- message (FATAL_ERROR "TBB: needed file not found (${FL_PATH}).")
+ # Here we have full path name to installation directory of TBB.
+ # Employ it.
+ if (EXISTS "${3RDPARTY_TBB_DIR}")
+ find_package (
+ TBB 2021.5
+ PATHS "${3RDPARTY_TBB_DIR}" NO_DEFAULT_PATH
+ REQUIRED
+ CONFIG)
+
+ # Achive include directory
+ get_target_property (TBB_INCLUDE_DIR TBB::tbb INTERFACE_INCLUDE_DIRECTORIES)
+ if (NOT DEFINED 3RDPARTY_TBB_INCLUDE_DIR)
+ set (3RDPARTY_TBB_INCLUDE_DIR "" CACHE PATH "The directory containing headers of the TBB")
+ endif()
+ if (EXISTS "${TBB_INCLUDE_DIR}")
+ set (3RDPARTY_TBB_INCLUDE_DIR "${TBB_INCLUDE_DIR}" CACHE PATH "The directory containing headers of the TBB" FORCE)
+ list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_TBB_INCLUDE_DIR}")
+ else()
+ list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_INCLUDE_DIR)
endif()
- endif()
-endmacro()
-
-# TARGET_NAME - is target name from oneTBB cmake file
-# it is either "TBB::tbb", or "TBB::tbbmalloc"
-# LIB_NAME_UC - is library id (TBB or TBBMALLOC)
-# PROPERTY_TO_SET - LIBRARY or DLL
-macro (WIN_TBB_PARSE TARGET_NAME LIB_NAME PROPERTY_TO_SET)
- set (FILE_NAME "")
- set (FILE_PATH "")
- set (FILE_DIR "")
-
- if ("${PROPERTY_TO_SET}" STREQUAL "LIBRARY")
- get_target_property (FILE_NAME "${TARGET_NAME}" IMPORTED_IMPLIB_RELEASE)
- else()
- get_target_property (FILE_NAME "${TARGET_NAME}" IMPORTED_LOCATION_RELEASE)
- endif()
-
- # acquire full path
- TBB_FILE_NAME_TO_FILEPATH("${FILE_NAME}" FILE_PATH)
-
- get_filename_component (FILE_NAME "${FILE_PATH}" NAME)
- get_filename_component (FILE_DIR "${FILE_PATH}" DIRECTORY)
-
- if (NOT EXISTS "${FILE_DIR}/${FILE_NAME}")
- set (3RDPARTY_${LIB_NAME}_${PROPERTY_TO_SET} "" CACHE FILEPATH "${LIB_NAME} library" FORCE)
- set (3RDPARTY_${LIB_NAME}_${PROPERTY_TO_SET}_DIR "" CACHE PATH "The directory containing ${LIB_NAME} shared library")
- if ("${PROPERTY_TO_SET}" STREQUAL "LIBRARY")
- list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_${LIB_NAME}_${PROPERTY_TO_SET}_DIR)
+ separate_arguments (CSF_TBB)
+ foreach (LIB IN LISTS CSF_TBB)
+ string(TOLOWER "${LIB}" LIB_LOWER)
+ string(TOUPPER "${LIB}" LIB_UPPER)
+
+ # Achive *.lib files and directory containing it.
+ get_target_property (TBB_LIB_FILE "TBB::${LIB_LOWER}" IMPORTED_IMPLIB_RELEASE)
+ # Reserve cache variable for *.lib.
+ if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY)
+ set (3RDPARTY_${LIB_UPPER}_LIBRARY "" CACHE FILEPATH "${LIB_UPPER} library (*.lib)")
+ endif()
+ # Reserve cache variable for directory containing *.lib file.
+ if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY_DIR)
+ set (3RDPARTY_${LIB_UPPER}_LIBRARY_DIR "" CACHE PATH "The directory containing ${LIB_UPPER} library (*.lib)")
+ endif()
+ if (EXISTS "${TBB_LIB_FILE}")
+ set (3RDPARTY_${LIB_UPPER}_LIBRARY
+ "${TBB_LIB_FILE}"
+ CACHE FILEPATH
+ "${LIB_UPPER} library (*.lib)"
+ FORCE)
+ get_filename_component (TBB_LIB_FILE_DIRECTORY "${TBB_LIB_FILE}" DIRECTORY)
+ set (3RDPARTY_${LIB_UPPER}_LIBRARY_DIR
+ "${TBB_LIB_FILE_DIRECTORY}"
+ CACHE PATH
+ "The directory containing ${LIB_UPPER} library (*.lib)"
+ FORCE)
+ list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_${LIB_UPPER}_LIBRARY_DIR}")
+ else()
+ list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_${LIB_UPPER}_LIBRARY_DIR)
+ endif()
+
+ # Achive *.dll files and directory containing it.
+ get_target_property (TBB_DLL_FILE "TBB::${LIB_LOWER}" IMPORTED_LOCATION_RELEASE)
+ # Reserve cache variable for *.dll.
+ if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_DLL)
+ set (3RDPARTY_${LIB_UPPER}_DLL "" CACHE FILEPATH "${LIB_UPPER} library (*.dll)")
+ endif()
+ # Reserve cache variable for directory containing *.dll file.
+ if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_DLL_DIR)
+ set (3RDPARTY_${LIB_UPPER}_DLL_DIR "" CACHE PATH "The directory containing ${LIB_UPPER} library (*.dll)")
+ endif()
+ if (EXISTS "${TBB_DLL_FILE}")
+ set (3RDPARTY_${LIB_UPPER}_DLL
+ "${TBB_DLL_FILE}"
+ CACHE FILEPATH
+ "${LIB_UPPER} library (*.dll)"
+ FORCE)
+ get_filename_component (TBB_DLL_FILE_DIRECTORY "${TBB_DLL_FILE}" DIRECTORY)
+ set (3RDPARTY_${LIB_UPPER}_DLL_DIR
+ "${TBB_DLL_FILE_DIRECTORY}"
+ CACHE PATH
+ "The directory containing ${LIB_UPPER} library (*.dll)"
+ FORCE)
+ list (APPEND 3RDPARTY_DLL_DIRS "${3RDPARTY_${LIB_UPPER}_DLL_DIR}")
+ else()
+ list (APPEND 3RDPARTY_NO_DLLS 3RDPARTY_${LIB_UPPER}_DLL_DIR)
+ endif()
+
+ # install *.dll (tbb & tbbmalloc)
+ if (INSTALL_TBB)
+ OCCT_MAKE_OS_WITH_BITNESS()
+ OCCT_MAKE_COMPILER_SHORT_NAME()
+
+ if (SINGLE_GENERATOR)
+ install (FILES ${3RDPARTY_${LIB_UPPER}_DLL} DESTINATION "${INSTALL_DIR_BIN}")
+ else()
+ install (FILES ${3RDPARTY_${LIB_UPPER}_DLL} CONFIGURATIONS Release DESTINATION "${INSTALL_DIR_BIN}")
+ install (FILES ${3RDPARTY_${LIB_UPPER}_DLL} CONFIGURATIONS RelWithDebInfo DESTINATION "${INSTALL_DIR_BIN}i")
+ install (FILES ${3RDPARTY_${LIB_UPPER}_DLL} CONFIGURATIONS Debug DESTINATION "${INSTALL_DIR_BIN}d")
+ endif()
+ endif()
+ mark_as_advanced (3RDPARTY_${LIB_UPPER}_LIBRARY 3RDPARTY_${LIB_UPPER}_DLL)
+ endforeach()
+ if (INSTALL_TBB)
+ set (USED_3RDPARTY_TBB_DIR "")
else()
- list (APPEND 3RDPARTY_NO_DLLS 3RDPARTY_${LIB_NAME}_${PROPERTY_TO_SET}_DIR)
+ # the *.dll/*.so* directory for using by the executable
+ set (USED_3RDPARTY_TBB_DIR ${3RDPARTY_TBB_DLL_DIR})
endif()
else()
- set (3RDPARTY_${LIB_NAME}_${PROPERTY_TO_SET} "${FILE_DIR}/${FILE_NAME}" CACHE FILEPATH "${LIB_NAME} library" FORCE)
- set (3RDPARTY_${LIB_NAME}_${PROPERTY_TO_SET}_DIR "${FILE_DIR}" CACHE PATH "The directory containing ${LIB_NAME} shared library")
-
- if ("${PROPERTY_TO_SET}" STREQUAL "LIBRARY")
- list (APPEND 3RDPARTY_LIBRARY_DIRS "${FILE_DIR}")
+ message (FATAL_ERROR "Installation directory with TBB is not exist.")
+ endif()
+else ()
+ # NOT WIN32 branch
+ if ((DEFINED 3RDPARTY_DIR) AND (NOT "${3RDPARTY_DIR}" STREQUAL "") AND (EXISTS "${3RDPARTY_DIR}"))
+ # Here, we have correct 3RDPARTY_DIR.
+ # Trying to specify TBB folder in connection with 3RDPARTY_DIR
+ if (("${3RDPARTY_TBB_DIR}" STREQUAL "") OR (NOT EXISTS "${3RDPARTY_TBB_DIR}"))
+ FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" TBB TBB_DIR_NAME)
+ if (TBB_DIR_NAME)
+ set (3RDPARTY_TBB_DIR "${3RDPARTY_DIR}/${TBB_DIR_NAME}" CACHE PATH "The directory containing tbb" FORCE)
+ endif()
+ endif()
+ if ((NOT "${3RDPARTY_TBB_DIR}" STREQUAL "") AND (EXISTS "${3RDPARTY_TBB_DIR}"))
+ # Find TBB 2021.5 in existing directory.
+ find_package (
+ TBB 2021.5
+ PATHS "${3RDPARTY_TBB_DIR}" NO_DEFAULT_PATH
+ REQUIRED
+ CONFIG)
else()
- list (APPEND 3RDPARTY_DLL_DIRS "${FILE_DIR}")
+ # Find TBB 2021.5 in system directory.
+ find_package (
+ TBB 2021.5
+ REQUIRED
+ CONFIG)
endif()
+ else()
+ # Find TBB 2021.5 in system directory.
+ find_package (
+ TBB 2021.5
+ REQUIRED
+ CONFIG)
endif()
-endmacro()
-
-# TARGET_NAME - is target name from oneTBB cmake file
-# it is either "TBB::tbb", or "TBB::tbbmalloc"
-# LIB_NAME_UC - is library id (TBB or TBBMALLOC)
-macro (LIN_TBB_PARSE TARGET_NAME LIB_NAME)
- set (FILE_NAME "")
- set (FILE_PATH "")
- set (FILE_DIR "")
-
- get_target_property (FILE_NAME "${TARGET_NAME}" IMPORTED_LOCATION_RELEASE)
-
- # acquire full path
- TBB_FILE_NAME_TO_FILEPATH("${FILE_NAME}" FILE_PATH)
-
- get_filename_component (FILE_NAME "${FILE_PATH}" NAME)
- get_filename_component (FILE_DIR "${FILE_PATH}" DIRECTORY)
+ # TBB has been configured (in other case FATAL_ERROR occures).
- if (NOT EXISTS "${FILE_DIR}/${FILE_NAME}")
- set (3RDPARTY_${LIB_NAME}_LIBRARY "" CACHE FILEPATH "${LIB_NAME} library" FORCE)
- set (3RDPARTY_${LIB_NAME}_LIBRARY_DIR "" CACHE PATH "The directory containing ${LIB_NAME} shared library")
-
- list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_${LIB_NAME}_LIBRARY_DIR)
+ # Achive include directory.
+ get_target_property (TBB_INCLUDE_DIR TBB::tbb INTERFACE_INCLUDE_DIRECTORIES)
+ if (NOT DEFINED 3RDPARTY_TBB_INCLUDE_DIR)
+ set (3RDPARTY_TBB_INCLUDE_DIR "" CACHE PATH "The directory containing headers of the TBB")
+ endif()
+ if (EXISTS "${TBB_INCLUDE_DIR}")
+ set (3RDPARTY_TBB_INCLUDE_DIR "${TBB_INCLUDE_DIR}" CACHE PATH "The directory containing headers of the TBB" FORCE)
+ list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_TBB_INCLUDE_DIR}")
else()
- set (3RDPARTY_${LIB_NAME}_LIBRARY "${FILE_DIR}/${FILE_NAME}" CACHE FILEPATH "${LIB_NAME} library" FORCE)
- set (3RDPARTY_${LIB_NAME}_LIBRARY_DIR "${FILE_DIR}" CACHE PATH "The directory containing ${LIB_NAME} shared library")
-
- list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_${LIB_NAME}_LIBRARY_DIR}")
+ list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_INCLUDE_DIR)
endif()
-endmacro()
-
-if (WIN32)
- # Here we should set:
- # - 3RDPARTY_*_LIBRARY
- # - 3RDPARTY_*_LIBRARY_DIR
- # - 3RDPARTY_*_DLL
- # - 3RDPARTY_*_DLL_DIR
- # where * - is TBB or TBBMALLOC
separate_arguments (CSF_TBB)
foreach (LIB IN LISTS CSF_TBB)
string(TOLOWER "${LIB}" LIB_LOWER)
string(TOUPPER "${LIB}" LIB_UPPER)
- WIN_TBB_PARSE("TBB::${LIB_LOWER}" "${LIB_UPPER}" "LIBRARY")
- WIN_TBB_PARSE("TBB::${LIB_LOWER}" "${LIB_UPPER}" "DLL")
- endforeach()
-else()
- # Here we should set:
- # - 3RDPARTY_*_LIBRARY
- # - 3RDPARTY_*_LIBRARY_DIR
-
- separate_arguments (CSF_TBB)
- foreach (LIB IN LISTS CSF_TBB)
- string(TOLOWER "${LIB}" LIB_LOWER)
- string(TOUPPER "${LIB}" LIB_UPPER)
- LIN_TBB_PARSE("TBB::${LIB_LOWER}" "${LIB_UPPER}")
- endforeach()
-endif()
-# install tbb/tbbmalloc
-if (INSTALL_TBB)
- OCCT_MAKE_OS_WITH_BITNESS()
- OCCT_MAKE_COMPILER_SHORT_NAME()
-
- if (WIN32)
- if (SINGLE_GENERATOR)
- foreach (LIB IN LISTS CSF_TBB)
- string(TOUPPER "${LIB}" LIB_UPPER)
- install (FILES ${3RDPARTY_${LIB_UPPER}_DLL} DESTINATION "${INSTALL_DIR_BIN}")
- endforeach()
+ # Achive *.so files and directory containing it.
+ get_target_property (TBB_SO_FILE "TBB::${LIB_LOWER}" IMPORTED_LOCATION_RELEASE)
+ # Reserve cache variable for *.so.
+ if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY)
+ set (3RDPARTY_${LIB_UPPER}_LIBRARY "" CACHE FILEPATH "${LIB_UPPER} library (*.so)")
+ endif()
+ # Reserve cache variable for directory containing *.so file.
+ if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY_DIR)
+ set (3RDPARTY_${LIB_UPPER}_LIBRARY_DIR "" CACHE PATH "The directory containing ${LIB_UPPER} library (*.so)")
+ endif()
+ if (EXISTS "${TBB_SO_FILE}")
+ set (3RDPARTY_${LIB_UPPER}_LIBRARY
+ "${TBB_SO_FILE}"
+ CACHE FILEPATH
+ "${LIB_UPPER} library (*.so)"
+ FORCE)
+ get_filename_component (TBB_SO_FILE_DIRECTORY "${TBB_SO_FILE}" DIRECTORY)
+ set (3RDPARTY_${LIB_UPPER}_LIBRARY_DIR
+ "${TBB_SO_FILE_DIRECTORY}"
+ CACHE PATH
+ "The directory containing ${LIB_UPPER} library (*.so)"
+ FORCE)
+ list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_${LIB_UPPER}_LIBRARY_DIR}")
else()
- foreach (LIB IN LISTS CSF_TBB)
- string(TOUPPER "${LIB}" LIB_UPPER)
- install (FILES ${3RDPARTY_${LIB_UPPER}_DLL} CONFIGURATIONS Release DESTINATION "${INSTALL_DIR_BIN}")
- install (FILES ${3RDPARTY_${LIB_UPPER}_DLL} CONFIGURATIONS RelWithDebInfo DESTINATION "${INSTALL_DIR_BIN}i")
- install (FILES ${3RDPARTY_${LIB_UPPER}_DLL} CONFIGURATIONS Debug DESTINATION "${INSTALL_DIR_BIN}d")
- endforeach()
+ list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_${LIB_UPPER}_LIBRARY_DIR)
endif()
- else()
- if (SINGLE_GENERATOR)
- foreach (LIB IN LISTS CSF_TBB)
- string(TOUPPER "${LIB}" LIB_UPPER)
+
+ # install *.so* (tbb & tbbmalloc)
+ if (INSTALL_TBB)
+ OCCT_MAKE_OS_WITH_BITNESS()
+ OCCT_MAKE_COMPILER_SHORT_NAME()
+
+ if (SINGLE_GENERATOR)
install (FILES ${3RDPARTY_${LIB_UPPER}_LIBRARY} DESTINATION "${INSTALL_DIR_LIB}")
- endforeach()
- else()
- foreach (LIB IN LISTS CSF_TBB)
- string(TOUPPER "${LIB}" LIB_UPPER)
+ else()
install (FILES ${3RDPARTY_${LIB_UPPER}_LIBRARY} CONFIGURATIONS Release DESTINATION "${INSTALL_DIR_LIB}")
install (FILES ${3RDPARTY_${LIB_UPPER}_LIBRARY} CONFIGURATIONS RelWithDebInfo DESTINATION "${INSTALL_DIR_LIB}i")
install (FILES ${3RDPARTY_${LIB_UPPER}_LIBRARY} CONFIGURATIONS Debug DESTINATION "${INSTALL_DIR_LIB}d")
- endforeach()
+ endif()
endif()
- endif()
-endif()
-foreach (LIB IN LISTS CSF_TBB)
- string(TOUPPER "${LIB}" LIB_UPPER)
- mark_as_advanced (3RDPARTY_${LIB_UPPER}_LIBRARY 3RDPARTY_${LIB_UPPER}_DLL)
-endforeach()
-
-if (INSTALL_TBB)
- set (USED_3RDPARTY_TBB_DIR "")
-else()
- # the library directory for using by the executable
- if (WIN32)
- set (USED_3RDPARTY_TBB_DIR ${3RDPARTY_TBB_DLL_DIR})
+ endforeach()
+ if (INSTALL_TBB)
+ set (USED_3RDPARTY_TBB_DIR "")
else()
+ # the *.so* directory for using by the executable
set (USED_3RDPARTY_TBB_DIR ${3RDPARTY_TBB_LIBRARY_DIR})
endif()
endif()