Mercurial > hg > orthanc
annotate Resources/CMake/DcmtkConfiguration.cmake @ 3274:95b0536be2c3
preparing for dcmtk 3.6.4
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 20 Feb 2019 17:19:27 +0100 |
parents | 0c2a8d5e0097 |
children | dd10fe965870 |
rev | line source |
---|---|
1914
501769757bf9
flag to remove network support in dcmtk, removal of unneeded sources in static builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1883
diff
changeset
|
1 if (NOT DEFINED ENABLE_DCMTK_NETWORKING) |
3274
95b0536be2c3
preparing for dcmtk 3.6.4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3133
diff
changeset
|
2 set(ENABLE_DCMTK_NETWORKING ON) |
1914
501769757bf9
flag to remove network support in dcmtk, removal of unneeded sources in static builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1883
diff
changeset
|
3 endif() |
501769757bf9
flag to remove network support in dcmtk, removal of unneeded sources in static builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1883
diff
changeset
|
4 |
929 | 5 if (STATIC_BUILD OR NOT USE_SYSTEM_DCMTK) |
3274
95b0536be2c3
preparing for dcmtk 3.6.4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3133
diff
changeset
|
6 if (DCMTK_STATIC_VERSION STREQUAL "3.6.0") |
95b0536be2c3
preparing for dcmtk 3.6.4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3133
diff
changeset
|
7 include(${CMAKE_CURRENT_LIST_DIR}/DcmtkConfigurationStatic-3.6.0.cmake) |
2376
c33ff8a7ffa9
Fix static compilation of DCMTK 3.6.2 on Fedora
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2364
diff
changeset
|
8 |
3274
95b0536be2c3
preparing for dcmtk 3.6.4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3133
diff
changeset
|
9 elseif (DCMTK_STATIC_VERSION STREQUAL "3.6.2") |
95b0536be2c3
preparing for dcmtk 3.6.4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3133
diff
changeset
|
10 include(${CMAKE_CURRENT_LIST_DIR}/DcmtkConfigurationStatic-3.6.2.cmake) |
95b0536be2c3
preparing for dcmtk 3.6.4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3133
diff
changeset
|
11 |
95b0536be2c3
preparing for dcmtk 3.6.4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3133
diff
changeset
|
12 #elseif (DCMTK_STATIC_VERSION STREQUAL "3.6.4") |
929 | 13 |
2356
7b3b82d426ed
removal of unneeded patch for speed in DCMTK 3.6.2
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2344
diff
changeset
|
14 else() |
3274
95b0536be2c3
preparing for dcmtk 3.6.4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3133
diff
changeset
|
15 message(FATAL_ERROR "Unsupported version of DCMTK: ${DCMTK_STATIC_VERSION}") |
2152
cbebc5d072b0
Use of DCMTK 3.6.1 dictionary of private tags in standalone builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2150
diff
changeset
|
16 endif() |
cbebc5d072b0
Use of DCMTK 3.6.1 dictionary of private tags in standalone builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2150
diff
changeset
|
17 |
2515
7c8a246e8652
fix WebAssembly build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2513
diff
changeset
|
18 |
3274
95b0536be2c3
preparing for dcmtk 3.6.4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3133
diff
changeset
|
19 ## |
95b0536be2c3
preparing for dcmtk 3.6.4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3133
diff
changeset
|
20 ## Commands shared by all versions of DCMTK |
95b0536be2c3
preparing for dcmtk 3.6.4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3133
diff
changeset
|
21 ## |
2344 | 22 |
929 | 23 # This fixes crashes related to the destruction of the DCMTK OFLogger |
24 # http://support.dcmtk.org/docs-snapshot/file_macros.html | |
25 add_definitions( | |
26 -DLOG4CPLUS_DISABLE_FATAL=1 | |
1634 | 27 -DDCMTK_VERSION_NUMBER=${DCMTK_VERSION_NUMBER} |
929 | 28 ) |
29 | |
2928
85999ed092c5
New CMake option "ENABLE_DCMTK_LOG" to disable logging internal to DCMTK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
30 if (NOT ENABLE_DCMTK_LOG) |
85999ed092c5
New CMake option "ENABLE_DCMTK_LOG" to disable logging internal to DCMTK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
31 # Disable logging internal to DCMTK |
85999ed092c5
New CMake option "ENABLE_DCMTK_LOG" to disable logging internal to DCMTK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
32 # https://groups.google.com/d/msg/orthanc-users/v2SzzAmY948/VxT1QVGiBAAJ |
85999ed092c5
New CMake option "ENABLE_DCMTK_LOG" to disable logging internal to DCMTK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
33 add_definitions( |
85999ed092c5
New CMake option "ENABLE_DCMTK_LOG" to disable logging internal to DCMTK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
34 -DDCMTK_LOG4CPLUS_DISABLE_FATAL=1 |
85999ed092c5
New CMake option "ENABLE_DCMTK_LOG" to disable logging internal to DCMTK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
35 -DDCMTK_LOG4CPLUS_DISABLE_ERROR=1 |
85999ed092c5
New CMake option "ENABLE_DCMTK_LOG" to disable logging internal to DCMTK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
36 -DDCMTK_LOG4CPLUS_DISABLE_WARN=1 |
85999ed092c5
New CMake option "ENABLE_DCMTK_LOG" to disable logging internal to DCMTK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
37 -DDCMTK_LOG4CPLUS_DISABLE_INFO=1 |
85999ed092c5
New CMake option "ENABLE_DCMTK_LOG" to disable logging internal to DCMTK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
38 -DDCMTK_LOG4CPLUS_DISABLE_DEBUG=1 |
85999ed092c5
New CMake option "ENABLE_DCMTK_LOG" to disable logging internal to DCMTK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
39 ) |
85999ed092c5
New CMake option "ENABLE_DCMTK_LOG" to disable logging internal to DCMTK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
40 endif() |
85999ed092c5
New CMake option "ENABLE_DCMTK_LOG" to disable logging internal to DCMTK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
41 |
929 | 42 include_directories( |
43 #${DCMTK_SOURCES_DIR} | |
44 ${DCMTK_SOURCES_DIR}/config/include | |
45 ${DCMTK_SOURCES_DIR}/ofstd/include | |
46 ${DCMTK_SOURCES_DIR}/oflog/include | |
47 ${DCMTK_SOURCES_DIR}/dcmdata/include | |
48 ) | |
49 | |
50 source_group(ThirdParty\\Dcmtk REGULAR_EXPRESSION ${DCMTK_SOURCES_DIR}/.*) | |
51 | |
52 if (STANDALONE_BUILD) | |
1770 | 53 set(DCMTK_USE_EMBEDDED_DICTIONARIES 1) |
54 set(DCMTK_DICTIONARIES | |
3274
95b0536be2c3
preparing for dcmtk 3.6.4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3133
diff
changeset
|
55 DICTIONARY_DICOM ${DCMTK_SOURCES_DIR}/dcmdata/data/dicom.dic |
1770 | 56 DICTIONARY_PRIVATE ${DCMTK_SOURCES_DIR}/dcmdata/data/private.dic |
57 DICTIONARY_DICONDE ${DCMTK_SOURCES_DIR}/dcmdata/data/diconde.dic | |
58 ) | |
929 | 59 else() |
1770 | 60 set(DCMTK_USE_EMBEDDED_DICTIONARIES 0) |
929 | 61 endif() |
62 | |
3274
95b0536be2c3
preparing for dcmtk 3.6.4
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3133
diff
changeset
|
63 |
929 | 64 else() |
65 # The following line allows to manually add libraries at the | |
66 # command-line, which is necessary for Ubuntu/Debian packages | |
67 set(tmp "${DCMTK_LIBRARIES}") | |
68 include(FindDCMTK) | |
69 list(APPEND DCMTK_LIBRARIES "${tmp}") | |
70 | |
1943
bc949ea71fe6
Fix of Debian bug #818512 ("FTBFS: Please install libdcmtk*-dev")
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1914
diff
changeset
|
71 include_directories(${DCMTK_INCLUDE_DIRS}) |
929 | 72 |
73 add_definitions( | |
74 -DHAVE_CONFIG_H=1 | |
75 ) | |
76 | |
1943
bc949ea71fe6
Fix of Debian bug #818512 ("FTBFS: Please install libdcmtk*-dev")
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1914
diff
changeset
|
77 if (EXISTS "${DCMTK_config_INCLUDE_DIR}/cfunix.h") |
bc949ea71fe6
Fix of Debian bug #818512 ("FTBFS: Please install libdcmtk*-dev")
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1914
diff
changeset
|
78 set(DCMTK_CONFIGURATION_FILE "${DCMTK_config_INCLUDE_DIR}/cfunix.h") |
bc949ea71fe6
Fix of Debian bug #818512 ("FTBFS: Please install libdcmtk*-dev")
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1914
diff
changeset
|
79 elseif (EXISTS "${DCMTK_config_INCLUDE_DIR}/osconfig.h") # This is for Arch Linux |
bc949ea71fe6
Fix of Debian bug #818512 ("FTBFS: Please install libdcmtk*-dev")
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1914
diff
changeset
|
80 set(DCMTK_CONFIGURATION_FILE "${DCMTK_config_INCLUDE_DIR}/osconfig.h") |
2287
9f3414878c02
Fix Debian #865606 (orthanc FTBFS with libdcmtk-dev 3.6.1~20170228-2)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2193
diff
changeset
|
81 elseif (EXISTS "${DCMTK_INCLUDE_DIRS}/dcmtk/config/osconfig.h") # This is for Debian Buster |
9f3414878c02
Fix Debian #865606 (orthanc FTBFS with libdcmtk-dev 3.6.1~20170228-2)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2193
diff
changeset
|
82 set(DCMTK_CONFIGURATION_FILE "${DCMTK_INCLUDE_DIRS}/dcmtk/config/osconfig.h") |
929 | 83 else() |
1883
71356f41ec2f
additional locations for dicom.dic
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1846
diff
changeset
|
84 message(FATAL_ERROR "Please install libdcmtk*-dev") |
929 | 85 endif() |
86 | |
2287
9f3414878c02
Fix Debian #865606 (orthanc FTBFS with libdcmtk-dev 3.6.1~20170228-2)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2193
diff
changeset
|
87 message("DCMTK configuration file: ${DCMTK_CONFIGURATION_FILE}") |
9f3414878c02
Fix Debian #865606 (orthanc FTBFS with libdcmtk-dev 3.6.1~20170228-2)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2193
diff
changeset
|
88 |
929 | 89 # Autodetection of the version of DCMTK |
90 file(STRINGS | |
91 "${DCMTK_CONFIGURATION_FILE}" | |
92 DCMTK_VERSION_NUMBER1 REGEX | |
93 ".*PACKAGE_VERSION .*") | |
94 | |
95 string(REGEX REPLACE | |
96 ".*PACKAGE_VERSION.*\"([0-9]*)\\.([0-9]*)\\.([0-9]*)\"$" | |
97 "\\1\\2\\3" | |
98 DCMTK_VERSION_NUMBER | |
99 ${DCMTK_VERSION_NUMBER1}) | |
100 | |
1770 | 101 set(DCMTK_USE_EMBEDDED_DICTIONARIES 0) |
102 endif() | |
929 | 103 |
104 | |
105 add_definitions(-DDCMTK_VERSION_NUMBER=${DCMTK_VERSION_NUMBER}) | |
106 message("DCMTK version: ${DCMTK_VERSION_NUMBER}") | |
1770 | 107 |
108 | |
109 add_definitions(-DDCMTK_USE_EMBEDDED_DICTIONARIES=${DCMTK_USE_EMBEDDED_DICTIONARIES}) | |
110 if (NOT DCMTK_USE_EMBEDDED_DICTIONARIES) | |
111 # Lookup for DICOM dictionaries, if none is specified by the user | |
112 if (DCMTK_DICTIONARY_DIR STREQUAL "") | |
113 find_path(DCMTK_DICTIONARY_DIR_AUTO dicom.dic | |
114 /usr/share/dcmtk | |
1883
71356f41ec2f
additional locations for dicom.dic
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1846
diff
changeset
|
115 /usr/share/libdcmtk1 |
1770 | 116 /usr/share/libdcmtk2 |
1883
71356f41ec2f
additional locations for dicom.dic
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1846
diff
changeset
|
117 /usr/share/libdcmtk3 |
1770 | 118 /usr/share/libdcmtk4 |
1883
71356f41ec2f
additional locations for dicom.dic
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1846
diff
changeset
|
119 /usr/share/libdcmtk5 |
71356f41ec2f
additional locations for dicom.dic
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1846
diff
changeset
|
120 /usr/share/libdcmtk6 |
2064
e92280e63d8d
fix Debian #829608
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1951
diff
changeset
|
121 /usr/share/libdcmtk7 |
e92280e63d8d
fix Debian #829608
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1951
diff
changeset
|
122 /usr/share/libdcmtk8 |
e92280e63d8d
fix Debian #829608
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1951
diff
changeset
|
123 /usr/share/libdcmtk9 |
2288
c6772af6dea3
fix to find DICOM dictionaries in Debian Butter
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2287
diff
changeset
|
124 /usr/share/libdcmtk10 |
c6772af6dea3
fix to find DICOM dictionaries in Debian Butter
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2287
diff
changeset
|
125 /usr/share/libdcmtk11 |
c6772af6dea3
fix to find DICOM dictionaries in Debian Butter
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2287
diff
changeset
|
126 /usr/share/libdcmtk12 |
c6772af6dea3
fix to find DICOM dictionaries in Debian Butter
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2287
diff
changeset
|
127 /usr/share/libdcmtk13 |
c6772af6dea3
fix to find DICOM dictionaries in Debian Butter
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2287
diff
changeset
|
128 /usr/share/libdcmtk14 |
c6772af6dea3
fix to find DICOM dictionaries in Debian Butter
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2287
diff
changeset
|
129 /usr/share/libdcmtk15 |
c6772af6dea3
fix to find DICOM dictionaries in Debian Butter
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2287
diff
changeset
|
130 /usr/share/libdcmtk16 |
2515
7c8a246e8652
fix WebAssembly build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2513
diff
changeset
|
131 /usr/share/libdcmtk17 |
7c8a246e8652
fix WebAssembly build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2513
diff
changeset
|
132 /usr/share/libdcmtk18 |
7c8a246e8652
fix WebAssembly build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2513
diff
changeset
|
133 /usr/share/libdcmtk19 |
7c8a246e8652
fix WebAssembly build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2513
diff
changeset
|
134 /usr/share/libdcmtk20 |
1770 | 135 /usr/local/share/dcmtk |
136 ) | |
137 | |
138 if (${DCMTK_DICTIONARY_DIR_AUTO} MATCHES "DCMTK_DICTIONARY_DIR_AUTO-NOTFOUND") | |
139 message(FATAL_ERROR "Cannot locate the DICOM dictionary on this system") | |
140 endif() | |
141 | |
142 message("Autodetected path to the DICOM dictionaries: ${DCMTK_DICTIONARY_DIR_AUTO}") | |
143 add_definitions(-DDCMTK_DICTIONARY_DIR="${DCMTK_DICTIONARY_DIR_AUTO}") | |
144 else() | |
145 add_definitions(-DDCMTK_DICTIONARY_DIR="${DCMTK_DICTIONARY_DIR}") | |
146 endif() | |
147 endif() |