1 INCLUDE_REGULAR_EXPRESSION("^.*$")
3 #libjasperinclude_HEADERS = \
23 #libjasperincludedir = $(includedir)/jasper
25 SET(JAS_VERSION "1.701.0")
27 CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H)
28 CHECK_INCLUDE_FILE("fcntl.h" HAVE_FCNTL_H)
29 CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H)
30 CHECK_INCLUDE_FILE("io.h" HAVE_IO_H)
31 #/* Define to 1 if you have the `m' library (-lm). */
34 CHECK_INCLUDE_FILE("limits.h" HAVE_LIMITS_H)
35 CHECK_INCLUDE_FILE("memory.h" HAVE_MEMORY_H)
36 CHECK_INCLUDE_FILE("stdbool.h" HAVE_STDBOOL_H)
37 CHECK_INCLUDE_FILE("stddef.h" HAVE_STDDEF_H)
38 CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H)
39 CHECK_INCLUDE_FILE("stdlib.h" HAVE_STDLIB_H)
40 CHECK_INCLUDE_FILE("strings.h" HAVE_STRINGS_H)
41 CHECK_INCLUDE_FILE("string.h" HAVE_STRING_H)
42 CHECK_INCLUDE_FILE("sys/stat.h" HAVE_SYS_STAT_H)
43 CHECK_INCLUDE_FILE("sys/types.h" HAVE_SYS_TYPES_H)
44 CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H)
46 #/* Have variable length arrays */
49 #/* Define to 1 if you have the `vprintf' function. */
50 ##define HAVE_VPRINTF 1
52 CHECK_INCLUDE_FILE("windows.h" HAVE_WINDOWS_H)
54 INCLUDE (${CMAKE_ROOT}/Modules/TestBigEndian.cmake)
55 TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
57 # let's have some fun with long long and __int64...I don't even know why this lib need those types anyway...
58 INCLUDE(${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
59 CHECK_TYPE_SIZE("char" GDCM_SIZEOF_CHAR)
60 CHECK_TYPE_SIZE("short" GDCM_SIZEOF_SHORT)
61 CHECK_TYPE_SIZE("int" GDCM_SIZEOF_INT)
62 CHECK_TYPE_SIZE("long" GDCM_SIZEOF_LONG)
63 CHECK_TYPE_SIZE("float" GDCM_SIZEOF_FLOAT)
64 CHECK_TYPE_SIZE("double" GDCM_SIZEOF_DOUBLE)
66 CHECK_TYPE_SIZE("uint" GDCM_SIZEOF_UINT)
67 CHECK_TYPE_SIZE("ushort" GDCM_SIZEOF_USHORT)
68 CHECK_TYPE_SIZE("ulong" GDCM_SIZEOF_ULONG)
70 CHECK_TYPE_SIZE("long long" GDCM_SIZEOF_LONG_LONG)
71 CHECK_TYPE_SIZE("__int64" GDCM_SIZEOF___INT64)
73 IF(GDCM_SIZEOF___INT64)
74 IF("GDCM_TYPE_SAME_LONG_AND___INT64" MATCHES "^GDCM_TYPE_SAME_LONG_AND___INT64$")
75 MESSAGE(STATUS "Checking whether long and __int64 are the same type")
76 TRY_COMPILE(GDCM_TYPE_SAME_LONG_AND___INT64
77 ${GDCM_BINARY_DIR}/CMakeTmp
78 ${GDCM_SOURCE_DIR}/CMake/gdcmTestCompareTypes.cxx
80 -DGDCM_TEST_COMPARE_TYPE_1=long
81 -DGDCM_TEST_COMPARE_TYPE_2=__int64
82 OUTPUT_VARIABLE OUTPUT)
83 IF(GDCM_TYPE_SAME_LONG_AND___INT64)
84 MESSAGE(STATUS "Checking whether long and __int64 are the same type -- yes")
85 SET(GDCM_TYPE_SAME_LONG_AND___INT64 1 CACHE INTERNAL "Whether long and __int64 are the same type")
86 WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeOutput.log
87 "Determining whether long and __int64 are the same type "
88 "passed with the following output:\n"
90 ELSE(GDCM_TYPE_SAME_LONG_AND___INT64)
91 MESSAGE(STATUS "Checking whether long and __int64 are the same type -- no")
92 SET(GDCM_TYPE_SAME_LONG_AND___INT64 0 CACHE INTERNAL "Whether long and __int64 are the same type")
93 WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log
94 "Determining whether long and __int64 are the same type "
95 "failed with the following output:\n"
97 ENDIF(GDCM_TYPE_SAME_LONG_AND___INT64)
98 ENDIF("GDCM_TYPE_SAME_LONG_AND___INT64" MATCHES "^GDCM_TYPE_SAME_LONG_AND___INT64$")
99 IF(GDCM_SIZEOF_LONG_LONG)
100 IF("GDCM_TYPE_SAME_LONG_LONG_AND___INT64" MATCHES "^GDCM_TYPE_SAME_LONG_LONG_AND___INT64$")
101 MESSAGE(STATUS "Checking whether long long and __int64 are the same type")
102 TRY_COMPILE(GDCM_TYPE_SAME_LONG_LONG_AND___INT64
103 ${GDCM_BINARY_DIR}/CMakeTmp
104 ${GDCM_SOURCE_DIR}/CMake/gdcmTestCompareTypes.cxx
106 -DGDCM_TEST_COMPARE_TYPE_1=TYPE_LONG_LONG
107 -DGDCM_TEST_COMPARE_TYPE_2=__int64
108 OUTPUT_VARIABLE OUTPUT)
109 IF(GDCM_TYPE_SAME_LONG_LONG_AND___INT64)
110 MESSAGE(STATUS "Checking whether long long and __int64 are the same type -- yes")
111 SET(GDCM_TYPE_SAME_LONG_LONG_AND___INT64 1 CACHE INTERNAL "Whether long long and __int64 are the same type")
112 WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeOutput.log
113 "Determining whether long long and __int64 are the same type "
114 "passed with the following output:\n"
115 "${OUTPUT}\n" APPEND)
116 ELSE(GDCM_TYPE_SAME_LONG_LONG_AND___INT64)
117 MESSAGE(STATUS "Checking whether long long and __int64 are the same type -- no")
118 SET(GDCM_TYPE_SAME_LONG_LONG_AND___INT64 0 CACHE INTERNAL "Whether long long and __int64 are the same type")
119 WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log
120 "Determining whether long long and __int64 are the same type "
121 "failed with the following output:\n"
122 "${OUTPUT}\n" APPEND)
123 ENDIF(GDCM_TYPE_SAME_LONG_LONG_AND___INT64)
124 ENDIF("GDCM_TYPE_SAME_LONG_LONG_AND___INT64" MATCHES "^GDCM_TYPE_SAME_LONG_LONG_AND___INT64$")
125 ENDIF(GDCM_SIZEOF_LONG_LONG)
126 IF(NOT GDCM_TYPE_SAME_LONG_AND___INT64)
127 IF(NOT GDCM_TYPE_SAME_LONG_LONG_AND___INT64)
128 # VS 6 cannot convert unsigned __int64 to double unless the
129 # "Visual C++ Processor Pack" is installed.
130 IF("GDCM_TYPE_CONVERT_UI64_TO_DOUBLE" MATCHES "^GDCM_TYPE_CONVERT_UI64_TO_DOUBLE$")
131 MESSAGE(STATUS "Checking whether unsigned __int64 can convert to double")
132 TRY_COMPILE(GDCM_TYPE_CONVERT_UI64_TO_DOUBLE
133 ${GDCM_BINARY_DIR}/CMakeTmp
134 ${GDCM_SOURCE_DIR}/CMake/gdcmTestConvertTypes.cxx
136 -DGDCM_TEST_CONVERT_TYPE_FROM=TYPE_UNSIGNED___INT64
137 -DGDCM_TEST_CONVERT_TYPE_TO=double
138 OUTPUT_VARIABLE OUTPUT)
139 IF(GDCM_TYPE_CONVERT_UI64_TO_DOUBLE)
140 MESSAGE(STATUS "Checking whether unsigned __int64 can convert to double -- yes")
141 SET(GDCM_TYPE_CONVERT_UI64_TO_DOUBLE 1 CACHE INTERNAL "Whether unsigned __int64 can convert to double")
142 WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeOutput.log
143 "Determining whether unsigned __int64 can convert to double "
144 "passed with the following output:\n"
145 "${OUTPUT}\n" APPEND)
146 ELSE(GDCM_TYPE_CONVERT_UI64_TO_DOUBLE)
147 MESSAGE(STATUS "Checking whether unsigned __int64 can convert to double -- no")
148 SET(GDCM_TYPE_CONVERT_UI64_TO_DOUBLE 0 CACHE INTERNAL "Whether unsigned __int64 can convert to double")
149 WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log
150 "Determining whether unsigned __int64 can convert to double "
151 "failed with the following output:\n"
152 "${OUTPUT}\n" APPEND)
153 ENDIF(GDCM_TYPE_CONVERT_UI64_TO_DOUBLE)
154 ENDIF("GDCM_TYPE_CONVERT_UI64_TO_DOUBLE" MATCHES "^GDCM_TYPE_CONVERT_UI64_TO_DOUBLE$")
155 ENDIF(NOT GDCM_TYPE_SAME_LONG_LONG_AND___INT64)
156 ENDIF(NOT GDCM_TYPE_SAME_LONG_AND___INT64)
157 ENDIF(GDCM_SIZEOF___INT64)
159 # Enable the "long long" type if it is available. It is standard in
160 # C99 and C++03 but not in earlier standards.
161 SET(GDCM_TYPE_USE_LONG_LONG)
162 IF(GDCM_SIZEOF_LONG_LONG)
163 SET(GDCM_TYPE_USE_LONG_LONG 1)
164 ENDIF(GDCM_SIZEOF_LONG_LONG)
166 # Enable the "__int64" type if it is available and unique. It is not
168 SET(GDCM_TYPE_USE___INT64)
169 IF(GDCM_SIZEOF___INT64)
170 IF(NOT GDCM_TYPE_SAME_LONG_AND___INT64)
171 IF(NOT GDCM_TYPE_SAME_LONG_LONG_AND___INT64)
172 SET(GDCM_TYPE_USE___INT64 1)
173 ENDIF(NOT GDCM_TYPE_SAME_LONG_LONG_AND___INT64)
174 ENDIF(NOT GDCM_TYPE_SAME_LONG_AND___INT64)
175 ENDIF(GDCM_SIZEOF___INT64)
178 IF (BUILD_SHARED_LIBS)
179 # ADD_DEFINITIONS(-DJASPERDLL)
181 ELSE (BUILD_SHARED_LIBS)
183 ENDIF (BUILD_SHARED_LIBS)
187 "${GDCMJASPER_SOURCE_DIR}/src/libjasper/include/jasper/jas_config.h.in"
188 "${GDCMJASPER_BINARY_DIR}/src/libjasper/include/jasper/jas_config.h"