]> Creatis software - gdcm.git/blob - src/jpeg/CMakeLists.txt
ENH: Apply remaining patch for the CMakeLists, and sublevel (8 & 12) ones
[gdcm.git] / src / jpeg / CMakeLists.txt
1 SUBDIRS(
2   libijg12 
3   libijg8
4   ljpg
5 )
6
7 # JPEG 8 bits project
8
9 #PROJECT(GDCMJPEG)
10 #INCLUDE_REGULAR_EXPRESSION("^(jchuff|jconfig|jdct|jdhuff|jerror|jinclude|jmemsys|jmorecfg|jpegint|jpeglib|jversion|jpeg|gdcm).*$")
11 #INCLUDE_DIRECTORIES(${GDCMJPEG_SOURCE_DIR})
12
13
14 # memmgr back ends: compile only one of these into a working library
15 # (For now, let's use the mode that requires the image fit into memory.
16 # This is the recommended mode for Win32 anyway.)
17 SET(systemdependent_SRCS jmemnobs.c)
18
19 # library object files common to compression and decompression
20 SET(common_SRCS
21 jcomapi.c jutils.c jerror.c jmemmgr.c
22 )
23
24 # compression library object files
25 SET(compression_SRCS
26 jcapimin.c jcapistd.c jctrans.c jcparam.c jdatadst.c jcinit.c
27 jcmaster.c jcmarker.c jcmainct.c jcprepct.c jccoefct.c jccolor.c
28 jcsample.c jchuff.c jcphuff.c jcdctmgr.c jfdctfst.c jfdctflt.c
29 jfdctint.c
30 )
31
32 # decompression library object files
33 SET(decompression_SRCS
34 jdapimin.c jdapistd.c jdtrans.c jdatasrc.c jdmaster.c
35 jdinput.c jdmarker.c jdhuff.c jdphuff.c jdmainct.c jdcoefct.c
36 jdpostct.c jddctmgr.c jidctfst.c jidctflt.c jidctint.c jidctred.c
37 jdsample.c jdcolor.c jquant1.c jquant2.c jdmerge.c
38 )
39
40 SET(JPEG_HEADER_FILES
41   jchuff.h  
42   jdct.h  
43   jdhuff.h  
44   jerror.h  
45   jinclude.h  
46   jmemsys.h  
47 #  jmorecfg.h     #no this one need to be configured
48   jpegint.h  
49   jpeglib.h  
50   jversion.h
51   )
52
53 SET(JPEG_SOURCES
54   ${systemdependent_SRCS}
55   ${common_SRCS}
56   ${compression_SRCS}
57   ${decompression_SRCS}
58   )
59
60
61 # Attempt to generate two libraries: jpeg 8bits and 12 bits using only one
62 # source directory
63
64 SET(JPEG8_SOURCES)
65 SET(JPEG12_SOURCES)
66 #  MESSAGE("WOOOO")
67 FOREACH(file ${JPEG_SOURCES})
68   # Duplicate jpeg source in subdir libijg8
69   CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
70     "${CMAKE_CURRENT_BINARY_DIR}/libijg8/${file}"
71     )
72   SET(JPEG8_SOURCES ${JPEG8_SOURCES} "${CMAKE_CURRENT_BINARY_DIR}/libijg8/${file}")
73
74   SET(BITS_TYPE_JPEG_MANGLE_NAME gdcm_mangle_8bits.h)
75   CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jconfig.h.in
76                  ${CMAKE_CURRENT_BINARY_DIR}/libijg8/jconfig.h @ONLY IMMEDIATE)
77   CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/gdcm_mangle_8bits.h
78                  ${CMAKE_CURRENT_BINARY_DIR}/libijg8/gdcm_mangle_8bits.h @ONLY IMMEDIATE)
79
80   #MESSAGE("${CMAKE_CURRENT_BINARY_DIR}/libijg8/${file}")
81   # Duplicate jpeg source in subdir libijg12
82   CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
83     "${CMAKE_CURRENT_BINARY_DIR}/libijg12/${file}"
84     )
85   SET(JPEG12_SOURCES ${JPEG12_SOURCES} "${CMAKE_CURRENT_BINARY_DIR}/libijg12/${file}")
86
87   SET(BITS_TYPE_JPEG_MANGLE_NAME gdcm_mangle_12bits.h)
88   CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jconfig.h.in
89                  ${CMAKE_CURRENT_BINARY_DIR}/libijg12/jconfig.h @ONLY IMMEDIATE)
90   CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/gdcm_mangle_12bits.h
91                  ${CMAKE_CURRENT_BINARY_DIR}/libijg12/gdcm_mangle_12bits.h @ONLY IMMEDIATE)
92 ENDFOREACH(file)
93
94 # Now copy the header file
95 FOREACH(file ${JPEG_HEADER_FILES})
96   CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
97     "${CMAKE_CURRENT_BINARY_DIR}/libijg8/${file}"
98     )
99   CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libijg/${file}"
100     "${CMAKE_CURRENT_BINARY_DIR}/libijg12/${file}"
101     )
102 ENDFOREACH(file)
103 # Particular case jmorecfg.h needs to be specified either 8 or 12 bits:
104 SET(GDCM_BITS_IN_JSAMPLE 8)
105 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jmorecfg.h
106                ${CMAKE_CURRENT_BINARY_DIR}/libijg8/jmorecfg.h @ONLY IMMEDIATE)
107 SET(GDCM_BITS_IN_JSAMPLE 12)
108 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libijg/jmorecfg.h
109                ${CMAKE_CURRENT_BINARY_DIR}/libijg12/jmorecfg.h @ONLY IMMEDIATE)
110
111 #  MESSAGE("${JPEG8_SOURCES}")
112
113 #ADD_LIBRARY(gdcmijpeg8 ${systemdependent_SRCS} ${common_SRCS} ${compression_SRCS} ${decompression_SRCS})
114 #ADD_LIBRARY(gdcmijpeg8 ${JPEG8_SOURCES})
115 #ADD_LIBRARY(gdcmijpeg12 ${JPEG12_SOURCES})
116
117 #INSTALL_TARGETS(/lib/ gdcmijpeg8)
118 #INSTALL_TARGETS(/lib/ gdcmijpeg12)
119 #INSTALL_FILES(/include .h jconfig.linux jconfig.vc)