1 # Build the demo app, small examples
3 # First thing define the common source:
7 ${PROJECT_SOURCE_DIR}/common/color.c
10 # If not getopt was found then add it to the lib:
14 ${PROJECT_SOURCE_DIR}/common/getopt.c
16 ENDIF(DONT_HAVE_GETOPT)
18 # Headers file are located here:
20 ${OPENJPEG_SOURCE_DIR}/libopenjpeg
22 ${OPENJPEG_SOURCE_DIR}/common
25 INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
28 INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR})
31 # Loop over all executables:
32 FOREACH(exe j2k_to_image image_to_j2k j2k_dump)
33 ADD_EXECUTABLE(${exe} ${exe}.c ${common_SRCS})
34 TARGET_LINK_LIBRARIES(${exe} ${OPENJPEG_LIBRARY_NAME} ${LCMS_LIB})
36 TARGET_LINK_LIBRARIES(${exe} ${PNG_LIBRARIES})
39 TARGET_LINK_LIBRARIES(${exe} ${TIFF_LIBRARIES})
41 ADD_TEST(${exe} ${EXECUTABLE_OUTPUT_PATH}/${exe})
42 # calling those exe without option will make them fail always:
43 SET_TESTS_PROPERTIES(${exe} PROPERTIES WILL_FAIL TRUE)
44 # On unix you need to link to the math library:
46 TARGET_LINK_LIBRARIES(${exe} m)
49 INSTALL(TARGETS ${exe}
50 EXPORT OpenJPEGTargets
51 DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
57 FILES ../doc/man/man1/image_to_j2k.1
58 ../doc/man/man1/j2k_dump.1
59 ../doc/man/man1/j2k_to_image.1
60 DESTINATION ${OPENJPEG_INSTALL_MAN_DIR}/man1)
64 # Do testing here, once we know the examples are being built:
65 FILE(GLOB_RECURSE OPENJPEG_DATA_IMAGES_GLOB
66 "${JPEG2000_CONFORMANCE_DATA_ROOT}/*.j2k"
67 "${JPEG2000_CONFORMANCE_DATA_ROOT}/*.j2c"
68 "${JPEG2000_CONFORMANCE_DATA_ROOT}/*.jp2"
71 foreach(filename ${OPENJPEG_DATA_IMAGES_GLOB})
72 get_filename_component(filename_temp ${filename} NAME)
73 get_filename_component(filename_ext ${filename} EXT)
74 execute_process(COMMAND ${EXECUTABLE_OUTPUT_PATH}/j2k_dump -i ${filename}
75 OUTPUT_VARIABLE dump_success
76 OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/${filename_temp}.dump
80 file(READ ${CMAKE_CURRENT_BINARY_DIR}/${filename_temp}.dump numcomp_file)
81 string(REGEX REPLACE ".*numcomps=([0-9]+).*" "\\1"
82 numcomps "${numcomp_file}")
83 #message( "found:${output_variable} for ${filename_temp}" )
85 ADD_TEST(dump-${filename_temp} ${EXECUTABLE_OUTPUT_PATH}/j2k_dump -i ${filename})
86 foreach(codec_type ppm pgx bmp tif raw tga png)
87 ADD_TEST(j2i-${filename_temp}-${codec_type} ${EXECUTABLE_OUTPUT_PATH}/j2k_to_image -i ${filename} -o ${filename_temp}.${codec_type})
88 ADD_TEST(i2j-${filename_temp}-${codec_type} ${EXECUTABLE_OUTPUT_PATH}/image_to_j2k -i ${filename_temp}.${codec_type} -o ${filename_temp}.${codec_type}${filename_ext})
90 # ADD_TEST(cmp-${filename_temp}-${codec_type} cmp ${filename} ${filename_temp}.${codec_type}${filename_ext})
92 endforeach(codec_type)