Attempt to fix building of universal exe
[openjpeg.git] / applications / codec / CMakeLists.txt
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}/applications/common/color.c
8   ${OPENJPEG_SOURCE_DIR}/applications/common/opj_getopt.c
9   )
10
11 # Headers file are located here:
12 INCLUDE_DIRECTORIES(
13   ${OPENJPEG_SOURCE_DIR}/libopenjpeg
14   ${LCMS_INCLUDE_DIRNAME}
15   ${OPENJPEG_SOURCE_DIR}/applications/common
16   ${Z_INCLUDE_DIRNAME}
17   ${PNG_INCLUDE_DIRNAME}
18   ${TIFF_INCLUDE_DIRNAME}
19   )
20
21 IF(WIN32)
22   IF(BUILD_SHARED_LIBS)
23     ADD_DEFINITIONS(-DOPJ_EXPORTS)
24   ELSE(BUILD_SHARED_LIBS)
25     ADD_DEFINITIONS(-DOPJ_STATIC)
26   ENDIF(BUILD_SHARED_LIBS)
27 ENDIF(WIN32)
28
29 # Loop over all executables:
30 FOREACH(exe j2k_to_image image_to_j2k j2k_dump)
31   ADD_EXECUTABLE(${exe} ${exe}.c ${common_SRCS})
32   TARGET_LINK_LIBRARIES(${exe} ${OPENJPEG_LIBRARY_NAME} 
33     ${PNG_LIBNAME} ${TIFF_LIBNAME} ${LCMS_LIBNAME}
34     )
35   # To support universal exe:
36   IF(ZLIB_FOUND AND APPLE)
37     TARGET_LINK_LIBRARIES(${exe} z)
38   ELSe(ZLIB_FOUND AND APPLE)
39     TARGET_LINK_LIBRARIES(${exe} ${Z_LIBNAME})
40   ENDIF(ZLIB_FOUND AND APPLE)
41
42   # On unix you need to link to the math library:
43   IF(UNIX)
44     TARGET_LINK_LIBRARIES(${exe} m)
45   ENDIF(UNIX)
46   # Install exe
47   INSTALL(TARGETS ${exe}
48     EXPORT OpenJPEGTargets
49     DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
50   )
51 ENDFOREACH(exe)
52
53 # Install man pages
54 INSTALL(
55   FILES       ${OPENJPEG_SOURCE_DIR}/doc/man/man1/image_to_j2k.1
56               ${OPENJPEG_SOURCE_DIR}/doc/man/man1/j2k_dump.1
57               ${OPENJPEG_SOURCE_DIR}/doc/man/man1/j2k_to_image.1
58   DESTINATION ${OPENJPEG_INSTALL_MAN_DIR}/man1)
59 #
60
61 IF(BUILD_JPWL)
62   ADD_EXECUTABLE(JPWL_j2k_to_image
63   j2k_to_image.c
64   ${common_SRCS}
65   )
66   
67   SET_PROPERTY(
68      TARGET JPWL_j2k_to_image
69      APPEND PROPERTY COMPILE_DEFINITIONS USE_JPWL
70   )
71
72   TARGET_LINK_LIBRARIES(JPWL_j2k_to_image ${OPENJPEG_LIBRARY_NAME}_JPWL
73     ${LCMS_LIBNAME} ${Z_LIBNAME} ${PNG_LIBNAME} ${TIFF_LIBNAME})
74   
75   IF(UNIX)
76     TARGET_LINK_LIBRARIES(JPWL_j2k_to_image m)
77   ENDIF(UNIX)
78
79   ADD_EXECUTABLE(JPWL_image_to_j2k
80   image_to_j2k.c
81   ${common_SRCS}
82   )
83   
84   SET_PROPERTY(
85      TARGET JPWL_image_to_j2k
86      APPEND PROPERTY COMPILE_DEFINITIONS USE_JPWL
87   )
88
89   TARGET_LINK_LIBRARIES(JPWL_image_to_j2k ${OPENJPEG_LIBRARY_NAME}_JPWL 
90         ${LCMS_LIBNAME} ${Z_LIBNAME} ${PNG_LIBNAME} ${TIFF_LIBNAME})
91
92   IF(UNIX)
93     TARGET_LINK_LIBRARIES(JPWL_image_to_j2k m)
94   ENDIF(UNIX)
95
96   INSTALL(TARGETS JPWL_image_to_j2k JPWL_j2k_to_image
97     DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
98   )
99 ENDIF(BUILD_JPWL)