1IF ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_LESS "2.8.7")
2  FUNCTION(MESSAGE_ONCE id out)
3    MESSAGE(STATUS "${out}")
4  ENDFUNCTION()
5ELSE()
6  FUNCTION(MESSAGE_ONCE id out)
7    STRING(MD5 hash "${out}")
8    IF(NOT __msg1_${id} STREQUAL "${hash}")
9      MESSAGE(STATUS "${out}")
10    ENDIF()
11    SET(__msg1_${id} ${hash} CACHE INTERNAL "")
12  ENDFUNCTION()
13ENDIF()
14
15MACRO(SET_IF_UNSET VAR VAL)
16  IF(NOT DEFINED ${VAR})
17    SET(${VAR} ${VAL})
18  ENDIF()
19ENDMACRO()
20