[trunk] Add a small helper to spli ppm into 3 pgm files
[openjpeg.git] / tests / CMakeLists.txt
1 # Tests
2 include_directories(
3   ${OPENJPEG_BINARY_DIR}/src/lib/openjp2 # opj_config.h
4   ${OPENJPEG_BINARY_DIR}/src/bin/common # opj_apps_config.h
5   ${OPENJPEG_SOURCE_DIR}/src/lib/openjp2
6   ${OPENJPEG_SOURCE_DIR}/src/bin/jp2
7   ${OPENJPEG_SOURCE_DIR}/src/bin/common
8   ${Z_INCLUDE_DIRNAME}
9   ${PNG_INCLUDE_DIRNAME}
10   ${TIFF_INCLUDE_DIRNAME}
11   )
12
13 # First thing define the common source:
14 set(compare_images_SRCS compare_images.c
15   ${OPENJPEG_SOURCE_DIR}/src/bin/jp2/convert.c
16   ${OPENJPEG_SOURCE_DIR}/src/bin/common/opj_getopt.c
17   )
18
19 set(compare_dump_files_SRCS compare_dump_files.c
20   ${OPENJPEG_SOURCE_DIR}/src/bin/common/opj_getopt.c)
21
22 set(compare_raw_files_SRCS compare_raw_files.c
23   ${OPENJPEG_SOURCE_DIR}/src/bin/common/opj_getopt.c)
24
25 add_executable(compare_images ${compare_images_SRCS})
26 target_link_libraries(compare_images
27   ${OPENJPEG_LIBRARY_NAME}
28   ${PNG_LIBNAME} ${TIFF_LIBNAME}
29   )
30 # To support universal exe:
31 if(ZLIB_FOUND AND APPLE)
32   target_link_libraries(compare_images z)
33 else(ZLIB_FOUND AND APPLE)
34   target_link_libraries(compare_images ${Z_LIBNAME})
35 endif()
36
37 add_executable(compare_dump_files ${compare_dump_files_SRCS})
38
39 add_executable(j2k_random_tile_access j2k_random_tile_access.c)
40 target_link_libraries(j2k_random_tile_access ${OPENJPEG_LIBRARY_NAME})
41
42 add_executable(compare_raw_files ${compare_raw_files_SRCS})
43
44 add_executable(test_tile_encoder test_tile_encoder.c)
45 target_link_libraries(test_tile_encoder ${OPENJPEG_LIBRARY_NAME})
46
47 # Let's try a couple of possibilities:
48 add_test(NAME tte0 COMMAND test_tile_encoder)
49 add_test(NAME tte1 COMMAND test_tile_encoder 3 2048 2048 1024 1024 8 1 tte1.j2k)
50 add_test(NAME tte2 COMMAND test_tile_encoder 3 2048 2048 1024 1024 8 1 tte2.jp2)
51 add_test(NAME tte3 COMMAND test_tile_encoder 1 2048 2048 1024 1024 8 1 tte3.j2k)
52 add_test(NAME tte4 COMMAND test_tile_encoder 1  256  256  128  128 8 0 tte4.j2k)
53 add_test(NAME tte5 COMMAND test_tile_encoder 1  512  512  256  256 8 0 tte5.j2k)
54 #add_test(NAME tte6 COMMAND test_tile_encoder 1 8192 8192  512  512 8 0 tte6.j2k)
55 #add_test(NAME tte7 COMMAND test_tile_encoder 1 32768 32768 512  512 8 0 tte7.jp2)
56
57 add_executable(test_tile_decoder test_tile_decoder.c)
58 target_link_libraries(test_tile_decoder ${OPENJPEG_LIBRARY_NAME})
59
60 add_test(NAME ttd0 COMMAND test_tile_decoder)
61 set_property(TEST ttd0 APPEND PROPERTY DEPENDS tte0)
62 add_test(NAME ttd1 COMMAND test_tile_decoder 0 0 1024 1024 tte1.j2k)
63 set_property(TEST ttd1 APPEND PROPERTY DEPENDS tte1)
64 add_test(NAME ttd2 COMMAND test_tile_decoder 0 0 1024 1024 tte2.jp2)
65 set_property(TEST ttd2 APPEND PROPERTY DEPENDS tte2)
66 #add_test(NAME ttd6 COMMAND test_tile_decoder 0 0  512  512 tte6.j2k)
67 #set_property(TEST ttd6 APPEND PROPERTY DEPENDS tte6)
68 #add_test(NAME ttd7 COMMAND test_tile_decoder 0 0  512  512 tte7.jp2)
69 #set_property(TEST ttd7 APPEND PROPERTY DEPENDS tte7)
70
71 add_test(NAME rta1 COMMAND j2k_random_tile_access tte1.j2k)
72 set_property(TEST rta1 APPEND PROPERTY DEPENDS tte1)
73 add_test(NAME rta2 COMMAND j2k_random_tile_access tte2.jp2)
74 set_property(TEST rta2 APPEND PROPERTY DEPENDS tte2)
75 add_test(NAME rta3 COMMAND j2k_random_tile_access tte3.j2k)
76 set_property(TEST rta3 APPEND PROPERTY DEPENDS tte3)
77 add_test(NAME rta4 COMMAND j2k_random_tile_access tte4.j2k)
78 set_property(TEST rta4 APPEND PROPERTY DEPENDS tte4)
79 add_test(NAME rta5 COMMAND j2k_random_tile_access tte5.j2k)
80 set_property(TEST rta5 APPEND PROPERTY DEPENDS tte5)
81
82 # No image send to the dashboard if lib PNG is not available.
83 if(NOT OPJ_HAVE_LIBPNG)
84   message(WARNING "Lib PNG seems to be not available: if you want run the non-regression tests with images reported to the dashboard, you need it (try BUILD_THIRDPARTY)")
85 endif()
86
87 add_subdirectory(conformance)
88 add_subdirectory(nonregression)
89 add_subdirectory(unit)
90
91 if(BUILD_JPIP)
92   if(JPIP_SERVER)
93     #set(s "http://jpip.example.com/myFCGI?target=16.jp2&fsiz=170,170&cnew=http&type=jpp-stream")
94     set(s "${JPIP_SERVER}?target=16.jp2&fsiz=170,170&cnew=http&type=jpp-stream")
95     set(p "${CMAKE_CURRENT_BINARY_DIR}/jpip.dat")
96     set(md5 "d41d8cd98f00b204e9800998ecf8427e")
97     add_test(NAME TestJPIP1 COMMAND ${CMAKE_COMMAND} -DD_URL:STRING=${s} -DD_FILE:PATH=${p}
98       -DEXPECTED_MD5=${md5} -P ${PROJECT_SOURCE_DIR}/cmake/JPIPTestDriver.cmake)
99   endif()
100 endif()
101
102 add_executable(ppm2rgb3 ppm2rgb3.c)