7 # memmgr back ends: compile only one of these into a working library
8 # (For now, let's use the mode that requires the image fit into memory.
9 # This is the recommended mode for Win32 anyway.)
10 SET(systemdependent_SRCS jmemnobs.c)
12 # library object files common to compression and decompression
14 jcomapi.c jutils.c jerror.c jmemmgr.c
17 # compression library object files
19 jcapimin.c jcapistd.c jctrans.c jcparam.c jcinit.c
20 jcmaster.c jcmarker.c jcmainct.c jcprepct.c jccoefct.c jccolor.c
21 jcsample.c jchuff.c jcphuff.c jcdctmgr.c jfdctfst.c jfdctflt.c
41 # decompression library object files
42 SET(decompression_SRCS
43 jdapimin.c jdapistd.c jdtrans.c jdmaster.c
44 jdinput.c jdmarker.c jdhuff.c jdphuff.c jdmainct.c jdcoefct.c
45 jdpostct.c jddctmgr.c jidctfst.c jidctflt.c jidctint.c jidctred.c
46 jdsample.c jdcolor.c jquant1.c jquant2.c jdmerge.c
66 # jmorecfg.h #no this one need to be configured
75 ${systemdependent_SRCS}
85 IF (BUILD_SHARED_LIBS)
86 ADD_DEFINITIONS(-DJPEGDLL)
87 ELSE (BUILD_SHARED_LIBS)
88 ADD_DEFINITIONS(-DJPEGSTATIC)
89 ENDIF (BUILD_SHARED_LIBS)
92 # Attempt to generate two libraries: jpeg 8bits and 12 bits using only one
98 FOREACH(file ${JPEG_SOURCES})
99 # Duplicate jpeg source in subdir libijg8
100 CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
101 "${CMAKE_CURRENT_BINARY_DIR}/libijg8/${file}"
103 SET(JPEG8_SOURCES ${JPEG8_SOURCES} "${CMAKE_CURRENT_BINARY_DIR}/libijg8/${file}")
105 # Duplicate jpeg source in subdir libijg12
106 CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
107 "${CMAKE_CURRENT_BINARY_DIR}/libijg12/${file}"
109 SET(JPEG12_SOURCES ${JPEG12_SOURCES} "${CMAKE_CURRENT_BINARY_DIR}/libijg12/${file}")
111 # Duplicate jpeg source in subdir libijg16
112 CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
113 "${CMAKE_CURRENT_BINARY_DIR}/libijg16/${file}"
115 SET(JPEG16_SOURCES ${JPEG16_SOURCES} "${CMAKE_CURRENT_BINARY_DIR}/libijg16/${file}")
119 # Now copy the header files
120 FOREACH(file ${JPEG_HEADER_FILES})
121 CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
122 "${CMAKE_CURRENT_BINARY_DIR}/libijg8/${file}"
124 CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
125 "${CMAKE_CURRENT_BINARY_DIR}/libijg12/${file}"
127 CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
128 "${CMAKE_CURRENT_BINARY_DIR}/libijg16/${file}"
132 # Particular case jmorecfg.h needs to be specified either 8, 12 or 16 bits:
133 SET(GDCM_BITS_IN_JSAMPLE 8)
134 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jmorecfg.h
135 ${CMAKE_CURRENT_BINARY_DIR}/libijg8/jmorecfg.h @ONLY IMMEDIATE)
136 SET(BITS_TYPE_JPEG_MANGLE_NAME gdcm_mangle_8bits.h)
137 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jconfig.h.in
138 ${CMAKE_CURRENT_BINARY_DIR}/libijg8/jconfig.h @ONLY IMMEDIATE)
139 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/gdcm_mangle_8bits.h
140 ${CMAKE_CURRENT_BINARY_DIR}/libijg8/gdcm_mangle_8bits.h @ONLY IMMEDIATE)
144 SET(GDCM_BITS_IN_JSAMPLE 12)
145 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jmorecfg.h
146 ${CMAKE_CURRENT_BINARY_DIR}/libijg12/jmorecfg.h @ONLY IMMEDIATE)
147 SET(BITS_TYPE_JPEG_MANGLE_NAME gdcm_mangle_12bits.h)
148 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jconfig.h.in
149 ${CMAKE_CURRENT_BINARY_DIR}/libijg12/jconfig.h @ONLY IMMEDIATE)
150 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/gdcm_mangle_12bits.h
151 ${CMAKE_CURRENT_BINARY_DIR}/libijg12/gdcm_mangle_12bits.h @ONLY IMMEDIATE)
155 SET(GDCM_BITS_IN_JSAMPLE 16)
156 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jmorecfg.h
157 ${CMAKE_CURRENT_BINARY_DIR}/libijg16/jmorecfg.h @ONLY IMMEDIATE)
158 SET(BITS_TYPE_JPEG_MANGLE_NAME gdcm_mangle_16bits.h)
159 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jconfig.h.in
160 ${CMAKE_CURRENT_BINARY_DIR}/libijg16/jconfig.h @ONLY IMMEDIATE)
161 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/gdcm_mangle_16bits.h
162 ${CMAKE_CURRENT_BINARY_DIR}/libijg16/gdcm_mangle_16bits.h @ONLY IMMEDIATE)