Evan Nemerson | 93ef13f | 2016-06-20 13:07:35 -0700 | [diff] [blame] | 1 | string(REGEX REPLACE "([a-zA-Z0-9\\.]+)\\.compressed(\\.[0-9]+)?$" "\\1" REFERENCE_DATA "${INPUT}") |
Eugene Kliuchnikov | bf6a6cd | 2017-09-22 13:13:22 +0200 | [diff] [blame] | 2 | string(REGEX REPLACE "\\.compressed" "" OUTPUT_FILE "${INPUT}") |
| 3 | get_filename_component(OUTPUT_NAME "${OUTPUT_FILE}" NAME) |
Evan Nemerson | 93ef13f | 2016-06-20 13:07:35 -0700 | [diff] [blame] | 4 | |
Stephen Kyle | 67f059e | 2018-09-27 10:00:33 +0100 | [diff] [blame] | 5 | set(ENV{QEMU_LD_PREFIX} "${BROTLI_WRAPPER_LD_PREFIX}") |
| 6 | |
Evan Nemerson | 93ef13f | 2016-06-20 13:07:35 -0700 | [diff] [blame] | 7 | execute_process( |
| 8 | WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" |
Eugene Kliuchnikov | 03739d2 | 2017-05-29 17:55:14 +0200 | [diff] [blame] | 9 | COMMAND ${BROTLI_WRAPPER} ${BROTLI_CLI} --force --decompress ${INPUT} --output=${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_NAME}.unbr |
Evan Nemerson | 93ef13f | 2016-06-20 13:07:35 -0700 | [diff] [blame] | 10 | RESULT_VARIABLE result) |
| 11 | if(result) |
| 12 | message(FATAL_ERROR "Decompression failed") |
| 13 | endif() |
| 14 | |
| 15 | function(test_file_equality f1 f2) |
| 16 | if(NOT CMAKE_VERSION VERSION_LESS 2.8.7) |
| 17 | file(SHA512 "${f1}" f1_cs) |
| 18 | file(SHA512 "${f2}" f2_cs) |
| 19 | if(NOT "${f1_cs}" STREQUAL "${f2_cs}") |
| 20 | message(FATAL_ERROR "Files do not match") |
| 21 | endif() |
| 22 | else() |
| 23 | file(READ "${f1}" f1_contents) |
| 24 | file(READ "${f2}" f2_contents) |
| 25 | if(NOT "${f1_contents}" STREQUAL "${f2_contents}") |
| 26 | message(FATAL_ERROR "Files do not match") |
| 27 | endif() |
| 28 | endif() |
| 29 | endfunction() |
| 30 | |
Eugene Kliuchnikov | 03739d2 | 2017-05-29 17:55:14 +0200 | [diff] [blame] | 31 | test_file_equality("${REFERENCE_DATA}" "${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_NAME}.unbr") |