X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2Fjpeg%2FCMakeLists.txt;h=605b7b713beeab9c82418c7d3fdda75092cac52a;hb=867b8ef63054497249cc3a0138107383d60351dc;hp=1b39bd5322de4a2c28d1659f60f1efe52bd1fba4;hpb=7b90a94638699fec1143d1928f6a6b6f3c769d54;p=gdcm.git diff --git a/src/jpeg/CMakeLists.txt b/src/jpeg/CMakeLists.txt index 1b39bd53..605b7b71 100644 --- a/src/jpeg/CMakeLists.txt +++ b/src/jpeg/CMakeLists.txt @@ -1,4 +1,161 @@ -SUBDIRS( - libijg12 - libijg8 -) +SUBDIRS( + libijg16 + libijg12 + libijg8 +) + +# 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 +) + +# 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 +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(decomp_lossy_SRCS + jdlossls.c jdlossy.c +jcarith.c +jdlhuff.c +jddiffct.c +jdpred.c +jdscale.c +jdshuff.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 +jlossy.h +jlossls.h + ) + +SET(JPEG_SOURCES + ${systemdependent_SRCS} + ${common_SRCS} + ${compression_SRCS} + ${decompression_SRCS} + +${comp_lossy_SRCS} +${decomp_lossy_SRCS} + ) + +IF (WIN32) + IF (BUILD_SHARED_LIBS) + ADD_DEFINITIONS(-DJPEGDLL) + ELSE (BUILD_SHARED_LIBS) + ADD_DEFINITIONS(-DJPEGSTATIC) + ENDIF (BUILD_SHARED_LIBS) +ENDIF (WIN32) + +# Attempt to generate two libraries: jpeg 8bits and 12 bits using only one +# source directory + +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}" + "${CMAKE_CURRENT_BINARY_DIR}/libijg8/${file}" + ) + SET(JPEG8_SOURCES ${JPEG8_SOURCES} "${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}") + + # 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 files +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}" + ) + 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, 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)