From 1f6f05ae4d3fba95ccc34a4622d06b9d2bf88e80 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Fri, 27 Sep 2019 11:34:36 +0800 Subject: [PATCH] Simplify searching for firmware files Disable runtime fetching when VPU_FIRMWARE_*_FILE variables are defined and point to already fetched firmware instead. Do it all in one foreach loop. Upstream-Status: Submitted [https://github.com/opencv/dldt/pull/302] Signed-off-by: Martin Jansa --- inference-engine/cmake/vpu_dependencies.cmake | 63 ++++++------------- 1 file changed, 20 insertions(+), 43 deletions(-) diff --git a/inference-engine/cmake/vpu_dependencies.cmake b/inference-engine/cmake/vpu_dependencies.cmake index 1550163d..e0bc844e 100644 --- a/inference-engine/cmake/vpu_dependencies.cmake +++ b/inference-engine/cmake/vpu_dependencies.cmake @@ -4,52 +4,29 @@ set(VPU_SUPPORTED_SOC ma2450 ma2x8x mv0262) -# -# Default firmware packages -# - -RESOLVE_DEPENDENCY(VPU_FIRMWARE_MA2450 - ARCHIVE_UNIFIED firmware_ma2450_759W.zip - TARGET_PATH "${TEMP}/vpu/firmware/ma2450" - ENVIRONMENT "VPU_FIRMWARE_MA2450" - FOLDER) -debug_message(STATUS "ma2450=" ${VPU_FIRMWARE_MA2450}) - -RESOLVE_DEPENDENCY(VPU_FIRMWARE_MV0262 - ARCHIVE_UNIFIED firmware_mv0262_mdk_R9.8.zip - TARGET_PATH "${TEMP}/vpu/firmware/mv0262" - ENVIRONMENT "VPU_FIRMWARE_MV0262" - FOLDER) -debug_message(STATUS "mv0262=" ${VPU_FIRMWARE_MV0262}) - -RESOLVE_DEPENDENCY(VPU_FIRMWARE_MA2X8X - ARCHIVE_UNIFIED firmware_ma2x8x_mdk_R9.8.zip - TARGET_PATH "${TEMP}/vpu/firmware/ma2x8x" - ENVIRONMENT "VPU_FIRMWARE_MA2X8X" - FOLDER) -debug_message(STATUS "ma2x8x=" ${VPU_FIRMWARE_MA2X8X}) - -# -# CMake variables to override default firmware files -# - foreach(soc IN LISTS VPU_SUPPORTED_SOC) string(TOUPPER "${soc}" soc_upper) - set(var_name VPU_FIRMWARE_${soc_upper}_FILE) + set(var_name_file VPU_FIRMWARE_${soc_upper}_FILE) + set(var_name VPU_FIRMWARE_${soc_upper}) + set(var_name_zip firmware_${soc}_mdk_R9.8.zip) + if(${soc} STREQUAL "ma2450") + set(var_name_zip firmware_${soc}_759W.zip) + endif() - find_file(${var_name} MvNCAPI-${soc}.mvcmd "${VPU_FIRMWARE_${soc_upper}}/mvnc") - if(NOT ${var_name}) - message(FATAL_ERROR "[VPU] Missing ${soc} firmware") + if(NOT DEFINED ${var_name_file}) + RESOLVE_DEPENDENCY(${var_name} + ARCHIVE_UNIFIED ${var_name_zip} + TARGET_PATH "${TEMP}/vpu/firmware/${soc}" + ENVIRONMENT "${var_name}" + FOLDER) + find_file(${var_name_file} NAMES "MvNCAPI-${soc}.mvcmd" PATHS "${VPU_FIRMWARE_${soc_upper}}/mvnc" NO_CMAKE_FIND_ROOT_PATH) endif() -endforeach() -# -# `vpu_copy_firmware` CMake target -# + if(NOT ${var_name_file}) + message(FATAL_ERROR "[VPU] Missing ${soc} firmware, MvNCAPI-${soc}.mvcmd not found in ${VPU_FIRMWARE_${soc_upper}}/mvnc env $ENV{${var_name}} ") + endif() -foreach(soc IN LISTS VPU_SUPPORTED_SOC) - string(TOUPPER "${soc}" soc_upper) - set(var_name VPU_FIRMWARE_${soc_upper}_FILE) + debug_message(STATUS "${soc}=" ${${var_name_file}}) set(firmware_out_file "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/MvNCAPI-${soc}.mvcmd") list(APPEND all_firmware_files ${firmware_out_file}) @@ -57,9 +34,9 @@ foreach(soc IN LISTS VPU_SUPPORTED_SOC) add_custom_command( OUTPUT ${firmware_out_file} COMMAND - ${CMAKE_COMMAND} -E copy ${${var_name}} ${firmware_out_file} - MAIN_DEPENDENCY ${${var_name}} - COMMENT "[VPU] Copy ${${var_name}} to ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" + ${CMAKE_COMMAND} -E copy ${${var_name_file}} ${firmware_out_file} + MAIN_DEPENDENCY ${${var_name_file}} + COMMENT "[VPU] Copy ${${var_name_file}} to ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" VERBATIM) endforeach()