LinkContentMD5.cmake 915 B

12345678910111213141516171819202122
  1. include(ExternalData)
  2. set(ExternalData_LINK_CONTENT MD5)
  3. set(ExternalData_SOURCE_ROOT ${CMAKE_CURRENT_BINARY_DIR})
  4. set(ExternalData_BINARY_ROOT ${CMAKE_CURRENT_BINARY_DIR}/ExternalData)
  5. set(input ${CMAKE_CURRENT_BINARY_DIR}/ToLink.txt)
  6. set(output ${CMAKE_CURRENT_BINARY_DIR}/ExternalData/ToLink.txt)
  7. set(staged "${CMAKE_CURRENT_BINARY_DIR}/.ExternalData_MD5_c18ff9804c8deec9eaeb17063cda8b7b")
  8. file(REMOVE ${staged})
  9. file(REMOVE ${input}.md5)
  10. file(WRITE ${input} "To be transformed into a content link.")
  11. ExternalData_Expand_Arguments(Data args DATA{${input}})
  12. if("x${args}" STREQUAL "x${output}")
  13. message(STATUS "Raw data correctly transformed to content link!")
  14. else()
  15. message(FATAL_ERROR "Data reference transformed to:\n ${args}\n"
  16. "but we expected:\n ${output}")
  17. endif()
  18. if(EXISTS "${staged}")
  19. message(STATUS "Staged content exists!")
  20. else()
  21. message(FATAL_ERROR "Staged content missing!")
  22. endif()