[trunk] Enable tile decoding/encoding round trip
[openjpeg.git] / tests / CMakeLists.txt
1 # Tests
2 INCLUDE_DIRECTORIES(
3   ${OPENJPEG_SOURCE_DIR}/libopenjpeg
4   ${OPENJPEG_SOURCE_DIR}/applications/codec
5   ${OPENJPEG_SOURCE_DIR}/applications/common
6   ${Z_INCLUDE_DIRNAME}
7   ${PNG_INCLUDE_DIRNAME}
8   ${TIFF_INCLUDE_DIRNAME}
9   )
10
11 # First thing define the common source:
12 SET(comparePGXimages_SRCS comparePGXimages.c
13   ${OPENJPEG_SOURCE_DIR}/applications/codec/convert.c
14   ${OPENJPEG_SOURCE_DIR}/applications/common/opj_getopt.c
15   )
16
17 SET(compare_dump_files_SRCS compare_dump_files.c
18   ${OPENJPEG_SOURCE_DIR}/applications/common/opj_getopt.c)
19
20 SET(compareRAWimages_SRCS compareRAWimages.c
21   ${OPENJPEG_SOURCE_DIR}/applications/common/opj_getopt.c)
22
23 ADD_EXECUTABLE(comparePGXimages ${comparePGXimages_SRCS})
24 TARGET_LINK_LIBRARIES(comparePGXimages
25   ${OPENJPEG_LIBRARY_NAME}
26   ${PNG_LIBNAME} ${TIFF_LIBNAME}
27   )
28 # To support universal exe:
29 IF(ZLIB_FOUND AND APPLE)
30   TARGET_LINK_LIBRARIES(comparePGXimages z)
31 ELSe(ZLIB_FOUND AND APPLE)
32   TARGET_LINK_LIBRARIES(comparePGXimages ${Z_LIBNAME})
33 ENDIF(ZLIB_FOUND AND APPLE)
34
35 ADD_EXECUTABLE(compare_dump_files ${compare_dump_files_SRCS})
36
37 ADD_EXECUTABLE(j2k_random_tile_access j2k_random_tile_access.c)
38 TARGET_LINK_LIBRARIES(j2k_random_tile_access ${OPENJPEG_LIBRARY_NAME})
39
40 ADD_EXECUTABLE(compareRAWimages ${compareRAWimages_SRCS})
41
42 ADD_EXECUTABLE(test_tile_encoder test_tile_encoder.c)
43 TARGET_LINK_LIBRARIES(test_tile_encoder ${OPENJPEG_LIBRARY_NAME})
44
45 # Let's try a couple of possibilities:
46 ADD_TEST(tte0 ${EXECUTABLE_OUTPUT_PATH}/test_tile_encoder)
47 ADD_TEST(tte1 ${EXECUTABLE_OUTPUT_PATH}/test_tile_encoder 3 2048 2048 1024 1024 8 tte1.j2k)
48 ADD_TEST(tte2 ${EXECUTABLE_OUTPUT_PATH}/test_tile_encoder 3 2048 2048 1024 1024 8 tte1.jp2)
49
50 ADD_EXECUTABLE(test_tile_decoder test_tile_decoder.c)
51 TARGET_LINK_LIBRARIES(test_tile_decoder ${OPENJPEG_LIBRARY_NAME})
52
53 ADD_TEST(ttd0 ${EXECUTABLE_OUTPUT_PATH}/test_tile_decoder)
54 set_property(TEST ttd0 APPEND PROPERTY DEPENDS tte0)
55 ADD_TEST(ttd1 ${EXECUTABLE_OUTPUT_PATH}/test_tile_decoder 0 0 1024 1024 tte1.j2k)
56 set_property(TEST ttd1 APPEND PROPERTY DEPENDS tte1)
57 ADD_TEST(ttd2 ${EXECUTABLE_OUTPUT_PATH}/test_tile_decoder 0 0 1024 1024 tte1.jp2)
58 set_property(TEST ttd2 APPEND PROPERTY DEPENDS tte2)
59
60 # No image send to the dashboard if lib PNG is not available.
61 IF(NOT HAVE_LIBPNG)
62   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)") 
63 ENDIF(NOT HAVE_LIBPNG)
64
65 ADD_SUBDIRECTORY(conformance)
66 ADD_SUBDIRECTORY(nonregression)
67
68 IF(BUILD_JPIP)
69   IF(JPIP_SERVER)
70     #SET(s "http://jpip.example.com/myFCGI?target=16.jp2&fsiz=170,170&cnew=http&type=jpp-stream")
71     SET(s "${JPIP_SERVER}?target=16.jp2&fsiz=170,170&cnew=http&type=jpp-stream")
72     SET(p "${CMAKE_CURRENT_BINARY_DIR}/jpip.dat")
73     SET(md5 "62b00c620fb0a600c5ffd413cada4674")
74     ADD_TEST(TestJPIP1 ${CMAKE_COMMAND} -DD_URL:STRING=${s} -DD_FILE:PATH=${p}
75       -DEXPECTED_MD5=${md5} -P ${PROJECT_SOURCE_DIR}/CMake/JPIPTestDriver.cmake)
76   ENDIF(JPIP_SERVER)
77 ENDIF(BUILD_JPIP)