Mercurial > hg > orthanc-wsi
annotate Resources/CMake/OpenJpegConfiguration.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:
222
diff
changeset
|
1 # Orthanc - A Lightweight, RESTful DICOM Store |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
222
diff
changeset
|
2 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
222
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:
301
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:
222
diff
changeset
|
7 # |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
222
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:
222
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:
222
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:
222
diff
changeset
|
11 # the License, or (at your option) any later version. |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
222
diff
changeset
|
12 # |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
222
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:
222
diff
changeset
|
14 # WITHOUT ANY WARRANTY; without even the implied warranty of |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
222
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:
222
diff
changeset
|
16 # Affero General Public License for more details. |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
222
diff
changeset
|
17 # |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
222
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:
222
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:
222
diff
changeset
|
20 |
7ae09ea0cccd
added missing copyright headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
222
diff
changeset
|
21 |
0 | 22 if (STATIC_BUILD OR NOT USE_SYSTEM_OPENJPEG) |
222
68cc194e69e5
upgrade openjpeg to 2.4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
202
diff
changeset
|
23 SET(OPENJPEG_SOURCES_DIR ${CMAKE_BINARY_DIR}/openjpeg-2.4.0) |
301
2defc8008b33
migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
293
diff
changeset
|
24 SET(OPENJPEG_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/openjpeg-2.4.0.tar.gz") |
222
68cc194e69e5
upgrade openjpeg to 2.4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
202
diff
changeset
|
25 SET(OPENJPEG_MD5 "4d388298335947367e91f1d100468af1") |
0 | 26 |
27 if (IS_DIRECTORY "${OPENJPEG_SOURCES_DIR}") | |
28 set(FirstRun OFF) | |
29 else() | |
30 set(FirstRun ON) | |
31 endif() | |
32 | |
33 DownloadPackage(${OPENJPEG_MD5} ${OPENJPEG_URL} "${OPENJPEG_SOURCES_DIR}") | |
34 | |
35 if (USE_OPENJPEG_JP2) | |
36 set(OPENJPEG_SOURCES | |
222
68cc194e69e5
upgrade openjpeg to 2.4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
202
diff
changeset
|
37 # ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/bench_dwt.c |
68cc194e69e5
upgrade openjpeg to 2.4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
202
diff
changeset
|
38 # ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/cidx_manager.c |
68cc194e69e5
upgrade openjpeg to 2.4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
202
diff
changeset
|
39 # ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/phix_manager.c |
68cc194e69e5
upgrade openjpeg to 2.4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
202
diff
changeset
|
40 # ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/ppix_manager.c |
68cc194e69e5
upgrade openjpeg to 2.4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
202
diff
changeset
|
41 # ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/t1_generate_luts.c |
68cc194e69e5
upgrade openjpeg to 2.4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
202
diff
changeset
|
42 # ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/test_sparse_array.c |
68cc194e69e5
upgrade openjpeg to 2.4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
202
diff
changeset
|
43 # ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/thix_manager.c |
68cc194e69e5
upgrade openjpeg to 2.4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
202
diff
changeset
|
44 # ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/tpix_manager.c |
0 | 45 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/bio.c |
46 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/cio.c | |
47 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/dwt.c | |
48 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/event.c | |
49 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/function_list.c | |
50 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/image.c | |
51 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/invert.c | |
52 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/j2k.c | |
53 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/jp2.c | |
54 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/mct.c | |
55 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/mqc.c | |
56 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/openjpeg.c | |
57 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_clock.c | |
222
68cc194e69e5
upgrade openjpeg to 2.4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
202
diff
changeset
|
58 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_malloc.c |
0 | 59 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/pi.c |
222
68cc194e69e5
upgrade openjpeg to 2.4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
202
diff
changeset
|
60 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/sparse_array.c |
0 | 61 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/t1.c |
62 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/t2.c | |
63 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/tcd.c | |
64 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/tgt.c | |
222
68cc194e69e5
upgrade openjpeg to 2.4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
202
diff
changeset
|
65 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/thread.c |
0 | 66 ) |
67 | |
68 configure_file( | |
69 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_config.h.cmake.in | |
70 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_config.h | |
71 @ONLY | |
72 ) | |
73 | |
74 configure_file( | |
75 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_config_private.h.cmake.in | |
76 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_config_private.h | |
77 @ONLY | |
78 ) | |
79 | |
80 include_directories( | |
81 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2 | |
82 ) | |
83 | |
84 else() | |
85 AUX_SOURCE_DIRECTORY(${OPENJPEG_SOURCES_DIR}/src/lib/openmj2 OPENJPEG_SOURCES) | |
86 | |
87 configure_file( | |
88 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_config.h.cmake.in | |
89 ${OPENJPEG_SOURCES_DIR}/src/lib/openmj2/opj_config.h | |
90 @ONLY | |
91 ) | |
92 | |
93 configure_file( | |
94 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_config_private.h.cmake.in | |
95 ${OPENJPEG_SOURCES_DIR}/src/lib/openmj2/opj_config_private.h | |
96 @ONLY | |
97 ) | |
98 | |
99 include_directories( | |
100 ${OPENJPEG_SOURCES_DIR}/src/lib/openmj2 | |
101 ) | |
102 endif() | |
103 | |
104 | |
105 add_definitions( | |
106 -DOPJ_STATIC | |
107 -DORTHANC_OPENJPEG_MAJOR_VERSION=2 | |
108 ) | |
109 | |
110 if (NOT WIN32) | |
111 add_definitions( | |
112 -DOPJ_HAVE_STDINT_H=1 | |
113 -DOPJ_HAVE_INTTYPES_H=1 | |
114 ) | |
115 endif() | |
116 | |
11
217a219ac0fc
additional search path for openjpeg.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
117 source_group(ThirdParty\\OpenJPEG REGULAR_EXPRESSION ${OPENJPEG_SOURCES_DIR}/.*) |
0 | 118 |
119 else() | |
11
217a219ac0fc
additional search path for openjpeg.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
120 find_path(OPENJPEG_INCLUDE_DIR |
12 | 121 NAMES openjpeg.h |
122 PATHS | |
11
217a219ac0fc
additional search path for openjpeg.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
123 /usr/include/ |
12 | 124 /usr/include/openjpeg-2.1/ |
113
aea85d9e3939
Fix Debian #876807 (orthanc-wsi FTBFS with libopenjp2-7-dev 2.2.0-1)
s.jodogne@gmail.com
parents:
81
diff
changeset
|
125 /usr/include/openjpeg-2.2/ |
114
481eb5d78722
provision for recently-release OpenJPEG 2.3
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
113
diff
changeset
|
126 /usr/include/openjpeg-2.3/ |
222
68cc194e69e5
upgrade openjpeg to 2.4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
202
diff
changeset
|
127 /usr/include/openjpeg-2.4/ |
252
918ff23bcd5f
support linking against openjpeg 2.5
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
245
diff
changeset
|
128 /usr/include/openjpeg-2.5/ |
11
217a219ac0fc
additional search path for openjpeg.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
129 /usr/local/include/ |
217a219ac0fc
additional search path for openjpeg.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
130 ) |
217a219ac0fc
additional search path for openjpeg.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
131 |
217a219ac0fc
additional search path for openjpeg.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
132 CHECK_INCLUDE_FILE_CXX(${OPENJPEG_INCLUDE_DIR}/openjpeg.h HAVE_OPENJPEG_H) |
0 | 133 if (NOT HAVE_OPENJPEG_H) |
176
c38811bf2992
Fix issue #163 (Failure to recognize MIRAX / 3DHISTECH images)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
158
diff
changeset
|
134 message(FATAL_ERROR "Please install the OpenJPEG development package (libopenjp2-*dev on Ubuntu)") |
0 | 135 endif() |
136 | |
137 CHECK_LIBRARY_EXISTS(openjpeg opj_image_create "" HAVE_OPENJPEG_LIB) | |
12 | 138 if (HAVE_OPENJPEG_LIB) |
13 | 139 set(OPENJPEG_LIB openjpeg) |
12 | 140 else() |
141 # Search for alternative name "libopenjp2.so" that is notably used by Debian | |
142 CHECK_LIBRARY_EXISTS(openjp2 opj_image_create "" HAVE_OPENJP2_LIB) | |
143 | |
144 if (HAVE_OPENJP2_LIB) | |
145 set(OPENJPEG_LIB openjp2) | |
146 else() | |
147 message(FATAL_ERROR "Please install the OpenJPEG development package") | |
148 endif() | |
0 | 149 endif() |
150 | |
12 | 151 # Detection of the version of OpenJpeg |
152 set(CMAKE_REQUIRED_INCLUDES ${OPENJPEG_INCLUDE_DIR}) | |
153 set(CMAKE_REQUIRED_LIBRARIES ${OPENJPEG_LIB}) | |
13 | 154 |
12 | 155 CHECK_SYMBOL_EXISTS(opj_destroy_decompress openjpeg.h HAVE_OPENJPEG_1) |
156 if (HAVE_OPENJPEG_1) | |
157 message("Your system has OpenJPEG version 1") | |
0 | 158 add_definitions(-DORTHANC_OPENJPEG_MAJOR_VERSION=1) |
159 else() | |
12 | 160 CHECK_SYMBOL_EXISTS(opj_destroy_codec openjpeg.h HAVE_OPENJPEG_2) |
161 if (HAVE_OPENJPEG_2) | |
162 message("Your system has OpenJPEG version 2") | |
163 add_definitions(-DORTHANC_OPENJPEG_MAJOR_VERSION=2) | |
164 else() | |
165 message(FATAL_ERROR "Cannot detect your system version of OpenJPEG") | |
166 endif() | |
0 | 167 endif() |
12 | 168 |
169 link_libraries(${OPENJPEG_LIB}) | |
170 include_directories(${OPENJPEG_INCLUDE_DIR}) | |
202
94e87a7f9b70
fix cmake policy CMP0075
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
176
diff
changeset
|
171 |
94e87a7f9b70
fix cmake policy CMP0075
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
176
diff
changeset
|
172 unset(CMAKE_REQUIRED_INCLUDES) |
94e87a7f9b70
fix cmake policy CMP0075
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
176
diff
changeset
|
173 unset(CMAKE_REQUIRED_LIBRARIES) |
0 | 174 endif() |