From: 박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 Date: Mon, 15 Jul 2019 09:07:18 +0000 (+0900) Subject: Extract StampTools module (#4268) X-Git-Tag: nncc_backup~62 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fcc5a136617313c6eb3c3e75f4c77c5b00265a6f;p=platform%2Fcore%2Fml%2Fnnfw.git Extract StampTools module (#4268) This commit extracts StampTools module from ExternalSourceTools. Signed-off-by: Jonghyun Park --- diff --git a/cmake/modules/ExternalSourceTools.cmake b/cmake/modules/ExternalSourceTools.cmake index 2bc77c3..3baaeba 100644 --- a/cmake/modules/ExternalSourceTools.cmake +++ b/cmake/modules/ExternalSourceTools.cmake @@ -3,6 +3,7 @@ # function(ExternalSource_Download PREFIX) include(CMakeParseArguments) + nncc_include(StampTools) cmake_parse_arguments(ARG "" "DIRNAME;URL;CHECKSUM" "" ${ARGN}) @@ -36,16 +37,10 @@ function(ExternalSource_Download PREFIX) endif(NOT EXISTS "${CACHE_DIR}") # Compare URL in STAMP file and the given URL - # - Remove STAMP if they are unmatched - if(EXISTS "${STAMP_PATH}") - file(READ ${STAMP_PATH} PREV_URL) + Stamp_Check(URL_CHECK "${STAMP_PATH}" "${URL}") - if(NOT URL STREQUAL PREV_URL) - file(REMOVE "${STAMP_PATH}") - endif(NOT URL STREQUAL PREV_URL) - endif(EXISTS "${STAMP_PATH}") - - if(NOT EXISTS "${STAMP_PATH}") + if(NOT URL_CHECK) + file(REMOVE "${STAMP_PATH}") file(REMOVE_RECURSE "${OUT_DIR}") file(REMOVE_RECURSE "${TMP_DIR}") diff --git a/cmake/modules/StampTools.cmake b/cmake/modules/StampTools.cmake new file mode 100644 index 0000000..d38e033 --- /dev/null +++ b/cmake/modules/StampTools.cmake @@ -0,0 +1,18 @@ +# Stamp_Check(VARNAME PATH CONTENT) +# Stamp_Check sets VARNAME as TRUE if a file exists at "PATH", and its content is same as "CONTENT" +# Stamp_Check sets VARNAME as FALSE otherwise +function(Stamp_Check VARNAME PATH EXPECTED_CONTENT) + if(NOT EXISTS "${PATH}") + set(${VARNAME} FALSE PARENT_SCOPE) + return() + endif(NOT EXISTS "${PATH}") + + file(READ ${PATH} OBTAINED_CONTENT) + + if(NOT EXPECTED_CONTENT STREQUAL OBTAINED_CONTENT) + set(${VARNAME} FALSE PARENT_SCOPE) + return() + endif(NOT EXPECTED_CONTENT STREQUAL OBTAINED_CONTENT) + + set(${VARNAME} TRUE PARENT_SCOPE) +endfunction(Stamp_Check)