From ce0537bd1fa32fc6abc6055e745658647c61d106 Mon Sep 17 00:00:00 2001 From: Sergey Lyubimtsev Date: Mon, 25 Jan 2021 19:06:12 +0300 Subject: [PATCH] [CMake] Fixes for TBB tmp location (#3997) * fixes for TBB tmp location: - DL_SDK_TEMP path is not normalized, that leads to paths check mismatch in CMake conditions - TBB is not downloaded again in a case tmp location is cleaned up and build restarted (TBB_DIR and TBBROOT are cache variables) * use reset_deps_cache & update_deps_cache for TBB_DIR var. * single reset_deps_cache call --- .../IEDevScriptsConfig.cmake | 8 +- inference-engine/cmake/dependencies.cmake | 74 +++++++++---------- 2 files changed, 35 insertions(+), 47 deletions(-) diff --git a/cmake/developer_package/IEDevScriptsConfig.cmake b/cmake/developer_package/IEDevScriptsConfig.cmake index a28f77099b6..76324e9aa6f 100644 --- a/cmake/developer_package/IEDevScriptsConfig.cmake +++ b/cmake/developer_package/IEDevScriptsConfig.cmake @@ -46,13 +46,7 @@ endif() function(set_temp_directory temp_variable source_tree_dir) if (DEFINED ENV{DL_SDK_TEMP} AND NOT $ENV{DL_SDK_TEMP} STREQUAL "") message(STATUS "DL_SDK_TEMP environment is set : $ENV{DL_SDK_TEMP}") - - if (WIN32) - string(REPLACE "\\" "\\\\" temp $ENV{DL_SDK_TEMP}) - else() - set(temp $ENV{DL_SDK_TEMP}) - endif() - + file(TO_CMAKE_PATH $ENV{DL_SDK_TEMP} temp) if (ENABLE_ALTERNATIVE_TEMP) set(ALTERNATIVE_PATH ${source_tree_dir}/temp) endif() diff --git a/inference-engine/cmake/dependencies.cmake b/inference-engine/cmake/dependencies.cmake index d5df4915fa7..f07795cf853 100644 --- a/inference-engine/cmake/dependencies.cmake +++ b/inference-engine/cmake/dependencies.cmake @@ -136,51 +136,45 @@ endif () ## TBB package if (THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO") - reset_deps_cache(TBBROOT) - if(NOT DEFINED TBB_DIR AND NOT DEFINED ENV{TBB_DIR}) - if (WIN32 AND X86_64) - #TODO: add target_path to be platform specific as well, to avoid following if - RESOLVE_DEPENDENCY(TBB - ARCHIVE_WIN "tbb2020_20200415_win.zip" - TARGET_PATH "${TEMP}/tbb" - ENVIRONMENT "TBBROOT" - SHA256 "f1c9b9e2861efdaa01552bd25312ccbc5feeb45551e5f91ae61e29221c5c1479") - elseif(ANDROID) # Should be before LINUX due LINUX is detected as well - RESOLVE_DEPENDENCY(TBB - ARCHIVE_ANDROID "tbb2020_20200404_android.tgz" - TARGET_PATH "${TEMP}/tbb" - ENVIRONMENT "TBBROOT" - SHA256 "f42d084224cc2d643314bd483ad180b081774608844000f132859fca3e9bf0ce") - elseif(LINUX AND X86_64) - RESOLVE_DEPENDENCY(TBB - ARCHIVE_LIN "tbb2020_20200415_lin_strip.tgz" - TARGET_PATH "${TEMP}/tbb" - SHA256 "95b2f3b0b70c7376a0c7de351a355c2c514b42c4966e77e3e34271a599501008") - elseif(LINUX AND AARCH64) - RESOLVE_DEPENDENCY(TBB - ARCHIVE_LIN "keembay/tbb2020_38404_kmb.tgz" - TARGET_PATH "${TEMP}/tbb_yocto" - ENVIRONMENT "TBBROOT" - SHA256 "57ad3ceeab119c8a4d5e9fc38e80952fc19d4bf23ae065e9540cde89b25561d5") - elseif(APPLE AND X86_64) - RESOLVE_DEPENDENCY(TBB - ARCHIVE_MAC "tbb2020_20200404_mac.tgz" - TARGET_PATH "${TEMP}/tbb" - ENVIRONMENT "TBBROOT" - SHA256 "ad9cf52e657660058aa6c6844914bc0fc66241fec89a392d8b79a7ff69c3c7f6") - else() - message(FATAL_ERROR "TBB is not available on current platform") - endif() + reset_deps_cache(TBBROOT TBB_DIR) + + if (WIN32 AND X86_64) + #TODO: add target_path to be platform specific as well, to avoid following if + RESOLVE_DEPENDENCY(TBB + ARCHIVE_WIN "tbb2020_20200415_win.zip" + TARGET_PATH "${TEMP}/tbb" + ENVIRONMENT "TBBROOT" + SHA256 "f1c9b9e2861efdaa01552bd25312ccbc5feeb45551e5f91ae61e29221c5c1479") + elseif(ANDROID) # Should be before LINUX due LINUX is detected as well + RESOLVE_DEPENDENCY(TBB + ARCHIVE_ANDROID "tbb2020_20200404_android.tgz" + TARGET_PATH "${TEMP}/tbb" + ENVIRONMENT "TBBROOT" + SHA256 "f42d084224cc2d643314bd483ad180b081774608844000f132859fca3e9bf0ce") + elseif(LINUX AND X86_64) + RESOLVE_DEPENDENCY(TBB + ARCHIVE_LIN "tbb2020_20200415_lin_strip.tgz" + TARGET_PATH "${TEMP}/tbb" + SHA256 "95b2f3b0b70c7376a0c7de351a355c2c514b42c4966e77e3e34271a599501008") + elseif(LINUX AND AARCH64) + RESOLVE_DEPENDENCY(TBB + ARCHIVE_LIN "keembay/tbb2020_38404_kmb.tgz" + TARGET_PATH "${TEMP}/tbb_yocto" + ENVIRONMENT "TBBROOT" + SHA256 "57ad3ceeab119c8a4d5e9fc38e80952fc19d4bf23ae065e9540cde89b25561d5") + elseif(APPLE AND X86_64) + RESOLVE_DEPENDENCY(TBB + ARCHIVE_MAC "tbb2020_20200404_mac.tgz" + TARGET_PATH "${TEMP}/tbb" + ENVIRONMENT "TBBROOT" + SHA256 "ad9cf52e657660058aa6c6844914bc0fc66241fec89a392d8b79a7ff69c3c7f6") else() - if(DEFINED TBB_DIR) - get_filename_component(TBB ${TBB_DIR} DIRECTORY) - else() - get_filename_component(TBB $ENV{TBB_DIR} DIRECTORY) - endif() + message(FATAL_ERROR "TBB is not available on current platform") endif() update_deps_cache(TBBROOT "${TBB}" "Path to TBB root folder") + update_deps_cache(TBB_DIR "${TBB}/cmake" "Path to TBB cmake folder") if (WIN32) log_rpath_from_dir(TBB "${TBB}/bin")