]> Creatis software - gdcm.git/blobdiff - src/jpeg/CMakeLists.txt
ENH: Apply remaining patch for the CMakeLists, and sublevel (8 & 12) ones
[gdcm.git] / src / jpeg / CMakeLists.txt
index c4816501d8be33744cd79f4c9344f2249ee7ce16..8a7e5f379db92df29320af2b16fcadd10295ed9a 100644 (file)
@@ -3,3 +3,117 @@ SUBDIRS(
   libijg8
   ljpg
 )
+
+# JPEG 8 bits project
+
+#PROJECT(GDCMJPEG)
+#INCLUDE_REGULAR_EXPRESSION("^(jchuff|jconfig|jdct|jdhuff|jerror|jinclude|jmemsys|jmorecfg|jpegint|jpeglib|jversion|jpeg|gdcm).*$")
+#INCLUDE_DIRECTORIES(${GDCMJPEG_SOURCE_DIR})
+
+
+# memmgr back ends: compile only one of these into a working library
+# (For now, let's use the mode that requires the image fit into memory.
+# This is the recommended mode for Win32 anyway.)
+SET(systemdependent_SRCS jmemnobs.c)
+
+# library object files common to compression and decompression
+SET(common_SRCS
+jcomapi.c jutils.c jerror.c jmemmgr.c
+)
+
+# compression library object files
+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
+jfdctint.c
+)
+
+# decompression library object files
+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
+)
+
+SET(JPEG_HEADER_FILES
+  jchuff.h  
+  jdct.h  
+  jdhuff.h  
+  jerror.h  
+  jinclude.h  
+  jmemsys.h  
+#  jmorecfg.h     #no this one need to be configured
+  jpegint.h  
+  jpeglib.h  
+  jversion.h
+  )
+
+SET(JPEG_SOURCES
+  ${systemdependent_SRCS}
+  ${common_SRCS}
+  ${compression_SRCS}
+  ${decompression_SRCS}
+  )
+
+
+# Attempt to generate two libraries: jpeg 8bits and 12 bits using only one
+# source directory
+
+SET(JPEG8_SOURCES)
+SET(JPEG12_SOURCES)
+#  MESSAGE("WOOOO")
+FOREACH(file ${JPEG_SOURCES})
+  # Duplicate jpeg source in subdir libijg8
+  CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
+    "${CMAKE_CURRENT_BINARY_DIR}/libijg8/${file}"
+    )
+  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)
+
+  #MESSAGE("${CMAKE_CURRENT_BINARY_DIR}/libijg8/${file}")
+  # 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)
+ENDFOREACH(file)
+
+# Now copy the header file
+FOREACH(file ${JPEG_HEADER_FILES})
+  CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
+    "${CMAKE_CURRENT_BINARY_DIR}/libijg8/${file}"
+    )
+  CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
+    "${CMAKE_CURRENT_BINARY_DIR}/libijg12/${file}"
+    )
+ENDFOREACH(file)
+# Particular case jmorecfg.h needs to be specified either 8 or 12 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(GDCM_BITS_IN_JSAMPLE 12)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jmorecfg.h
+               ${CMAKE_CURRENT_BINARY_DIR}/libijg12/jmorecfg.h @ONLY IMMEDIATE)
+
+#  MESSAGE("${JPEG8_SOURCES}")
+
+#ADD_LIBRARY(gdcmijpeg8 ${systemdependent_SRCS} ${common_SRCS} ${compression_SRCS} ${decompression_SRCS})
+#ADD_LIBRARY(gdcmijpeg8 ${JPEG8_SOURCES})
+#ADD_LIBRARY(gdcmijpeg12 ${JPEG12_SOURCES})
+
+#INSTALL_TARGETS(/lib/ gdcmijpeg8)
+#INSTALL_TARGETS(/lib/ gdcmijpeg12)
+#INSTALL_FILES(/include .h jconfig.linux jconfig.vc)