summaryrefslogtreecommitdiff
path: root/infra/nncc/cmake/modules/StampTools.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'infra/nncc/cmake/modules/StampTools.cmake')
-rw-r--r--infra/nncc/cmake/modules/StampTools.cmake18
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)