]> Creatis software - gdcm.git/blobdiff - src/jpeg/CMakeLists.txt
ENH: * Finished lossless transition, not only do we now read all lossless jpeg
[gdcm.git] / src / jpeg / CMakeLists.txt
index 667bfc5b1e683d3a4f66718b79d9002b236c8894..605b7b713beeab9c82418c7d3fdda75092cac52a 100644 (file)
@@ -1,7 +1,7 @@
 SUBDIRS(
+  libijg16 
   libijg12 
   libijg8
-  ljpg
 )
 
 # memmgr back ends: compile only one of these into a working library
@@ -19,7 +19,23 @@ SET(compression_SRCS
 jcapimin.c jcapistd.c jctrans.c jcparam.c jdatadst.c jcinit.c
 jcmaster.c jcmarker.c jcmainct.c jcprepct.c jccoefct.c jccolor.c
 jcsample.c jchuff.c jcphuff.c jcdctmgr.c jfdctfst.c jfdctflt.c
+)
+
+# Lossy (DCT) codec:
+SET(comp_lossy_SRCS
 jfdctint.c
+jclossy.c
+
+# lossless
+jclossls.c
+
+jdarith.c
+jcodec.c
+jcscale.c
+jcshuff.c
+jclhuff.c
+jcpred.c
+jcdiffct.c
 )
 
 # decompression library object files
@@ -27,7 +43,16 @@ SET(decompression_SRCS
 jdapimin.c jdapistd.c jdtrans.c jdatasrc.c jdmaster.c
 jdinput.c jdmarker.c jdhuff.c jdphuff.c jdmainct.c jdcoefct.c
 jdpostct.c jddctmgr.c jidctfst.c jidctflt.c jidctint.c jidctred.c
-jdsample.c jdcolor.c jquant1.c jquant2.c jdmerge.c
+jdsample.c jdcolor.c jquant1.c jquant2.c jdmerge.c)
+
+SET(decomp_lossy_SRCS
+ jdlossls.c jdlossy.c
+jcarith.c
+jdlhuff.c
+jddiffct.c
+jdpred.c
+jdscale.c
+jdshuff.c
 )
 
 SET(JPEG_HEADER_FILES
@@ -41,6 +66,8 @@ SET(JPEG_HEADER_FILES
   jpegint.h  
   jpeglib.h  
   jversion.h
+jlossy.h
+jlossls.h
   )
 
 SET(JPEG_SOURCES
@@ -48,6 +75,9 @@ SET(JPEG_SOURCES
   ${common_SRCS}
   ${compression_SRCS}
   ${decompression_SRCS}
+
+${comp_lossy_SRCS}
+${decomp_lossy_SRCS}
   )
 
 IF (WIN32)
@@ -63,6 +93,7 @@ ENDIF (WIN32)
 
 SET(JPEG8_SOURCES)
 SET(JPEG12_SOURCES)
+SET(JPEG16_SOURCES)
 FOREACH(file ${JPEG_SOURCES})
   # Duplicate jpeg source in subdir libijg8
   CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
@@ -70,26 +101,21 @@ FOREACH(file ${JPEG_SOURCES})
     )
   SET(JPEG8_SOURCES ${JPEG8_SOURCES} "${CMAKE_CURRENT_BINARY_DIR}/libijg8/${file}")
 
-  SET(BITS_TYPE_JPEG_MANGLE_NAME gdcm_mangle_8bits.h)
-  CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jconfig.h.in
-                 ${CMAKE_CURRENT_BINARY_DIR}/libijg8/jconfig.h @ONLY IMMEDIATE)
-  CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/gdcm_mangle_8bits.h
-                 ${CMAKE_CURRENT_BINARY_DIR}/libijg8/gdcm_mangle_8bits.h @ONLY IMMEDIATE)
-
   # Duplicate jpeg source in subdir libijg12
   CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
     "${CMAKE_CURRENT_BINARY_DIR}/libijg12/${file}"
     )
   SET(JPEG12_SOURCES ${JPEG12_SOURCES} "${CMAKE_CURRENT_BINARY_DIR}/libijg12/${file}")
 
