Subversion Repositories Kolibri OS

Rev

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)