Mercurial > hg > orthanc-wsi
annotate Resources/CMake/OpenJpegConfiguration.cmake @ 171:1390d5c87603
fix
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 02 Aug 2019 16:03:15 +0200 |
parents | 06bb728ee5fd |
children | c38811bf2992 |
rev | line source |
---|---|
0 | 1 if (STATIC_BUILD OR NOT USE_SYSTEM_OPENJPEG) |
2 SET(OPENJPEG_SOURCES_DIR ${CMAKE_BINARY_DIR}/openjpeg-version.2.1) | |
158
06bb728ee5fd
moving third-party dependencies to another server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
114
diff
changeset
|
3 SET(OPENJPEG_URL "http://orthanc.osimis.io/ThirdPartyDownloads/openjpeg-2.1.tar.gz") |
0 | 4 SET(OPENJPEG_MD5 "3e1c451c087f8462955426da38aa3b3d") |
5 | |
6 if (IS_DIRECTORY "${OPENJPEG_SOURCES_DIR}") | |
7 set(FirstRun OFF) | |
8 else() | |
9 set(FirstRun ON) | |
10 endif() | |
11 | |
12 DownloadPackage(${OPENJPEG_MD5} ${OPENJPEG_URL} "${OPENJPEG_SOURCES_DIR}") | |
13 | |
14 execute_process( | |
15 COMMAND ${PATCH_EXECUTABLE} -p0 -N -i ${CMAKE_CURRENT_LIST_DIR}/OpenJpegConfiguration.patch | |
16 WORKING_DIRECTORY ${CMAKE_BINARY_DIR} | |
17 RESULT_VARIABLE Failure | |
18 ) | |
19 | |
20 if (Failure AND FirstRun) | |
21 message(FATAL_ERROR "Error while patching a file") | |
22 endif() | |
23 | |
24 if (USE_OPENJPEG_JP2) | |
25 set(OPENJPEG_SOURCES | |
26 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/bio.c | |
27 #${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/cidx_manager.c | |
28 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/cio.c | |
29 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/dwt.c | |
30 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/event.c | |
31 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/function_list.c | |
32 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/image.c | |
33 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/invert.c | |
34 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/j2k.c | |
35 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/jp2.c | |
36 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/mct.c | |
37 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/mqc.c | |
38 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/openjpeg.c | |
39 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_clock.c | |
40 #${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/phix_manager.c | |
41 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/pi.c | |
42 #${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/ppix_manager.c | |
43 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/raw.c | |
44 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/t1.c | |
45 #${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/t1_generate_luts.c | |
46 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/t2.c | |
47 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/tcd.c | |
48 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/tgt.c | |
49 #${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/thix_manager.c | |
50 #${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/tpix_manager.c | |
51 ) | |
52 | |
53 configure_file( | |
54 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_config.h.cmake.in | |
55 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_config.h | |
56 @ONLY | |
57 ) | |
58 | |
59 configure_file( | |
60 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_config_private.h.cmake.in | |
61 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_config_private.h | |
62 @ONLY | |
63 ) | |
64 | |
65 include_directories( | |
66 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2 | |
67 ) | |
68 | |
69 # The following definition disables explicit inlining. This is | |
70 # necessary to bypass the "undefined reference to | |
71 # `opj_t1_dec_sigpass_step_mqc'" error. | |
72 add_definitions( | |
73 #-DINLINE= | |
74 ) | |
75 | |
76 else() | |
77 AUX_SOURCE_DIRECTORY(${OPENJPEG_SOURCES_DIR}/src/lib/openmj2 OPENJPEG_SOURCES) | |
78 | |
79 configure_file( | |
80 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_config.h.cmake.in | |
81 ${OPENJPEG_SOURCES_DIR}/src/lib/openmj2/opj_config.h | |
82 @ONLY | |
83 ) | |
84 | |
85 configure_file( | |
86 ${OPENJPEG_SOURCES_DIR}/src/lib/openjp2/opj_config_private.h.cmake.in | |
87 ${OPENJPEG_SOURCES_DIR}/src/lib/openmj2/opj_config_private.h | |
88 @ONLY | |
89 ) | |
90 | |
91 include_directories( | |
92 ${OPENJPEG_SOURCES_DIR}/src/lib/openmj2 | |
93 ) | |
94 endif() | |
95 | |
96 | |
97 add_definitions( | |
98 -DOPJ_STATIC | |
99 -DORTHANC_OPENJPEG_MAJOR_VERSION=2 | |
100 ) | |
101 | |
102 if (NOT WIN32) | |
103 add_definitions( | |
104 -DOPJ_HAVE_STDINT_H=1 | |
105 -DOPJ_HAVE_INTTYPES_H=1 | |
106 ) | |
107 endif() | |
108 | |
11
217a219ac0fc
additional search path for openjpeg.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
109 source_group(ThirdParty\\OpenJPEG REGULAR_EXPRESSION ${OPENJPEG_SOURCES_DIR}/.*) |
0 | 110 |
111 else() | |
11
217a219ac0fc
additional search path for openjpeg.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
112 find_path(OPENJPEG_INCLUDE_DIR |
12 | 113 NAMES openjpeg.h |
114 PATHS | |
11
217a219ac0fc
additional search path for openjpeg.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
115 /usr/include/ |
12 | 116 /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
|
117 /usr/include/openjpeg-2.2/ |
114
481eb5d78722
provision for recently-release OpenJPEG 2.3
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
113
diff
changeset
|
118 /usr/include/openjpeg-2.3/ |
11
217a219ac0fc
additional search path for openjpeg.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
119 /usr/local/include/ |
217a219ac0fc
additional search path for openjpeg.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
120 ) |
217a219ac0fc
additional search path for openjpeg.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
121 |
217a219ac0fc
additional search path for openjpeg.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
122 CHECK_INCLUDE_FILE_CXX(${OPENJPEG_INCLUDE_DIR}/openjpeg.h HAVE_OPENJPEG_H) |
0 | 123 if (NOT HAVE_OPENJPEG_H) |
11
217a219ac0fc
additional search path for openjpeg.h
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
124 message(FATAL_ERROR "Please install the OpenJPEG development package") |
0 | 125 endif() |
126 | |
127 CHECK_LIBRARY_EXISTS(openjpeg opj_image_create "" HAVE_OPENJPEG_LIB) | |
12 | 128 if (HAVE_OPENJPEG_LIB) |
13 | 129 set(OPENJPEG_LIB openjpeg) |
12 | 130 else() |
131 # Search for alternative name "libopenjp2.so" that is notably used by Debian | |
132 CHECK_LIBRARY_EXISTS(openjp2 opj_image_create "" HAVE_OPENJP2_LIB) | |
133 | |
134 if (HAVE_OPENJP2_LIB) | |
135 set(OPENJPEG_LIB openjp2) | |
136 else() | |
137 message(FATAL_ERROR "Please install the OpenJPEG development package") | |
138 endif() | |
0 | 139 endif() |
140 | |
12 | 141 # Detection of the version of OpenJpeg |
142 set(CMAKE_REQUIRED_INCLUDES ${OPENJPEG_INCLUDE_DIR}) | |
143 set(CMAKE_REQUIRED_LIBRARIES ${OPENJPEG_LIB}) | |
13 | 144 |
12 | 145 CHECK_SYMBOL_EXISTS(opj_destroy_decompress openjpeg.h HAVE_OPENJPEG_1) |
146 if (HAVE_OPENJPEG_1) | |
147 message("Your system has OpenJPEG version 1") | |
0 | 148 add_definitions(-DORTHANC_OPENJPEG_MAJOR_VERSION=1) |
149 else() | |
12 | 150 CHECK_SYMBOL_EXISTS(opj_destroy_codec openjpeg.h HAVE_OPENJPEG_2) |
151 if (HAVE_OPENJPEG_2) | |
152 message("Your system has OpenJPEG version 2") | |
153 add_definitions(-DORTHANC_OPENJPEG_MAJOR_VERSION=2) | |
154 else() | |
155 message(FATAL_ERROR "Cannot detect your system version of OpenJPEG") | |
156 endif() | |
0 | 157 endif() |
12 | 158 |
159 link_libraries(${OPENJPEG_LIB}) | |
160 include_directories(${OPENJPEG_INCLUDE_DIR}) | |
0 | 161 endif() |