9788b71795d38bfa9c4035133baa7bb45a412f54
[openjpeg.git] / jpwl / CMakeLists.txt
1 # Makefile for the main JPWL OpenJPEG codecs: JPWL_ j2k_to_image and JPWL_image_to_j2k
2
3 ADD_DEFINITIONS(-DUSE_JPWL)
4
5 SET(OPJ_SRCS
6 ../libopenjpeg/bio.c
7 ../libopenjpeg/cio.c
8 ../libopenjpeg/dwt.c
9 ../libopenjpeg/event.c
10 ../libopenjpeg/image.c
11 ../libopenjpeg/j2k.c
12 ../libopenjpeg/j2k_lib.c
13 ../libopenjpeg/jp2.c
14 ../libopenjpeg/jpt.c
15 ../libopenjpeg/mct.c
16 ../libopenjpeg/mqc.c
17 ../libopenjpeg/openjpeg.c
18 ../libopenjpeg/pi.c
19 ../libopenjpeg/raw.c
20 ../libopenjpeg/t1.c
21 ../libopenjpeg/t2.c
22 ../libopenjpeg/tcd.c
23 ../libopenjpeg/tgt.c
24 ../libopenjpeg/opj_convert.c
25 )
26 SET(JPWL_SRCS crc.c jpwl.c jpwl_lib.c rs.c)
27
28 # If not getopt was found then add it to the lib:
29 IF(DONT_HAVE_GETOPT)
30   SET(OPJ_SRCS
31     ${OPJ_SRCS}
32     ../codec/compat/getopt.c
33   )
34 ENDIF(DONT_HAVE_GETOPT)
35
36 IF(LCMS_INCLUDE_DIR)
37   INCLUDE_DIRECTORIES( ${LCMS_INCLUDE_DIR} )
38 ENDIF(LCMS_INCLUDE_DIR)
39
40 # Build the static library
41 IF(WIN32)
42   ADD_DEFINITIONS(-DOPJ_STATIC)
43 ENDIF(WIN32)
44 ADD_LIBRARY(${OPENJPEG_LIBRARY_NAME}_JPWL.static STATIC ${JPWL_SRCS} ${OPJ_SRCS})
45 SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}_JPWL.static PROPERTIES OUTPUT_NAME ${OPENJPEG_LIBRARY_NAME}_JPWL)
46 SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}_JPWL.static PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES})
47 IF(LCMS_LIB)
48   TARGET_LINK_LIBRARIES(${OPENJPEG_LIBRARY_NAME}_JPWL.static ${LCMS_LIB})
49 ENDIF(LCMS_LIB)
50 # Install library
51 INSTALL(TARGETS ${OPENJPEG_LIBRARY_NAME}_JPWL.static
52   DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
53 )
54
55 # If BUILD_SHARED_LIBS is ON, also build the shared library
56 IF(BUILD_SHARED_LIBS)
57   # replace flag for static build with flag for shared build
58   IF(WIN32)
59     REMOVE_DEFINITIONS(-DOPJ_STATIC)
60     ADD_DEFINITIONS(-DOPJ_EXPORTS)
61   ENDIF(WIN32)
62   # Create the shared library
63   ADD_LIBRARY(${OPENJPEG_LIBRARY_NAME}_JPWL.shared SHARED ${JPWL_SRCS} ${OPJ_SRCS})
64   SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}_JPWL.shared PROPERTIES OUTPUT_NAME ${OPENJPEG_LIBRARY_NAME}_JPWL)
65   SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}_JPWL.shared PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES})
66   IF(LCMS_LIB)
67     TARGET_LINK_LIBRARIES(${OPENJPEG_LIBRARY_NAME}_JPWL.shared ${LCMS_LIB})
68   ENDIF(LCMS_LIB)
69   # Install library
70   INSTALL(TARGETS ${OPENJPEG_LIBRARY_NAME}_JPWL.shared
71     DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
72   )
73   IF(WIN32)
74     REMOVE_DEFINITIONS(-DOPJ_EXPORTS)
75   ENDIF(WIN32)
76 ENDIF(BUILD_SHARED_LIBS)
77
78 # Do the proper thing when building static...if only there was configured
79 # headers or def files instead
80 ADD_DEFINITIONS(-DOPJ_STATIC)
81
82 INCLUDE_DIRECTORIES(
83   ${OPENJPEG_SOURCE_DIR}/libopenjpeg
84   ${LCMS_INCLUDE_DIR}
85   )
86 IF(PNG_FOUND)
87   INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
88 ENDIF(PNG_FOUND)
89 IF(TIFF_FOUND)
90   INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR})
91 ENDIF(TIFF_FOUND)
92
93
94 ADD_EXECUTABLE(JPWL_j2k_to_image
95 ../codec/convert.c
96 ../codec/index.c
97 ../codec/j2k_to_image.c
98 )
99 TARGET_LINK_LIBRARIES(JPWL_j2k_to_image ${OPENJPEG_LIBRARY_NAME}_JPWL.static ${LCMS_LIB})
100 IF(PNG_FOUND)
101   TARGET_LINK_LIBRARIES(JPWL_j2k_to_image ${PNG_LIBRARIES})
102 ENDIF(PNG_FOUND)
103 IF(TIFF_FOUND)
104   TARGET_LINK_LIBRARIES(JPWL_j2k_to_image ${TIFF_LIBRARIES})
105 ENDIF(TIFF_FOUND)
106 IF(UNIX)
107   TARGET_LINK_LIBRARIES(JPWL_j2k_to_image m)
108 ENDIF(UNIX)
109
110
111 ADD_EXECUTABLE(JPWL_image_to_j2k
112 ../codec/convert.c
113 ../codec/index.c
114 ../codec/image_to_j2k.c
115 )
116 TARGET_LINK_LIBRARIES(JPWL_image_to_j2k ${OPENJPEG_LIBRARY_NAME}_JPWL.static ${LCMS_LIB})
117 IF(PNG_FOUND)
118   TARGET_LINK_LIBRARIES(JPWL_image_to_j2k ${PNG_LIBRARIES})
119 ENDIF(PNG_FOUND)
120 IF(TIFF_FOUND)
121   TARGET_LINK_LIBRARIES(JPWL_image_to_j2k ${TIFF_LIBRARIES})
122 ENDIF(TIFF_FOUND)
123 IF(UNIX)
124   TARGET_LINK_LIBRARIES(JPWL_image_to_j2k m)
125 ENDIF(UNIX)
126
127 INSTALL(TARGETS JPWL_image_to_j2k JPWL_j2k_to_image
128   DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Binaries
129 )