• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1execute_process(
2  WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
3  COMMAND ${BROTLI_WRAPPER} ${BROTLI_CLI} --force --quality ${QUALITY} --input ${INPUT} --output ${OUTPUT}.bro
4  RESULT_VARIABLE result
5  ERROR_VARIABLE result_stderr)
6if(result)
7  message(FATAL_ERROR "Compression failed: ${result_stderr}")
8endif()
9
10execute_process(
11  WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
12  COMMAND ${BROTLI_WRAPPER} ${BROTLI_CLI} --force --decompress --input ${OUTPUT}.bro --output ${OUTPUT}.unbro
13  RESULT_VARIABLE result)
14if(result)
15  message(FATAL_ERROR "Decompression failed")
16endif()
17
18function(test_file_equality f1 f2)
19  if(NOT CMAKE_VERSION VERSION_LESS 2.8.7)
20    file(SHA512 "${f1}" f1_cs)
21    file(SHA512 "${f2}" f2_cs)
22    if(NOT "${f1_cs}" STREQUAL "${f2_cs}")
23      message(FATAL_ERROR "Files do not match")
24    endif()
25  else()
26    file(READ "${f1}" f1_contents)
27    file(READ "${f2}" f2_contents)
28    if(NOT "${f1_contents}" STREQUAL "${f2_contents}")
29      message(FATAL_ERROR "Files do not match")
30    endif()
31  endif()
32endfunction()
33
34test_file_equality("${INPUT}" "${OUTPUT}.unbro")
35