-  SET(BITS_TYPE_JPEG_MANGLE_NAME gdcm_mangle_12bits.h)
-  CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jconfig.h.in
-                 ${CMAKE_CURRENT_BINARY_DIR}/libijg12/jconfig.h @ONLY IMMEDIATE)
-  CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/gdcm_mangle_12bits.h
-                 ${CMAKE_CURRENT_BINARY_DIR}/libijg12/gdcm_mangle_12bits.h @ONLY IMMEDIATE)
+  # Duplicate jpeg source in subdir libijg16
+  CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
+    "${CMAKE_CURRENT_BINARY_DIR}/libijg16/${file}"
+    )
+  SET(JPEG16_SOURCES ${JPEG16_SOURCES} "${CMAKE_CURRENT_BINARY_DIR}/libijg16/${file}")
+
 ENDFOREACH(file)
 
-# Now copy the header file
+# Now copy the header files
 FOREACH(file ${JPEG_HEADER_FILES})
   CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
     "${CMAKE_CURRENT_BINARY_DIR}/libijg8/${file}"
@@ -97,13 +123,39 @@ FOREACH(file ${JPEG_HEADER_FILES})
   CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
     "${CMAKE_CURRENT_BINARY_DIR}/libijg12/${file}"
     )
+  CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
+    "${CMAKE_CURRENT_BINARY_DIR}/libijg16/${file}"
+    )
 ENDFOREACH(file)
-# Particular case jmorecfg.h needs to be specified either 8 or 12 bits:
+
+# Particular case jmorecfg.h needs to be specified either 8, 12 or 16 bits:
 SET(GDCM_BITS_IN_JSAMPLE 8)
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jmorecfg.h
                ${CMAKE_CURRENT_BINARY_DIR}/libijg8/jmorecfg.h @ONLY IMMEDIATE)
+SET(BITS_TYPE_JPEG_MANGLE_NAME gdcm_mangle_8bits.h)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jconfig.h.in
+               ${CMAKE_CURRENT_BINARY_DIR}/libijg8/jconfig.h @ONLY IMMEDIATE)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/gdcm_mangle_8bits.h
+               ${CMAKE_CURRENT_BINARY_DIR}/libijg8/gdcm_mangle_8bits.h @ONLY IMMEDIATE)
+
+
 
 SET(GDCM_BITS_IN_JSAMPLE 12)
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jmorecfg.h
                ${CMAKE_CURRENT_BINARY_DIR}/libijg12/jmorecfg.h @ONLY IMMEDIATE)
+SET(BITS_TYPE_JPEG_MANGLE_NAME gdcm_mangle_12bits.h)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jconfig.h.in
+               ${CMAKE_CURRENT_BINARY_DIR}/libijg12/jconfig.h @ONLY IMMEDIATE)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/gdcm_mangle_12bits.h
+               ${CMAKE_CURRENT_BINARY_DIR}/libijg12/gdcm_mangle_12bits.h @ONLY IMMEDIATE)
+
 
+
+SET(GDCM_BITS_IN_JSAMPLE 16)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jmorecfg.h
+               ${CMAKE_CURRENT_BINARY_DIR}/libijg16/jmorecfg.h @ONLY IMMEDIATE)
+SET(BITS_TYPE_JPEG_MANGLE_NAME gdcm_mangle_16bits.h)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jconfig.h.in
+               ${CMAKE_CURRENT_BINARY_DIR}/libijg16/jconfig.h @ONLY IMMEDIATE)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/gdcm_mangle_16bits.h
+               ${CMAKE_CURRENT_BINARY_DIR}/libijg16/gdcm_mangle_16bits.h @ONLY IMMEDIATE)