9e53f366bc4c6352ee3c9b999141aa5afc9a6884
[openjpeg.git] / tests / CMakeLists.txt
1 # Tests
2 include_directories(
3   ${OPENJPEG_BINARY_DIR}/src/lib/openjp2 # opj_config.h
4   ${OPENJPEG_SOURCE_DIR}/src/lib/openjp2
5   ${OPENJPEG_SOURCE_DIR}/src/bin/jp2
6   ${OPENJPEG_SOURCE_DIR}/src/bin/common
7   ${Z_INCLUDE_DIRNAME}
8   ${PNG_INCLUDE_DIRNAME}
9   ${TIFF_INCLUDE_DIRNAME}
10   )
11
12 # First thing define the common source:
13 set(comparePGXimages_SRCS comparePGXimages.c
14   ${OPENJPEG_SOURCE_DIR}/src/bin/jp2/convert.c
15   ${OPENJPEG_SOURCE_DIR}/src/bin/common/opj_getopt.c
16   )
17
18 set(compare_dump_files_SRCS compare_dump_files.c
19   ${OPENJPEG_SOURCE_DIR}/src/bin/common/opj_getopt.c)
20
21 set(compareRAWimages_SRCS compareRAWimages.c
22   ${OPENJPEG_SOURCE_DIR}/src/bin/common/opj_getopt.c)
23
24 add_executable(comparePGXimages ${comparePGXimages_SRCS})
25 target_link_libraries(comparePGXimages
26   ${OPENJPEG_LIBRARY_NAME}
27   ${PNG_LIBNAME} ${TIFF_LIBNAME}
28   )
29 # To support universal exe:
30 if(ZLIB_FOUND AND APPLE)
31   target_link_libraries(comparePGXimages z)
32 else(ZLIB_FOUND AND APPLE)
33   target_link_libraries(comparePGXimages ${Z_LIBNAME})
34 endif()
35
36 add_executable(compare_dump_files ${compare_dump_files_SRCS})
37
38 add_executable(j2k_random_tile_access j2k_random_tile_access.c)
39 target_link_libraries(j2k_random_tile_access ${OPENJPEG_LIBRARY_NAME})
40
41 add_executable(compareRAWimages ${compareRAWimages_SRCS})
42
43 add_executable(test_tile_encoder test_tile_encoder.c)
44 target_link_libraries(test_tile_encoder ${OPENJPEG_LIBRARY_NAME})
45
46 # Let's try a couple of possibilities:
47 add_test(tte0 ${EXECUTABLE_OUTPUT_PATH}/test_tile_encoder)
48 add_test(tte1 ${EXECUTABLE_OUTPUT_PATH}/test_tile_encoder 3 2048 2048 1024 1024 8 1 tte1.j2k)
49 add_test(tte2 ${EXECUTABLE_OUTPUT_PATH}/test_tile_encoder 3 2048 2048 1024 1024 8 1 tte2.jp2)
50 add_test(tte3 ${EXECUTABLE_OUTPUT_PATH}/test_tile_encoder 1 2048 2048 1024 1024 8 1 tte3.j2k)
51 add_test(tte4 ${EXECUTABLE_OUTPUT_PATH}/test_tile_encoder 1  256  256  128  128 8 0 tte4.j2k)
52 add_test(tte5 ${EXECUTABLE_OUTPUT_PATH}/test_tile_encoder 1  512  512  256  256 8 0 tte5.j2k)
53 #add_test(tte6 ${EXECUTABLE_OUTPUT_PATH}/test_tile_encoder 1 8192 8192  512  512 8 0 tte6.j2k)
54 #add_test(tte7 ${EXECUTABLE_OUTPUT_PATH}/test_tile_encoder 1 32768 32768 512  512 8 0 tte7.jp2)
55
56 add_executable(test_tile_decoder test_tile_decoder.c)
57 target_link_libraries(test_tile_decoder ${OPENJPEG_LIBRARY_NAME})
58
59 add_test(ttd0 ${EXECUTABLE_OUTPUT_PATH}/test_tile_decoder)
60 set_property(TEST ttd0 APPEND PROPERTY DEPENDS tte0)
61 add_test(ttd1 ${EXECUTABLE_OUTPUT_PATH}/test_tile_decoder 0 0 1024 1024 tte1.j2k)
62 set_property(TEST ttd1 APPEND PROPERTY DEPENDS tte1)
63 add_test(ttd2 ${EXECUTABLE_OUTPUT_PATH}/test_tile_decoder 0 0 1024 1024 tte2.jp2)
64 set_property(TEST ttd2 APPEND PROPERTY DEPENDS tte2)
65 #add_test(ttd6 ${EXECUTABLE_OUTPUT_PATH}/test_tile_decoder 0 0  512  512 tte6.j2k)
66 #set_property(TEST ttd6 APPEND PROPERTY DEPENDS tte6)
67 #add_test(ttd7 ${EXECUTABLE_OUTPUT_PATH}/test_tile_decoder 0 0  512  512 tte7.jp2)
68 #set_property(TEST ttd7 APPEND PROPERTY DEPENDS tte7)
69
70 # No image send to the dashboard if lib PNG is not available.
71 if(NOT HAVE_LIBPNG)
72   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)")
73 endif()
74
75 add_subdirectory(conformance)
76 add_subdirectory(nonregression)
77 add_subdirectory(unit)
78
79 if(BUILD_JPIP)
80   if(JPIP_SERVER)
81     #set(s "http://jpip.example.com/myFCGI?target=16.jp2&fsiz=170,170&cnew=http&type=jpp-stream")
82     set(s "${JPIP_SERVER}?target=16.jp2&fsiz=170,170&cnew=http&type=jpp-stream")
83     set(p "${CMAKE_CURRENT_BINARY_DIR}/jpip.dat")
84     set(md5 "62b00c620fb0a600c5ffd413cada4674")
85     add_test(TestJPIP1 ${CMAKE_COMMAND} -DD_URL:STRING=${s} -DD_FILE:PATH=${p}
86       -DEXPECTED_MD5=${md5} -P ${PROJECT_SOURCE_DIR}/CMake/JPIPTestDriver.cmake)
87   endif()
88 endif()