diff options
Diffstat (limited to 'infra/nncc/cmake/modules/StampTools.cmake')
-rw-r--r-- | infra/nncc/cmake/modules/StampTools.cmake | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/infra/nncc/cmake/modules/StampTools.cmake b/infra/nncc/cmake/modules/StampTools.cmake new file mode 100644 index 000000000..d38e033ff --- /dev/null +++ b/infra/nncc/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) |