From: 박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 Date: Fri, 5 Jul 2019 01:04:45 +0000 (+0900) Subject: [mocotest/onnx] Generate test file only on change (#4106) X-Git-Tag: nncc_backup~179 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9a102925a699122e82fc71db9a80f0f53be8334d;p=platform%2Fcore%2Fml%2Fnnfw.git [mocotest/onnx] Generate test file only on change (#4106) The current implementation always copies and generates test files. With this commit, test files are copied and generated only when it is necessary. Signed-off-by: Jonghyun Park --- diff --git a/contrib/mocotest-onnx/CMakeLists.txt b/contrib/mocotest-onnx/CMakeLists.txt index 1d50c47..385a2a7 100644 --- a/contrib/mocotest-onnx/CMakeLists.txt +++ b/contrib/mocotest-onnx/CMakeLists.txt @@ -14,27 +14,40 @@ endif(NOT TARGET onnxkit) # Encode Testcase.pbtxt to Testcase.pb # set(TEST_PBTXT_FILE "test.pbtxt") +set(TEST_REPO "${CMAKE_CURRENT_SOURCE_DIR}") # Where to find tests +set(TEST_SPACE "${CMAKE_CURRENT_BINARY_DIR}") # Where to run tests file(GLOB PBTXTFILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${TEST_PBTXT_FILE}") +unset(TEST_DEPS) + foreach(PBTXTFILE IN ITEMS ${PBTXTFILES}) get_filename_component(DIR_NAME ${PBTXTFILE} DIRECTORY) set(PBTXT_SOURCE_FILE "${DIR_NAME}.pbtxt") - set(PBTXT_SOURCE_TARGET moco_onnx_${DIR_NAME}_pbtxt) + set(PBTXT_SOURCE_PATH "${TEST_SPACE}/${PBTXT_SOURCE_FILE}") set(PB_OUTPUT_FILE "${DIR_NAME}.pb") - set(PB_OUTPUT_TARGET moco_onnx_${DIR_NAME}_pb) + set(PB_OUTPUT_PATH "${TEST_SPACE}/${PB_OUTPUT_FILE}") # Copy files - add_custom_target(${PBTXT_SOURCE_TARGET} - ALL ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/${PBTXTFILE}" - "${CMAKE_CURRENT_BINARY_DIR}/${PBTXT_SOURCE_FILE}" - COMMENT "Copy ${PBTXT_SOURCE_FILE}") + add_custom_command( + OUTPUT ${PBTXT_SOURCE_PATH} + COMMAND ${CMAKE_COMMAND} -E copy "${TEST_REPO}/${PBTXTFILE}" "${PBTXT_SOURCE_PATH}" + COMMENT "Copy ${PBTXT_SOURCE_FILE}" + DEPENDS "${TEST_REPO}/${PBTXTFILE}" + ) # Use onnxkit to encode - add_custom_target(${PB_OUTPUT_TARGET} - ALL $ encode ${PBTXT_SOURCE_FILE} ${PB_OUTPUT_FILE} - DEPENDS ${PBTXT_SOURCE_TARGET} - COMMENT "Generate ${PB_OUTPUT_FILE}") + add_custom_command( + OUTPUT ${PB_OUTPUT_PATH} + COMMAND $ encode ${PBTXT_SOURCE_PATH} ${PB_OUTPUT_PATH} + DEPENDS ${PBTXT_SOURCE_PATH} + COMMENT "Generate ${PB_OUTPUT_FILE}" + ) + + list(APPEND TEST_DEPS "${PB_OUTPUT_PATH}") endforeach(PBTXTFILE) + +# This target enforces CMake to generate all the dependencies during "build" phase +add_custom_target(mocotest_onnx_deps ALL DEPENDS ${TEST_DEPS})