Mercurial > hg > orthanc-wsi
annotate Resources/CMake/LibTiffConfiguration.cmake @ 334:f011fc199b6a default tip
back to mainline
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 18 Oct 2024 15:44:18 +0200 |
parents | 0683312e21ba |
children |
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 |
312
0683312e21ba
updated copyright, as Orthanc Team now replaces Osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
309
diff
changeset
|
4 # Copyright (C) 2017-2023 Osimis S.A., Belgium |
0683312e21ba
updated copyright, as Orthanc Team now replaces Osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
309
diff
changeset
|
5 # Copyright (C) 2024-2024 Orthanc Team SRL, Belgium |
309
7020852a8fa9
updated year to 2024
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
308
diff
changeset
|
6 # Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium |
245
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
7 # |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
8 # 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
|
9 # 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
|
10 # 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
|
11 # the License, or (at your option) any later version. |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
12 # |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
13 # 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
|
14 # WITHOUT ANY WARRANTY; without even the implied warranty of |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
15 # 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
|
16 # Affero General Public License for more details. |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
17 # |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
18 # 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
|
19 # 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
|
20 |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
221
diff
changeset
|
21 |
221
dbcf9ad44a70
upgrade to libtiff 4.2.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
158
diff
changeset
|
22 # http://simplesystems.org/libtiff/ |
dbcf9ad44a70
upgrade to libtiff 4.2.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
158
diff
changeset
|
23 |
0 | 24 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
|
25 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
|
26 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
|
27 SET(LIBTIFF_MD5 "2bbf6db1ddc4a59c89d6986b368fc063") |
0 | 28 |
29 DownloadPackage(${LIBTIFF_MD5} ${LIBTIFF_URL} "${LIBTIFF_SOURCES_DIR}") | |
30 | |
31 if (NOT EXISTS ${LIBTIFF_SOURCES_DIR}/libtiff/tif_config.h) | |
32 file(WRITE ${LIBTIFF_SOURCES_DIR}/libtiff/tif_config.h " | |
33 #include <stdint.h> | |
34 #include <stddef.h> | |
35 #include <fcntl.h> | |
36 #include <string.h> | |
37 ") | |
38 file(WRITE ${LIBTIFF_SOURCES_DIR}/libtiff/tiffconf.h " | |
25 | 39 #if defined(_MSC_VER) |
27 | 40 # if !defined(ssize_t) |
41 # define WIN32_LEAN_AND_MEAN | |
42 # include <windows.h> | |
43 # define ssize_t SSIZE_T | |
44 # endif | |
25 | 45 #endif |
46 | |
0 | 47 #include <stdint.h> |
48 #include <sys/types.h> | |
49 ") | |
50 endif() | |
51 | |
52 set(TIFF_FILLORDER FILLORDER_MSB2LSB) | |
25 | 53 if (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i.*86.*" OR |
0 | 54 CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "amd64.*" OR |
55 CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64.*") | |
56 set(TIFF_FILLORDER FILLORDER_LSB2MSB) | |
57 endif() | |
58 | |
59 add_definitions( | |
60 -DTIFF_INT8_T=int8_t | |
61 -DTIFF_INT16_T=int16_t | |
62 -DTIFF_INT32_T=int32_t | |
63 -DTIFF_INT64_T=int64_t | |
64 -DTIFF_UINT8_T=uint8_t | |
65 -DTIFF_UINT16_T=uint16_t | |
66 -DTIFF_UINT32_T=uint32_t | |
67 -DTIFF_UINT64_T=uint64_t | |
68 -DTIFF_SSIZE_T=ssize_t | |
69 -DHAVE_IEEEFP=1 | |
70 -DHOST_FILLORDER=${TIFF_FILLORDER} | |
71 -DJPEG_SUPPORT=1 | |
72 -DLZW_SUPPORT=1 | |
52 | 73 ) |
0 | 74 |
308 | 75 # snprintf() is not available on Visual Studio 2008 |
76 check_symbol_exists(snprintf "stdio.h" HAVE_SNPRINTF) | |
77 if (HAVE_SNPRINTF) | |
303
2e59c3fe8e32
trying to fix build on MSVC 2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
301
diff
changeset
|
78 add_definitions(-DHAVE_SNPRINTF=1) |
2e59c3fe8e32
trying to fix build on MSVC 2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
301
diff
changeset
|
79 endif() |
2e59c3fe8e32
trying to fix build on MSVC 2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
301
diff
changeset
|
80 |
52 | 81 if (MSVC) |
82 # The "%" must be escaped if using Visual Studio | |
83 add_definitions( | |
84 -DTIFF_INT64_FORMAT="%%lld" | |
85 -DTIFF_UINT64_FORMAT="%%llu" | |
86 -DTIFF_SSIZE_FORMAT="%%d" | |
87 ) | |
88 else() | |
89 add_definitions( | |
90 -DTIFF_INT64_FORMAT="%lld" | |
91 -DTIFF_UINT64_FORMAT="%llu" | |
92 -DTIFF_SSIZE_FORMAT="%d" | |
93 ) | |
94 endif() | |
0 | 95 |
96 set(LIBTIFF_SOURCES | |
97 #${LIBTIFF_SOURCES_DIR}/libtiff/mkg3states.c | |
98 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_aux.c | |
99 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_close.c | |
100 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_codec.c | |
101 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_color.c | |
102 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_compress.c | |
103 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_dir.c | |
104 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_dirinfo.c | |
105 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_dirread.c | |
106 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_dirwrite.c | |
107 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_dumpmode.c | |
108 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_error.c | |
109 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_extension.c | |
110 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_fax3.c | |
111 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_fax3sm.c | |
112 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_flush.c | |
113 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_getimage.c | |
114 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_jbig.c | |
115 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_jpeg_12.c | |
116 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_jpeg.c | |
117 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_luv.c | |
118 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_lzma.c | |
119 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_lzw.c | |
120 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_next.c | |
121 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_ojpeg.c | |
122 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_open.c | |
123 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_packbits.c | |
124 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_pixarlog.c | |
125 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_predict.c | |
126 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_print.c | |
127 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_read.c | |
128 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_strip.c | |
129 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_swab.c | |
130 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_thunder.c | |
131 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_tile.c | |
132 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_unix.c | |
133 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_version.c | |
134 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_warning.c | |
135 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_write.c | |
136 ${LIBTIFF_SOURCES_DIR}/libtiff/tif_zip.c | |
305 | 137 ${LIBTIFF_SOURCES_DIR}/port/snprintf.c # Necessary for Visual Studio |
0 | 138 ) |
139 | |
140 include_directories(${LIBTIFF_SOURCES_DIR}/libtiff) | |
141 | |
22 | 142 source_group(ThirdParty\\libtiff REGULAR_EXPRESSION ${LIBTIFF_SOURCES_DIR}/.*) |
0 | 143 |
144 else() | |
145 CHECK_INCLUDE_FILE_CXX(tiff.h HAVE_LIBTIFF_H) | |
146 if (NOT HAVE_LIBTIFF_H) | |
147 message(FATAL_ERROR "Please install the libtiff-dev package") | |
148 endif() | |
149 | |
150 CHECK_LIBRARY_EXISTS(tiff TIFFGetField "" HAVE_LIBTIFF_LIB) | |
151 if (NOT HAVE_LIBTIFF_LIB) | |
152 message(FATAL_ERROR "Please install the libtiff-dev package") | |
153 endif() | |
154 | |
155 link_libraries(tiff) | |
156 endif() |