summaryrefslogtreecommitdiff
path: root/infra/nncc/cmake/modules/StampTools.cmake
blob: d38e033fffa29402d6327c7954215798a757d1f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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)