Mercurial > hg > orthanc-wsi
annotate Applications/CMakeLists.txt @ 334:f011fc199b6a default tip
back to mainline
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 18 Oct 2024 15:44:18 +0200 |
parents | c42083d50ddf |
children |
rev | line source |
---|---|
242
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
1 # Orthanc - A Lightweight, RESTful DICOM Store |
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
2 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics |
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
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:
302
diff
changeset
|
6 # Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium |
242
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
7 # |
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
8 # This program is free software: you can redistribute it and/or |
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
9 # modify it under the terms of the GNU Affero General Public License |
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
10 # as published by the Free Software Foundation, either version 3 of |
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
11 # the License, or (at your option) any later version. |
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
12 # |
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
13 # This program is distributed in the hope that it will be useful, but |
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
14 # WITHOUT ANY WARRANTY; without even the implied warranty of |
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
16 # Affero General Public License for more details. |
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
17 # |
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
18 # You should have received a copy of the GNU Affero General Public License |
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
19 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
20 |
49f647ed1b4c
added copyright UCLouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
240
diff
changeset
|
21 |
0 | 22 cmake_minimum_required(VERSION 2.8) |
23 project(OrthancWSIApplications) | |
24 | |
140
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
25 include(${CMAKE_SOURCE_DIR}/../Resources/CMake/Version.cmake) |
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
26 |
0 | 27 |
28 ##################################################################### | |
29 ## Parameters of the build | |
30 ##################################################################### | |
31 | |
32 # Generic parameters | |
33 SET(STATIC_BUILD OFF CACHE BOOL "Static build of the third-party libraries (necessary for Windows)") | |
34 SET(ALLOW_DOWNLOADS OFF CACHE BOOL "Allow CMake to download packages") | |
57
91fc9583b2de
big refactoring to support sparse tiling
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
53
diff
changeset
|
35 SET(ENABLE_PROFILING OFF CACHE BOOL "Whether to enable the generation of profiling information with gprof") |
0 | 36 |
37 # Advanced parameters to fine-tune linking against system libraries | |
38 SET(USE_SYSTEM_LIBTIFF ON CACHE BOOL "Use the system version of libtiff") | |
39 SET(USE_SYSTEM_OPENJPEG ON CACHE BOOL "Use the system version of OpenJpeg") | |
40 | |
107 | 41 |
0 | 42 |
43 ##################################################################### | |
44 ## Configure mandatory third-party components | |
45 ##################################################################### | |
46 | |
47 SET(ORTHANC_WSI_DIR ${CMAKE_CURRENT_LIST_DIR}/..) | |
48 SET(USE_OPENJPEG_JP2 ON) | |
140
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
49 |
239 | 50 include(${CMAKE_SOURCE_DIR}/../Resources/Orthanc/CMake/DownloadOrthancFramework.cmake) |
51 | |
197
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
52 if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "system") |
239 | 53 if (ORTHANC_FRAMEWORK_USE_SHARED) |
54 include(FindBoost) | |
292
053af6d76f2a
fix shared library linking
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
55 find_package(Boost COMPONENTS filesystem program_options regex system thread date_time) |
239 | 56 |
57 if (NOT Boost_FOUND) | |
58 message(FATAL_ERROR "Unable to locate Boost on this system") | |
59 endif() | |
208 | 60 |
239 | 61 include(FindDCMTK) |
292
053af6d76f2a
fix shared library linking
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
62 link_libraries(${Boost_LIBRARIES} ${DCMTK_LIBRARIES} jsoncpp crypto) |
239 | 63 endif() |
64 | |
197
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
65 link_libraries(${ORTHANC_FRAMEWORK_LIBRARIES}) |
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
66 |
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
67 else() |
208 | 68 include_directories(${ORTHANC_FRAMEWORK_ROOT}) |
140
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
69 |
197
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
70 UNSET(STANDALONE_BUILD CACHE) |
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
71 SET(STANDALONE_BUILD ON) # Embed DCMTK's dictionaries for static builds |
140
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
72 |
204 | 73 include(${ORTHANC_FRAMEWORK_ROOT}/../Resources/CMake/OrthancFrameworkParameters.cmake) |
0 | 74 |
197
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
75 SET(ENABLE_CRYPTO_OPTIONS ON) |
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
76 SET(ENABLE_DCMTK ON) |
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
77 SET(ENABLE_DCMTK_JPEG OFF) # Disable DCMTK's support for JPEG, that clashes with libtiff |
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
78 SET(ENABLE_DCMTK_JPEG_LOSSLESS OFF) # Disable DCMTK's support for JPEG-LS |
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
79 SET(ENABLE_DCMTK_NETWORKING OFF) # Disable DCMTK's support for DICOM networking |
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
80 SET(ENABLE_JPEG ON) |
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
81 SET(ENABLE_LOCALE ON) # Enable support for locales (notably in Boost) |
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
82 SET(ENABLE_OPENSSL_ENGINES ON) |
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
83 SET(ENABLE_PNG ON) |
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
84 SET(ENABLE_SSL ON) |
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
85 SET(ENABLE_WEB_CLIENT ON) |
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
86 SET(ENABLE_ZLIB ON) |
0 | 87 |
204 | 88 include(${ORTHANC_FRAMEWORK_ROOT}/../Resources/CMake/VisualStudioPrecompiledHeaders.cmake) |
89 include(${ORTHANC_FRAMEWORK_ROOT}/../Resources/CMake/OrthancFrameworkConfiguration.cmake) | |
197
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
90 |
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
91 include(${ORTHANC_WSI_DIR}/Resources/CMake/BoostExtendedConfiguration.cmake) |
e5964793a790
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
196
diff
changeset
|
92 endif() |
0 | 93 |
94 | |
8
62adabb8c122
Provide "--version" in command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
6
diff
changeset
|
95 # Include components specific to WSI |
0 | 96 include(${ORTHANC_WSI_DIR}/Resources/CMake/OpenJpegConfiguration.cmake) |
97 include(${ORTHANC_WSI_DIR}/Resources/CMake/LibTiffConfiguration.cmake) | |
98 | |
99 | |
100 | |
101 ##################################################################### | |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
102 ## Create the list of the source files that depend upon the |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
103 ## precompiled headers |
0 | 104 ##################################################################### |
105 | |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
106 set(ORTHANC_WSI_SOURCES |
0 | 107 ${ORTHANC_WSI_DIR}/Framework/Algorithms/PyramidReader.cpp |
108 ${ORTHANC_WSI_DIR}/Framework/Algorithms/ReconstructPyramidCommand.cpp | |
109 ${ORTHANC_WSI_DIR}/Framework/Algorithms/TranscodeTileCommand.cpp | |
330
c42083d50ddf
Added support for DICOM tag "Recommended Absent Pixel CIELab" (0048,0015)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
110 ${ORTHANC_WSI_DIR}/Framework/ColorSpaces.cpp |
0 | 111 ${ORTHANC_WSI_DIR}/Framework/DicomToolbox.cpp |
112 ${ORTHANC_WSI_DIR}/Framework/DicomizerParameters.cpp | |
113 ${ORTHANC_WSI_DIR}/Framework/Enumerations.cpp | |
114 ${ORTHANC_WSI_DIR}/Framework/ImageToolbox.cpp | |
115 ${ORTHANC_WSI_DIR}/Framework/ImagedVolumeParameters.cpp | |
243
7d189530d648
added class CytomineImage
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
242
diff
changeset
|
116 ${ORTHANC_WSI_DIR}/Framework/Inputs/CytomineImage.cpp |
0 | 117 ${ORTHANC_WSI_DIR}/Framework/Inputs/DecodedTiledPyramid.cpp |
118 ${ORTHANC_WSI_DIR}/Framework/Inputs/DicomPyramid.cpp | |
119 ${ORTHANC_WSI_DIR}/Framework/Inputs/DicomPyramidInstance.cpp | |
120 ${ORTHANC_WSI_DIR}/Framework/Inputs/DicomPyramidLevel.cpp | |
121 ${ORTHANC_WSI_DIR}/Framework/Inputs/HierarchicalTiff.cpp | |
122 ${ORTHANC_WSI_DIR}/Framework/Inputs/OpenSlideLibrary.cpp | |
123 ${ORTHANC_WSI_DIR}/Framework/Inputs/OpenSlidePyramid.cpp | |
298
fa734a851551
New option: "tiff-alignment" to control deep zoom of plain TIFF over IIIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
297
diff
changeset
|
124 ${ORTHANC_WSI_DIR}/Framework/Inputs/PlainTiff.cpp |
0 | 125 ${ORTHANC_WSI_DIR}/Framework/Inputs/PyramidWithRawTiles.cpp |
126 ${ORTHANC_WSI_DIR}/Framework/Inputs/SingleLevelDecodedPyramid.cpp | |
127 ${ORTHANC_WSI_DIR}/Framework/Inputs/TiledPyramidStatistics.cpp | |
128 ${ORTHANC_WSI_DIR}/Framework/Jpeg2000Reader.cpp | |
129 ${ORTHANC_WSI_DIR}/Framework/Jpeg2000Writer.cpp | |
151 | 130 ${ORTHANC_WSI_DIR}/Framework/MultiThreading/BagOfTasksProcessor.cpp |
0 | 131 ${ORTHANC_WSI_DIR}/Framework/Outputs/DicomPyramidWriter.cpp |
132 ${ORTHANC_WSI_DIR}/Framework/Outputs/HierarchicalTiffWriter.cpp | |
133 ${ORTHANC_WSI_DIR}/Framework/Outputs/InMemoryTiledImage.cpp | |
134 ${ORTHANC_WSI_DIR}/Framework/Outputs/MultiframeDicomWriter.cpp | |
135 ${ORTHANC_WSI_DIR}/Framework/Outputs/PyramidWriterBase.cpp | |
136 ${ORTHANC_WSI_DIR}/Framework/Outputs/TruncatedPyramidWriter.cpp | |
151 | 137 ${ORTHANC_WSI_DIR}/Framework/Targets/FolderTarget.cpp |
138 ${ORTHANC_WSI_DIR}/Framework/Targets/OrthancTarget.cpp | |
297 | 139 ${ORTHANC_WSI_DIR}/Framework/TiffReader.cpp |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
140 ) |
0 | 141 |
26 | 142 EmbedResources( |
143 ${DCMTK_DICTIONARIES} | |
144 BRIGHTFIELD_OPTICAL_PATH ${ORTHANC_WSI_DIR}/Resources/BrightfieldOpticalPath.json | |
145 SAMPLE_DATASET ${ORTHANC_WSI_DIR}/Resources/SampleDataset.json | |
146 SRGB_ICC_PROFILE ${ORTHANC_WSI_DIR}/Resources/sRGB.icc | |
147 ) | |
23
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
148 |
141 | 149 add_definitions( |
150 | 150 -DORTHANC_ENABLE_LOGGING_PLUGIN=0 |
141 | 151 ) |
152 | |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
153 |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
154 ##################################################################### |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
155 ## Setup precompiled headers for Microsoft Visual Studio |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
156 ##################################################################### |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
157 |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
158 if (MSVC) |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
159 add_definitions(-DORTHANC_USE_PRECOMPILED_HEADERS=1) |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
160 |
140
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
161 set(TMP |
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
162 ${ORTHANC_CORE_SOURCES_INTERNAL} |
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
163 ${ORTHANC_DICOM_SOURCES_INTERNAL} |
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
164 ) |
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
165 |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
166 ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS( |
205 | 167 "PrecompiledHeaders.h" "${ORTHANC_FRAMEWORK_ROOT}/PrecompiledHeaders.cpp" |
140
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
168 TMP ORTHANC_CORE_PCH) |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
169 |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
170 ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS( |
118
3ddaaad18ec0
fix msvc precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
116
diff
changeset
|
171 "PrecompiledHeadersWSI.h" "${ORTHANC_WSI_DIR}/Framework/PrecompiledHeadersWSI.cpp" |
3ddaaad18ec0
fix msvc precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
116
diff
changeset
|
172 ORTHANC_WSI_SOURCES ORTHANC_WSI_PCH) |
26 | 173 |
174 source_group(ThirdParty\\OrthancCore FILES ${ORTHANC_CORE_SOURCES}) | |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
175 endif() |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
176 |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
177 |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
178 ##################################################################### |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
179 ## Create the static library containing the framework |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
180 ##################################################################### |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
181 |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
182 add_library(OrthancWSIFramework STATIC |
192 | 183 ${ORTHANC_WSI_PCH} |
184 ${ORTHANC_WSI_SOURCES} | |
185 | |
118
3ddaaad18ec0
fix msvc precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
116
diff
changeset
|
186 ${ORTHANC_CORE_PCH} |
140
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
187 ${ORTHANC_CORE_SOURCES_INTERNAL} |
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
188 ${ORTHANC_CORE_SOURCES_DEPENDENCIES} |
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
189 ${ORTHANC_DICOM_SOURCES_INTERNAL} |
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
190 ${ORTHANC_DICOM_SOURCES_DEPENDENCIES} |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
191 ${AUTOGENERATED_SOURCES} |
140
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
192 ${BOOST_EXTENDED_SOURCES} |
a0f9a3df1110
resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
130
diff
changeset
|
193 |
196
b0bd22077cd8
sharing code with orthanc-stone
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
195
diff
changeset
|
194 ${ORTHANC_WSI_DIR}/Resources/Orthanc/Stone/DicomDatasetReader.cpp |
b0bd22077cd8
sharing code with orthanc-stone
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
195
diff
changeset
|
195 ${ORTHANC_WSI_DIR}/Resources/Orthanc/Stone/FullOrthancDataset.cpp |
b0bd22077cd8
sharing code with orthanc-stone
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
195
diff
changeset
|
196 ${ORTHANC_WSI_DIR}/Resources/Orthanc/Stone/IOrthancConnection.cpp |
b0bd22077cd8
sharing code with orthanc-stone
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
195
diff
changeset
|
197 ${ORTHANC_WSI_DIR}/Resources/Orthanc/Stone/OrthancHttpConnection.cpp |
320 | 198 ${ORTHANC_WSI_DIR}/Resources/Orthanc/StoneToolbox.cpp |
0 | 199 |
200 # Mandatory components | |
201 ${LIBTIFF_SOURCES} | |
202 ${OPENJPEG_SOURCES} | |
203 ) | |
204 | |
302
f1441b74ba09
fixed handling of DefineSourceBasenameForTarget
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
298
diff
changeset
|
205 if (COMMAND DefineSourceBasenameForTarget) |
f1441b74ba09
fixed handling of DefineSourceBasenameForTarget
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
298
diff
changeset
|
206 DefineSourceBasenameForTarget(OrthancWSIFramework) |
f1441b74ba09
fixed handling of DefineSourceBasenameForTarget
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
298
diff
changeset
|
207 endif() |
255
cf20f8417eaa
introduction of DefineSourceBasenameForTarget()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
254
diff
changeset
|
208 |
0 | 209 |
210 ##################################################################### | |
211 ## Build the WSI DICOM-izer | |
212 ##################################################################### | |
213 | |
9
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
214 # Create the Windows resources, if need be |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
215 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
216 execute_process( |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
217 COMMAND |
205 | 218 ${PYTHON_EXECUTABLE} ${ORTHANC_FRAMEWORK_ROOT}/../Resources/WindowsResources.py |
9
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
219 ${ORTHANC_WSI_VERSION} OrthancWSIDicomizer OrthancWSIDicomizer.exe "Companion tool to Orthanc for whole-slide imaging" |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
220 ERROR_VARIABLE Failure |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
221 OUTPUT_FILE ${AUTOGENERATED_DIR}/OrthancWSIDicomizer.rc |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
222 ) |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
223 |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
224 if (Failure) |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
225 message(FATAL_ERROR "Error while computing the version information: ${Failure}") |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
226 endif() |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
227 |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
228 set(DICOMIZER_RESOURCES ${AUTOGENERATED_DIR}/OrthancWSIDicomizer.rc) |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
229 endif() |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
230 |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
231 |
0 | 232 add_executable(OrthancWSIDicomizer |
233 Dicomizer.cpp | |
234 ApplicationToolbox.cpp | |
9
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
235 ${DICOMIZER_RESOURCES} |
0 | 236 ) |
237 | |
302
f1441b74ba09
fixed handling of DefineSourceBasenameForTarget
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
298
diff
changeset
|
238 if (COMMAND DefineSourceBasenameForTarget) |
f1441b74ba09
fixed handling of DefineSourceBasenameForTarget
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
298
diff
changeset
|
239 DefineSourceBasenameForTarget(OrthancWSIDicomizer) |
f1441b74ba09
fixed handling of DefineSourceBasenameForTarget
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
298
diff
changeset
|
240 endif() |
255
cf20f8417eaa
introduction of DefineSourceBasenameForTarget()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
254
diff
changeset
|
241 |
0 | 242 target_link_libraries(OrthancWSIDicomizer OrthancWSIFramework ${DCMTK_LIBRARIES}) |
243 | |
6 | 244 install( |
245 TARGETS OrthancWSIDicomizer | |
246 RUNTIME DESTINATION bin | |
247 ) | |
248 | |
0 | 249 |
250 ##################################################################### | |
251 ## Build the DICOM-to-TIFF conversion tool | |
252 ##################################################################### | |
253 | |
9
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
254 # Create the Windows resources, if need be |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
255 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
256 execute_process( |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
257 COMMAND |
205 | 258 ${PYTHON_EXECUTABLE} ${ORTHANC_FRAMEWORK_ROOT}/../Resources/WindowsResources.py |
9
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
259 ${ORTHANC_WSI_VERSION} OrthancWSIDicomToTiff OrthancWSIDicomToTiff.exe "Companion tool to Orthanc for whole-slide imaging" |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
260 ERROR_VARIABLE Failure |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
261 OUTPUT_FILE ${AUTOGENERATED_DIR}/OrthancWSIDicomToTiff.rc |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
262 ) |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
263 |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
264 if (Failure) |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
265 message(FATAL_ERROR "Error while computing the version information: ${Failure}") |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
266 endif() |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
267 |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
268 set(DICOM_TO_TIFF_RESOURCES ${AUTOGENERATED_DIR}/OrthancWSIDicomToTiff.rc) |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
269 endif() |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
270 |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
271 |
0 | 272 add_executable(OrthancWSIDicomToTiff |
273 DicomToTiff.cpp | |
274 ApplicationToolbox.cpp | |
9
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
275 ${DICOM_TO_TIFF_RESOURCES} |
0 | 276 ) |
277 | |
302
f1441b74ba09
fixed handling of DefineSourceBasenameForTarget
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
298
diff
changeset
|
278 if (COMMAND DefineSourceBasenameForTarget) |
f1441b74ba09
fixed handling of DefineSourceBasenameForTarget
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
298
diff
changeset
|
279 DefineSourceBasenameForTarget(OrthancWSIDicomToTiff) |
f1441b74ba09
fixed handling of DefineSourceBasenameForTarget
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
298
diff
changeset
|
280 endif() |
255
cf20f8417eaa
introduction of DefineSourceBasenameForTarget()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
254
diff
changeset
|
281 |
0 | 282 target_link_libraries(OrthancWSIDicomToTiff OrthancWSIFramework ${DCMTK_LIBRARIES}) |
283 | |
6 | 284 install( |
285 TARGETS OrthancWSIDicomToTiff | |
286 RUNTIME DESTINATION bin | |
287 ) | |
288 | |
0 | 289 |
290 ##################################################################### | |
291 ## Generate the documentation if Doxygen is present | |
292 ##################################################################### | |
293 | |
294 find_package(Doxygen) | |
295 if (DOXYGEN_FOUND) | |
296 configure_file( | |
297 ${ORTHANC_WSI_DIR}/Resources/OrthancWSI.doxygen | |
298 ${CMAKE_CURRENT_BINARY_DIR}/OrthancWSI.doxygen | |
299 @ONLY) | |
300 | |
301 add_custom_target(doc | |
302 ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/OrthancWSI.doxygen | |
303 COMMENT "Generating documentation with Doxygen" VERBATIM | |
304 ) | |
305 else() | |
306 message("Doxygen not found. The documentation will not be built.") | |
307 endif() |