Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4758 | right-hear | 1 | # Build the demo app, small examples |
2 | |||
3 | # First thing define the common source: |
||
4 | SET(common_SRCS |
||
5 | convert.c |
||
6 | index.c |
||
7 | ${OPENJPEG_SOURCE_DIR}/common/color.c |
||
8 | ) |
||
9 | |||
10 | # If not getopt was found then add it to the lib: |
||
11 | IF(DONT_HAVE_GETOPT) |
||
12 | SET(common_SRCS |
||
13 | ${common_SRCS} |
||
14 | ${OPENJPEG_SOURCE_DIR}/common/getopt.c |
||
15 | ) |
||
16 | ENDIF(DONT_HAVE_GETOPT) |
||
17 | |||
18 | # Headers file are located here: |
||
19 | INCLUDE_DIRECTORIES( |
||
20 | ${OPENJPEG_SOURCE_DIR}/libopenjpeg |
||
21 | ${LCMS_INCLUDE_DIR} |
||
22 | ${OPENJPEG_SOURCE_DIR}/common |
||
23 | ) |
||
24 | IF(PNG_FOUND) |
||
25 | INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR}) |
||
26 | ENDIF(PNG_FOUND) |
||
27 | IF(TIFF_FOUND) |
||
28 | INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR}) |
||
29 | ENDIF(TIFF_FOUND) |
||
30 | |||
31 | IF(WIN32) |
||
32 | IF(BUILD_SHARED_LIBS) |
||
33 | ADD_DEFINITIONS(-DOPJ_EXPORTS) |
||
34 | ELSE(BUILD_SHARED_LIBS) |
||
35 | ADD_DEFINITIONS(-DOPJ_STATIC) |
||
36 | ENDIF(BUILD_SHARED_LIBS) |
||
37 | ENDIF(WIN32) |
||
38 | |||
39 | # Loop over all executables: |
||
40 | FOREACH(exe j2k_to_image image_to_j2k j2k_dump) |
||
41 | ADD_EXECUTABLE(${exe} ${exe}.c ${common_SRCS}) |
||
42 | TARGET_LINK_LIBRARIES(${exe} ${OPENJPEG_LIBRARY_NAME} ${LCMS_LIB}) |
||
43 | IF(PNG_FOUND) |
||
44 | TARGET_LINK_LIBRARIES(${exe} ${PNG_LIBRARIES}) |
||
45 | ENDIF(PNG_FOUND) |
||
46 | IF(TIFF_FOUND) |
||
47 | TARGET_LINK_LIBRARIES(${exe} ${TIFF_LIBRARIES}) |
||
48 | ENDIF(TIFF_FOUND) |
||
49 | ADD_TEST(${exe} ${EXECUTABLE_OUTPUT_PATH}/${exe}) |
||
50 | # calling those exe without option will make them fail always: |
||
51 | SET_TESTS_PROPERTIES(${exe} PROPERTIES WILL_FAIL TRUE) |
||
52 | # On unix you need to link to the math library: |
||
53 | IF(UNIX) |
||
54 | TARGET_LINK_LIBRARIES(${exe} m) |
||
55 | ENDIF(UNIX) |
||
56 | # Install exe |
||
57 | INSTALL(TARGETS ${exe} |
||
58 | EXPORT OpenJPEGTargets |
||
59 | DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications |
||
60 | ) |
||
61 | ENDFOREACH(exe) |
||
62 | |||
63 | # Install man pages |
||
64 | INSTALL( |
||
65 | FILES ../doc/man/man1/image_to_j2k.1 |
||
66 | ../doc/man/man1/j2k_dump.1 |
||
67 | ../doc/man/man1/j2k_to_image.1 |
||
68 | DESTINATION ${OPENJPEG_INSTALL_MAN_DIR}/man1) |
||
69 | # |
||
70 | |||
71 | if(BUILD_TESTING) |
||
72 | # Do testing here, once we know the examples are being built: |
||
73 | FILE(GLOB_RECURSE OPENJPEG_DATA_IMAGES_GLOB |
||
74 | "${JPEG2000_CONFORMANCE_DATA_ROOT}/*.j2k" |
||
75 | "${JPEG2000_CONFORMANCE_DATA_ROOT}/*.j2c" |
||
76 | "${JPEG2000_CONFORMANCE_DATA_ROOT}/*.jp2" |
||
77 | ) |
||
78 | |||
79 | foreach(filename ${OPENJPEG_DATA_IMAGES_GLOB}) |
||
80 | get_filename_component(filename_temp ${filename} NAME) |
||
81 | get_filename_component(filename_ext ${filename} EXT) |
||
82 | execute_process(COMMAND ${EXECUTABLE_OUTPUT_PATH}/j2k_dump -i ${filename} |
||
83 | OUTPUT_VARIABLE dump_success |
||
84 | OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/${filename_temp}.dump |
||
85 | ERROR_QUIET |
||
86 | ) |
||
87 | if(dump_success) |
||
88 | file(READ ${CMAKE_CURRENT_BINARY_DIR}/${filename_temp}.dump numcomp_file) |
||
89 | string(REGEX REPLACE ".*numcomps=([0-9]+).*" "\\1" |
||
90 | numcomps "${numcomp_file}") |
||
91 | #message( "found:${output_variable} for ${filename_temp}" ) |
||
92 | endif() |
||
93 | ADD_TEST(dump-${filename_temp} ${EXECUTABLE_OUTPUT_PATH}/j2k_dump -i ${filename}) |
||
94 | foreach(codec_type ppm pgx bmp tif raw tga png) |
||
95 | ADD_TEST(j2i-${filename_temp}-${codec_type} ${EXECUTABLE_OUTPUT_PATH}/j2k_to_image -i ${filename} -o ${filename_temp}.${codec_type}) |
||
96 | 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}) |
||
97 | #if(UNIX) |
||
98 | # ADD_TEST(cmp-${filename_temp}-${codec_type} cmp ${filename} ${filename_temp}.${codec_type}${filename_ext}) |
||
99 | #endif(UNIX) |
||
100 | endforeach(codec_type) |
||
101 | endforeach(filename) |
||
102 | endif(BUILD_TESTING) |