Mercurial > hg > orthanc-wsi
annotate Resources/CMake/LibTiffConfiguration.cmake @ 307:f1ab5c1121b9
cont
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Sat, 27 Jan 2024 12:29:03 +0100 |
parents | dc1c9be94568 |
children | 13721d3da291 |
rev | line source |
---|---|
245
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
1 # Orthanc - A Lightweight, RESTful DICOM Store |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
2 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
3 # Department, University Hospital of Liege, Belgium |
254 | 4 # Copyright (C) 2017-2023 Osimis S.A., Belgium |
5 # Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium | |
245
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
6 # |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
7 # This program is free software: you can redistribute it and/or |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
8 # modify it under the terms of the GNU Affero General Public License |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
9 # as published by the Free Software Foundation, either version 3 of |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
10 # the License, or (at your option) any later version. |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
11 # |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
12 # This program is distributed in the hope that it will be useful, but |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
13 # WITHOUT ANY WARRANTY; without even the implied warranty of |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
15 # Affero General Public License for more details. |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
16 # |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
17 # You should have received a copy of the GNU Affero General Public License |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
19 |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
20 |
221
dbcf9ad44a70
upgrade to libtiff 4.2.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
158
diff
changeset
|
21 # http://simplesystems.org/libtiff/ |
dbcf9ad44a70
upgrade to libtiff 4.2.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
158
diff
changeset
|
22 |
0 | 23 if (STATIC_BUILD OR NOT USE_SYSTEM_LIBTIFF) |
221
dbcf9ad44a70
upgrade to libtiff 4.2.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
158
diff
changeset
|
24 SET(LIBTIFF_SOURCES_DIR ${CMAKE_BINARY_DIR}/tiff-4.2.0) |
301
2defc8008b33
migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
293
diff
changeset
|
25 SET(LIBTIFF_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/tiff-4.2.0.tar.gz") |
221
dbcf9ad44a70
upgrade to libtiff 4.2.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
158
diff
changeset
|
26 SET(LIBTIFF_MD5 "2bbf6db1ddc4a59c89d6986b368fc063") |
0 | 27 |
28 DownloadPackage(${LIBTIFF_MD5} ${LIBTIFF_URL} "${LIBTIFF_SOURCES_DIR}") | |
29 | |
30 if (NOT EXISTS ${LIBTIFF_SOURCES_DIR}/libtiff/tif_config.h) | |
31 file(WRITE ${LIBTIFF_SOURCES_DIR}/libtiff/tif_config.h " | |
32 #include <stdint.h> | |
33 #include <stddef.h> | |
34 #include <fcntl.h> | |
35 #include <string.h> | |
36 ") | |
37 file(WRITE ${LIBTIFF_SOURCES_DIR}/libtiff/tiffconf.h " | |
25 | 38 #if defined(_MSC_VER) |
27 | 39 # if !defined(ssize_t) |
40 # define WIN32_LEAN_AND_MEAN | |
41 # include <windows.h> | |
42 # define ssize_t SSIZE_T | |
43 # endif | |
25 | 44 #endif |
45 | |
0 | 46 #include <stdint.h> |
47 #include <sys/types.h> | |
48 ") | |
49 endif() | |
50 | |
51 set(TIFF_FILLORDER FILLORDER_MSB2LSB) | |
25 | 52 if (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i.*86.*" OR |
0 | 53 CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "amd64.*" OR |
54 CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64.*") | |
55 set(TIFF_FILLORDER FILLORDER_LSB2MSB) | |
56 endif() | |
57 | |
58 add_definitions( | |
59 -DTIFF_INT8_T=int8_t | |
60 -DTIFF_INT16_T=int16_t | |
61 -DTIFF_INT32_T=int32_t | |
62 -DTIFF_INT64_T=int64_t | |
63 -DTIFF_UINT8_T=uint8_t | |
64 -DTIFF_UINT16_T=uint16_t | |
65 -DTIFF_UINT32_T=uint32_t | |
66 -DTIFF_UINT64_T=uint64_t | |
67 -DTIFF_SSIZE_T=ssize_t | |
68 -DHAVE_IEEEFP=1 | |
69 -DHOST_FILLORDER=${TIFF_FILLORDER} | |
70 -DJPEG_SUPPORT=1 | |
71 -DLZW_SUPPORT=1 | |
52 | 72 ) |
0 | 73 |
304 | 74 if (NOT MSVC) |
75 # snprintf() is not available on Visual Studio 2008 | |
303
2e59c3fe8e32
trying to fix build on MSVC 2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
301
diff
changeset
|
76 add_definitions(-DHAVE_SNPRINTF=1) |
2e59c3fe8e32
trying to fix build on MSVC 2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
301
diff
changeset
|
77 endif() |
2e59c3fe8e32
trying to fix build on MSVC 2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
301
diff
changeset
|
78 |
52 | 79 if (MSVC) |
80 # The "%" must be escaped if using Visual Studio | |
81 add_definitions( | |
82 -DTIFF_INT64_FORMAT="%%lld" | |
83 -DTIFF_UINT64_FORMAT="%%llu" | |
84 -DTIFF_SSIZE_FORMAT="%%d" | |
85 ) | |
86 else() | |
87 add_definitions( | |
88 -DTIFF_INT64_FORMAT="%lld" | |
89 -DTIFF_UINT64_FORMAT="%llu" | |
90 -DTIFF_SSIZE_FORMAT="%d" | |
91 ) | |
92 endif() | |
0 | 93 |
94 set(LIBTIFF_SOURCES | |
95 #${LIBTIFF_SOURCES_DIR}/libtiff/mkg3states.c | |
96 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_aux.c | |
97 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_close.c | |
98 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_codec.c | |
99 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_color.c | |
100 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_compress.c | |
101 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_dir.c | |
102 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_dirinfo.c | |
103 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_dirread.c | |
104 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_dirwrite.c | |
105 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_dumpmode.c | |
106 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_error.c | |
107 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_extension.c | |
108 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_fax3.c | |
109 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_fax3sm.c | |
110 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_flush.c | |
111 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_getimage.c | |
112 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_jbig.c | |
113 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_jpeg_12.c | |
114 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_jpeg.c | |
115 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_luv.c | |
116 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_lzma.c | |
117 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_lzw.c | |
118 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_next.c | |
119 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_ojpeg.c | |
120 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_open.c | |
121 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_packbits.c | |
122 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_pixarlog.c | |
123 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_predict.c | |
124 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_print.c | |
125 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_read.c | |
126 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_strip.c | |
127 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_swab.c | |
128 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_thunder.c | |
129 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_tile.c | |
130 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_unix.c | |
131 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_version.c | |
132 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_warning.c | |
133 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_write.c | |
134 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_zip.c | |
305 | 135 ${LIBTIFF_SOURCES_DIR}/port/snprintf.c # Necessary for Visual Studio |
0 | 136 ) |
137 | |
138 include_directories(${LIBTIFF_SOURCES_DIR}/libtiff) | |
139 | |
22 | 140 source_group(ThirdParty\\libtiff REGULAR_EXPRESSION ${LIBTIFF_SOURCES_DIR}/.*) |
0 | 141 |
142 else() | |
143 CHECK_INCLUDE_FILE_CXX(tiff.h HAVE_LIBTIFF_H) | |
144 if (NOT HAVE_LIBTIFF_H) | |
145 message(FATAL_ERROR "Please install the libtiff-dev package") | |
146 endif() | |
147 | |
148 CHECK_LIBRARY_EXISTS(tiff TIFFGetField "" HAVE_LIBTIFF_LIB) | |
149 if (NOT HAVE_LIBTIFF_LIB) | |
150 message(FATAL_ERROR "Please install the libtiff-dev package") | |
151 endif() | |
152 | |
153 link_libraries(tiff) | |
154 endif() |