| if(NOT DEFINED PRECISION) |
| message(FATAL_ERROR "PRECISION must be specified") |
| endif() |
| |
| if(NOT DEFINED WITH_JAVA) |
| message(FATAL_ERROR "WITH_JAVA must be specified") |
| endif() |
| |
| macro(check_error program) |
| if(NOT RESULT EQUAL 0) |
| message(FATAL_ERROR "${program} failed.") |
| endif() |
| endmacro() |
| |
| macro(run_test PROG ARGS) |
| string(REPLACE ";" " " SPACED_ARGS "${ARGS}") |
| message(STATUS "${PROG} ${SPACED_ARGS}") |
| execute_process(COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${PROG} ${ARGS} |
| RESULT_VARIABLE RESULT) |
| check_error("${PROG} ${SPACED_ARGS}") |
| endmacro() |
| |
| if(NOT PRECISION EQUAL 16) |
| run_test(tjbenchtest "-precision;${PRECISION}") |
| run_test(tjbenchtest "-precision;${PRECISION};-alloc") |
| endif() |
| if(PRECISION EQUAL 8) |
| run_test(tjbenchtest "-precision;${PRECISION};-yuv") |
| run_test(tjbenchtest "-precision;${PRECISION};-yuv;-alloc") |
| run_test(tjbenchtest "-precision;${PRECISION};-optimize") |
| run_test(tjbenchtest "-precision;${PRECISION};-optimize;-yuv") |
| endif() |
| if(NOT PRECISION EQUAL 16) |
| run_test(tjbenchtest "-precision;${PRECISION};-progressive") |
| endif() |
| if(PRECISION EQUAL 8) |
| run_test(tjbenchtest "-precision;${PRECISION};-progressive;-yuv") |
| endif() |
| if(NOT PRECISION EQUAL 16) |
| run_test(tjbenchtest "-precision;${PRECISION};-arithmetic") |
| run_test(tjbenchtest "-precision;${PRECISION};-progressive;-arithmetic") |
| endif() |
| if(PRECISION EQUAL 8) |
| run_test(tjbenchtest "-precision;${PRECISION};-arithmetic;-yuv") |
| endif() |
| run_test(tjbenchtest "-precision;${PRECISION};-lossless") |
| run_test(tjbenchtest "-precision;${PRECISION};-lossless;-alloc") |
| if(PRECISION EQUAL 8) |
| run_test(tjexampletest "") |
| endif() |
| if(WITH_JAVA) |
| if(NOT PRECISION EQUAL 16) |
| run_test(tjbenchtest "-java;-precision;${PRECISION}") |
| endif() |
| if(PRECISION EQUAL 8) |
| run_test(tjbenchtest "-java;-precision;${PRECISION};-yuv") |
| run_test(tjbenchtest "-java;-precision;${PRECISION};-optimize") |
| run_test(tjbenchtest "-java;-precision;${PRECISION};-optimize;-yuv") |
| endif() |
| if(NOT PRECISION EQUAL 16) |
| run_test(tjbenchtest "-java;-precision;${PRECISION};-progressive") |
| endif() |
| if(PRECISION EQUAL 8) |
| run_test(tjbenchtest "-java;-precision;${PRECISION};-progressive;-yuv") |
| endif() |
| if(NOT PRECISION EQUAL 16) |
| run_test(tjbenchtest "-java;-precision;${PRECISION};-arithmetic") |
| run_test(tjbenchtest "-java;-precision;${PRECISION};-progressive;-arithmetic") |
| endif() |
| if(PRECISION EQUAL 8) |
| run_test(tjbenchtest "-java;-precision;${PRECISION};-arithmetic;-yuv") |
| endif() |
| run_test(tjbenchtest "-java;-precision;${PRECISION};-lossless") |
| if(PRECISION EQUAL 8) |
| run_test(tjexampletest "-java") |
| endif() |
| endif() |