Imported Upstream version 3.0.1
[platform/upstream/libjpeg-turbo.git] / cmakescripts / tjbenchtest.cmake
1 if(NOT DEFINED PRECISION)
2   message(FATAL_ERROR "PRECISION must be specified")
3 endif()
4
5 if(NOT DEFINED WITH_JAVA)
6   message(FATAL_ERROR "WITH_JAVA must be specified")
7 endif()
8
9 macro(check_error program)
10   if(NOT RESULT EQUAL 0)
11     message(FATAL_ERROR "${program} failed.")
12   endif()
13 endmacro()
14
15 macro(run_test PROG ARGS)
16   string(REPLACE ";" " " SPACED_ARGS "${ARGS}")
17   message(STATUS "${PROG} ${SPACED_ARGS}")
18   execute_process(COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${PROG} ${ARGS}
19     RESULT_VARIABLE RESULT)
20   check_error("${PROG} ${SPACED_ARGS}")
21 endmacro()
22
23 if(NOT PRECISION EQUAL 16)
24   run_test(tjbenchtest "-precision;${PRECISION}")
25   run_test(tjbenchtest "-precision;${PRECISION};-alloc")
26 endif()
27 if(PRECISION EQUAL 8)
28   run_test(tjbenchtest "-precision;${PRECISION};-yuv")
29   run_test(tjbenchtest "-precision;${PRECISION};-yuv;-alloc")
30   run_test(tjbenchtest "-precision;${PRECISION};-optimize")
31   run_test(tjbenchtest "-precision;${PRECISION};-optimize;-yuv")
32 endif()
33 if(NOT PRECISION EQUAL 16)
34   run_test(tjbenchtest "-precision;${PRECISION};-progressive")
35 endif()
36 if(PRECISION EQUAL 8)
37   run_test(tjbenchtest "-precision;${PRECISION};-progressive;-yuv")
38 endif()
39 if(NOT PRECISION EQUAL 16)
40   run_test(tjbenchtest "-precision;${PRECISION};-arithmetic")
41   run_test(tjbenchtest "-precision;${PRECISION};-progressive;-arithmetic")
42 endif()
43 if(PRECISION EQUAL 8)
44   run_test(tjbenchtest "-precision;${PRECISION};-arithmetic;-yuv")
45 endif()
46 run_test(tjbenchtest "-precision;${PRECISION};-lossless")
47 run_test(tjbenchtest "-precision;${PRECISION};-lossless;-alloc")
48 if(PRECISION EQUAL 8)
49   run_test(tjexampletest "")
50 endif()
51 if(WITH_JAVA)
52   if(NOT PRECISION EQUAL 16)
53     run_test(tjbenchtest "-java;-precision;${PRECISION}")
54   endif()
55   if(PRECISION EQUAL 8)
56     run_test(tjbenchtest "-java;-precision;${PRECISION};-yuv")
57     run_test(tjbenchtest "-java;-precision;${PRECISION};-optimize")
58     run_test(tjbenchtest "-java;-precision;${PRECISION};-optimize;-yuv")
59   endif()
60   if(NOT PRECISION EQUAL 16)
61     run_test(tjbenchtest "-java;-precision;${PRECISION};-progressive")
62   endif()
63   if(PRECISION EQUAL 8)
64     run_test(tjbenchtest "-java;-precision;${PRECISION};-progressive;-yuv")
65   endif()
66   if(NOT PRECISION EQUAL 16)
67     run_test(tjbenchtest "-java;-precision;${PRECISION};-arithmetic")
68     run_test(tjbenchtest "-java;-precision;${PRECISION};-progressive;-arithmetic")
69   endif()
70   if(PRECISION EQUAL 8)
71     run_test(tjbenchtest "-java;-precision;${PRECISION};-arithmetic;-yuv")
72   endif()
73   run_test(tjbenchtest "-java;-precision;${PRECISION};-lossless")
74   if(PRECISION EQUAL 8)
75     run_test(tjexampletest "-java")
76   endif()
77 endif()