Mercurial > hg > orthanc-wsi
annotate Applications/CMakeLists.txt @ 118:3ddaaad18ec0
fix msvc precompiled headers
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 04 Jan 2018 11:28:56 +0100 |
parents | a18bfe1fdd62 |
children | e8fe7c9a7d6c |
rev | line source |
---|---|
0 | 1 cmake_minimum_required(VERSION 2.8) |
2 project(OrthancWSIApplications) | |
3 | |
4 | |
5 ##################################################################### | |
6 ## Parameters of the build | |
7 ##################################################################### | |
8 | |
9 # Generic parameters | |
10 SET(STATIC_BUILD OFF CACHE BOOL "Static build of the third-party libraries (necessary for Windows)") | |
11 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
|
12 SET(ENABLE_PROFILING OFF CACHE BOOL "Whether to enable the generation of profiling information with gprof") |
0 | 13 |
14 # Optional components | |
15 SET(ENABLE_SSL OFF CACHE BOOL "Include support for SSL") | |
16 SET(USE_DCMTK_361 OFF CACHE BOOL "Use forthcoming DCMTK version 3.6.1 in static builds (instead of 3.6.0)") | |
17 | |
18 if (CMAKE_SYSTEM_NAME STREQUAL "Linux") | |
19 set(TMP ON) | |
20 else() | |
21 set(TMP OFF) | |
22 endif() | |
23 | |
24 | |
25 # Advanced parameters to fine-tune linking against system libraries | |
26 SET(USE_SYSTEM_BOOST ON CACHE BOOL "Use the system version of Boost") | |
27 SET(USE_SYSTEM_CURL ON CACHE BOOL "Use the system version of LibCurl") | |
28 SET(USE_SYSTEM_DCMTK ON CACHE BOOL "Use the system version of DCMTK") | |
29 SET(USE_SYSTEM_JSONCPP ON CACHE BOOL "Use the system version of JsonCpp") | |
107 | 30 SET(USE_SYSTEM_LIBICONV ON CACHE BOOL "Use the system version of libiconv") |
0 | 31 SET(USE_SYSTEM_LIBJPEG ON CACHE BOOL "Use the system version of libjpeg") |
32 SET(USE_SYSTEM_LIBPNG ON CACHE BOOL "Use the system version of libpng") | |
33 SET(USE_SYSTEM_LIBTIFF ON CACHE BOOL "Use the system version of libtiff") | |
34 SET(USE_SYSTEM_OPENJPEG ON CACHE BOOL "Use the system version of OpenJpeg") | |
35 SET(USE_SYSTEM_OPENSSL ON CACHE BOOL "Use the system version of OpenSSL") | |
116 | 36 SET(USE_SYSTEM_ORTHANC_SDK ON CACHE BOOL "Use the system version of the Orthanc plugin SDK") |
0 | 37 SET(USE_SYSTEM_ZLIB ON CACHE BOOL "Use the system version of ZLib") |
116 | 38 set(USE_SYSTEM_UUID ON CACHE BOOL "Use the system version of the uuid library from e2fsprogs") |
0 | 39 |
40 SET(DCMTK_DICTIONARY_DIR "" CACHE PATH "Directory containing the DCMTK dictionaries \"dicom.dic\" and \"private.dic\" (only when using system version of DCMTK)") | |
41 | |
107 | 42 SET(USE_BOOST_ICONV ON CACHE BOOL "Use iconv instead of wconv (Windows only)") |
43 mark_as_advanced(USE_BOOST_ICONV) | |
44 | |
0 | 45 |
46 ##################################################################### | |
47 ## Configure mandatory third-party components | |
48 ##################################################################### | |
49 | |
50 SET(ORTHANC_WSI_DIR ${CMAKE_CURRENT_LIST_DIR}/..) | |
59
7a3853d51c45
Move "Framework/Orthanc/" as "Resources/Orthanc/"
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
58
diff
changeset
|
51 SET(ORTHANC_ROOT ${ORTHANC_WSI_DIR}/Resources/Orthanc) |
0 | 52 SET(USE_OPENJPEG_JP2 ON) |
53 SET(ENABLE_JPEG OFF) # Disable DCMTK's support for JPEG, that clashes with libtiff | |
54 SET(ENABLE_JPEG_LOSSLESS OFF) # Disable DCMTK's support for JPEG-LS | |
55 SET(ENABLE_DCMTK_NETWORK OFF) # Disable DCMTK's support for DICOM networking | |
107 | 56 SET(ENABLE_LOCALE ON) # Enable support for locales (notably in Boost) |
0 | 57 SET(STANDALONE_BUILD ON) # Embed DCMTK's dictionaries for static builds |
53 | 58 SET(USE_DCMTK_361_PRIVATE_DIC OFF) # No need for private tags |
0 | 59 |
107 | 60 include(CheckFunctionExists) |
116 | 61 include(CheckIncludeFile) |
0 | 62 include(CheckIncludeFiles) |
63 include(CheckIncludeFileCXX) | |
64 include(CheckLibraryExists) | |
116 | 65 include(CheckStructHasMember) |
0 | 66 include(FindPythonInterp) |
67 include(FindPkgConfig) | |
13 | 68 include(CheckSymbolExists) |
0 | 69 |
70 include(${ORTHANC_ROOT}/Resources/CMake/Compiler.cmake) | |
71 include(${ORTHANC_ROOT}/Resources/CMake/AutoGeneratedCode.cmake) | |
72 include(${ORTHANC_ROOT}/Resources/CMake/DownloadPackage.cmake) | |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
73 include(${ORTHANC_ROOT}/Resources/CMake/VisualStudioPrecompiledHeaders.cmake) |
0 | 74 |
75 # Third-party components shipped with Orthanc | |
76 include(${ORTHANC_ROOT}/Resources/CMake/DcmtkConfiguration.cmake) | |
77 include(${ORTHANC_ROOT}/Resources/CMake/JsonCppConfiguration.cmake) | |
78 include(${ORTHANC_ROOT}/Resources/CMake/LibCurlConfiguration.cmake) | |
107 | 79 include(${ORTHANC_ROOT}/Resources/CMake/LibIconvConfiguration.cmake) |
0 | 80 include(${ORTHANC_ROOT}/Resources/CMake/LibJpegConfiguration.cmake) |
81 include(${ORTHANC_ROOT}/Resources/CMake/LibPngConfiguration.cmake) | |
116 | 82 include(${ORTHANC_ROOT}/Resources/CMake/UuidConfiguration.cmake) |
0 | 83 include(${ORTHANC_ROOT}/Resources/CMake/ZlibConfiguration.cmake) |
84 | |
8
62adabb8c122
Provide "--version" in command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
6
diff
changeset
|
85 # Include components specific to WSI |
62adabb8c122
Provide "--version" in command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
6
diff
changeset
|
86 include(${ORTHANC_WSI_DIR}/Resources/CMake/Version.cmake) |
0 | 87 include(${ORTHANC_WSI_DIR}/Resources/CMake/BoostExtendedConfiguration.cmake) |
88 include(${ORTHANC_WSI_DIR}/Resources/CMake/OpenJpegConfiguration.cmake) | |
89 include(${ORTHANC_WSI_DIR}/Resources/CMake/LibTiffConfiguration.cmake) | |
90 | |
91 add_definitions( | |
116 | 92 -DHAS_ORTHANC_EXCEPTION=1 |
82 | 93 -DORTHANC_BUILD_UNIT_TESTS=0 # For FromDcmtkBridge |
116 | 94 -DORTHANC_DEFAULT_DICOM_ENCODING=Encoding_Latin1 |
0 | 95 -DORTHANC_ENABLE_BASE64=1 |
96 -DORTHANC_ENABLE_CURL=1 | |
97 -DORTHANC_ENABLE_DCMTK=1 | |
116 | 98 -DORTHANC_ENABLE_DCMTK_JPEG=0 # Disable DCMTK's support for JPEG |
99 -DORTHANC_ENABLE_DCMTK_JPEG_LOSSLESS=0 # Disable DCMTK's support for JPEG-LS | |
100 -DORTHANC_ENABLE_JPEG=1 | |
107 | 101 -DORTHANC_ENABLE_LOCALE=1 |
0 | 102 -DORTHANC_ENABLE_LOGGING=1 |
92 | 103 -DORTHANC_ENABLE_LOGGING_PLUGIN=0 |
82 | 104 -DORTHANC_ENABLE_LUA=0 # For FromDcmtkBridge |
0 | 105 -DORTHANC_ENABLE_MD5=0 |
40 | 106 -DORTHANC_ENABLE_PKCS11=0 |
82 | 107 -DORTHANC_ENABLE_PLUGINS=1 # To enable class Orthanc::SharedLibrary |
116 | 108 -DORTHANC_ENABLE_PNG=1 |
40 | 109 -DORTHANC_ENABLE_PUGIXML=0 |
116 | 110 -DORTHANC_MAXIMUM_TAG_LENGTH=256 |
43 | 111 -DORTHANC_SANDBOXED=0 |
0 | 112 ) |
113 | |
114 | |
115 ##################################################################### | |
66 | 116 ## Find the Orthanc SDK |
117 ##################################################################### | |
118 | |
119 if (STATIC_BUILD OR NOT USE_SYSTEM_ORTHANC_SDK) | |
120 include_directories(${ORTHANC_ROOT}/Sdk-1.0.0) | |
121 else () | |
122 CHECK_INCLUDE_FILE_CXX(orthanc/OrthancCPlugin.h HAVE_ORTHANC_H) | |
123 if (NOT HAVE_ORTHANC_H) | |
124 message(FATAL_ERROR "Please install the headers of the Orthanc plugins SDK") | |
125 endif() | |
126 endif() | |
127 | |
128 | |
129 ##################################################################### | |
0 | 130 ## Configure optional third-party components |
131 ##################################################################### | |
132 | |
133 if (ENABLE_SSL) | |
134 set(ENABLE_PKCS11 OFF) | |
40 | 135 add_definitions(-DORTHANC_ENABLE_SSL=1) |
0 | 136 include(${ORTHANC_ROOT}/Resources/CMake/OpenSslConfiguration.cmake) |
137 else() | |
40 | 138 add_definitions(-DORTHANC_ENABLE_SSL=0) |
0 | 139 endif() |
140 | |
141 | |
142 ##################################################################### | |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
143 ## 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
|
144 ## precompiled headers |
0 | 145 ##################################################################### |
146 | |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
147 set(ORTHANC_WSI_SOURCES |
0 | 148 ${ORTHANC_WSI_DIR}/Framework/Algorithms/PyramidReader.cpp |
149 ${ORTHANC_WSI_DIR}/Framework/Algorithms/ReconstructPyramidCommand.cpp | |
150 ${ORTHANC_WSI_DIR}/Framework/Algorithms/TranscodeTileCommand.cpp | |
151 ${ORTHANC_WSI_DIR}/Framework/DicomToolbox.cpp | |
152 ${ORTHANC_WSI_DIR}/Framework/DicomizerParameters.cpp | |
153 ${ORTHANC_WSI_DIR}/Framework/Enumerations.cpp | |
154 ${ORTHANC_WSI_DIR}/Framework/ImageToolbox.cpp | |
155 ${ORTHANC_WSI_DIR}/Framework/ImagedVolumeParameters.cpp | |
156 ${ORTHANC_WSI_DIR}/Framework/Inputs/DecodedTiledPyramid.cpp | |
157 ${ORTHANC_WSI_DIR}/Framework/Inputs/DicomPyramid.cpp | |
158 ${ORTHANC_WSI_DIR}/Framework/Inputs/DicomPyramidInstance.cpp | |
159 ${ORTHANC_WSI_DIR}/Framework/Inputs/DicomPyramidLevel.cpp | |
160 ${ORTHANC_WSI_DIR}/Framework/Inputs/HierarchicalTiff.cpp | |
161 ${ORTHANC_WSI_DIR}/Framework/Inputs/OpenSlideLibrary.cpp | |
162 ${ORTHANC_WSI_DIR}/Framework/Inputs/OpenSlidePyramid.cpp | |
163 ${ORTHANC_WSI_DIR}/Framework/Inputs/PyramidWithRawTiles.cpp | |
164 ${ORTHANC_WSI_DIR}/Framework/Inputs/SingleLevelDecodedPyramid.cpp | |
165 ${ORTHANC_WSI_DIR}/Framework/Inputs/TiledPyramidStatistics.cpp | |
166 ${ORTHANC_WSI_DIR}/Framework/Jpeg2000Reader.cpp | |
167 ${ORTHANC_WSI_DIR}/Framework/Jpeg2000Writer.cpp | |
61
147bd6dc28db
refactoring using new items in the plugin toolbox of Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
59
diff
changeset
|
168 ${ORTHANC_WSI_DIR}/Framework/Targets/FolderTarget.cpp |
147bd6dc28db
refactoring using new items in the plugin toolbox of Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
59
diff
changeset
|
169 ${ORTHANC_WSI_DIR}/Framework/Targets/OrthancTarget.cpp |
0 | 170 ${ORTHANC_WSI_DIR}/Framework/Outputs/DicomPyramidWriter.cpp |
171 ${ORTHANC_WSI_DIR}/Framework/Outputs/HierarchicalTiffWriter.cpp | |
172 ${ORTHANC_WSI_DIR}/Framework/Outputs/InMemoryTiledImage.cpp | |
173 ${ORTHANC_WSI_DIR}/Framework/Outputs/MultiframeDicomWriter.cpp | |
174 ${ORTHANC_WSI_DIR}/Framework/Outputs/PyramidWriterBase.cpp | |
175 ${ORTHANC_WSI_DIR}/Framework/Outputs/TruncatedPyramidWriter.cpp | |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
176 ) |
0 | 177 |
23
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
178 set(ORTHANC_CORE_SOURCES |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
179 ${ORTHANC_ROOT}/Core/ChunkedBuffer.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
180 ${ORTHANC_ROOT}/Core/DicomFormat/DicomArray.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
181 ${ORTHANC_ROOT}/Core/DicomFormat/DicomMap.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
182 ${ORTHANC_ROOT}/Core/DicomFormat/DicomTag.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
183 ${ORTHANC_ROOT}/Core/DicomFormat/DicomValue.cpp |
116 | 184 ${ORTHANC_ROOT}/Core/DicomParsing/FromDcmtkBridge.cpp |
185 ${ORTHANC_ROOT}/Core/DicomParsing/ToDcmtkBridge.cpp | |
23
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
186 ${ORTHANC_ROOT}/Core/Enumerations.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
187 ${ORTHANC_ROOT}/Core/HttpClient.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
188 ${ORTHANC_ROOT}/Core/Images/IImageWriter.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
189 ${ORTHANC_ROOT}/Core/Images/Image.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
190 ${ORTHANC_ROOT}/Core/Images/ImageAccessor.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
191 ${ORTHANC_ROOT}/Core/Images/ImageBuffer.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
192 ${ORTHANC_ROOT}/Core/Images/ImageProcessing.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
193 ${ORTHANC_ROOT}/Core/Images/JpegErrorManager.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
194 ${ORTHANC_ROOT}/Core/Images/JpegReader.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
195 ${ORTHANC_ROOT}/Core/Images/JpegWriter.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
196 ${ORTHANC_ROOT}/Core/Images/PngReader.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
197 ${ORTHANC_ROOT}/Core/Images/PngWriter.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
198 ${ORTHANC_ROOT}/Core/Logging.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
199 ${ORTHANC_ROOT}/Core/MultiThreading/BagOfTasksProcessor.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
200 ${ORTHANC_ROOT}/Core/MultiThreading/SharedMessageQueue.cpp |
43 | 201 ${ORTHANC_ROOT}/Core/SystemToolbox.cpp |
202 ${ORTHANC_ROOT}/Core/TemporaryFile.cpp | |
23
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
203 ${ORTHANC_ROOT}/Core/Toolbox.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
204 ${ORTHANC_ROOT}/Core/WebServiceParameters.cpp |
61
147bd6dc28db
refactoring using new items in the plugin toolbox of Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
59
diff
changeset
|
205 |
23
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
206 ${ORTHANC_ROOT}/Plugins/Engine/SharedLibrary.cpp |
61
147bd6dc28db
refactoring using new items in the plugin toolbox of Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
59
diff
changeset
|
207 ${ORTHANC_ROOT}/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp |
147bd6dc28db
refactoring using new items in the plugin toolbox of Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
59
diff
changeset
|
208 ${ORTHANC_ROOT}/Plugins/Samples/Common/DicomDatasetReader.cpp |
147bd6dc28db
refactoring using new items in the plugin toolbox of Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
59
diff
changeset
|
209 ${ORTHANC_ROOT}/Plugins/Samples/Common/DicomPath.cpp |
147bd6dc28db
refactoring using new items in the plugin toolbox of Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
59
diff
changeset
|
210 ${ORTHANC_ROOT}/Plugins/Samples/Common/DicomTag.cpp |
147bd6dc28db
refactoring using new items in the plugin toolbox of Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
59
diff
changeset
|
211 ${ORTHANC_ROOT}/Plugins/Samples/Common/FullOrthancDataset.cpp |
147bd6dc28db
refactoring using new items in the plugin toolbox of Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
59
diff
changeset
|
212 ${ORTHANC_ROOT}/Plugins/Samples/Common/IOrthancConnection.cpp |
147bd6dc28db
refactoring using new items in the plugin toolbox of Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
59
diff
changeset
|
213 ${ORTHANC_ROOT}/Plugins/Samples/Common/OrthancHttpConnection.cpp |
147bd6dc28db
refactoring using new items in the plugin toolbox of Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
59
diff
changeset
|
214 ${ORTHANC_ROOT}/Plugins/Samples/Common/OrthancPluginConnection.cpp |
147bd6dc28db
refactoring using new items in the plugin toolbox of Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
59
diff
changeset
|
215 ${ORTHANC_ROOT}/Plugins/Samples/Common/SimplifiedOrthancDataset.cpp |
147bd6dc28db
refactoring using new items in the plugin toolbox of Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
59
diff
changeset
|
216 |
23
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
217 ${ORTHANC_ROOT}/Resources/ThirdParty/base64/base64.cpp |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
218 ) |
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
219 |
26 | 220 EmbedResources( |
221 ${DCMTK_DICTIONARIES} | |
222 BRIGHTFIELD_OPTICAL_PATH ${ORTHANC_WSI_DIR}/Resources/BrightfieldOpticalPath.json | |
223 SAMPLE_DATASET ${ORTHANC_WSI_DIR}/Resources/SampleDataset.json | |
224 SRGB_ICC_PROFILE ${ORTHANC_WSI_DIR}/Resources/sRGB.icc | |
225 ) | |
23
8fbe705e3d92
store Orthanc Core sources in a separate group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
20
diff
changeset
|
226 |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
227 |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
228 ##################################################################### |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
229 ## Setup precompiled headers for Microsoft Visual Studio |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
230 ##################################################################### |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
231 |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
232 if (MSVC) |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
233 add_definitions(-DORTHANC_USE_PRECOMPILED_HEADERS=1) |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
234 |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
235 ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS( |
118
3ddaaad18ec0
fix msvc precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
116
diff
changeset
|
236 "PrecompiledHeaders.h" "${ORTHANC_WSI_DIR}/Resources/Orthanc/Core/PrecompiledHeaders.cpp" |
3ddaaad18ec0
fix msvc precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
116
diff
changeset
|
237 ORTHANC_CORE_SOURCES ORTHANC_CORE_PCH) |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
238 |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
239 ADD_VISUAL_STUDIO_PRECOMPILED_HEADERS( |
118
3ddaaad18ec0
fix msvc precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
116
diff
changeset
|
240 "PrecompiledHeadersWSI.h" "${ORTHANC_WSI_DIR}/Framework/PrecompiledHeadersWSI.cpp" |
3ddaaad18ec0
fix msvc precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
116
diff
changeset
|
241 ORTHANC_WSI_SOURCES ORTHANC_WSI_PCH) |
26 | 242 |
243 source_group(ThirdParty\\OrthancCore FILES ${ORTHANC_CORE_SOURCES}) | |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
244 endif() |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
245 |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
246 |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
247 ##################################################################### |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
248 ## Create the static library containing the framework |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
249 ##################################################################### |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
250 |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
251 add_library(OrthancWSIFramework STATIC |
118
3ddaaad18ec0
fix msvc precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
116
diff
changeset
|
252 ${ORTHANC_CORE_PCH} |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
253 ${ORTHANC_CORE_SOURCES} |
118
3ddaaad18ec0
fix msvc precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
116
diff
changeset
|
254 ${ORTHANC_WSI_PCH} |
16
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
255 ${ORTHANC_WSI_SOURCES} |
7a88c614be04
preparing for precompiled headers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
13
diff
changeset
|
256 ${AUTOGENERATED_SOURCES} |
0 | 257 |
258 # Mandatory components | |
259 ${BOOST_SOURCES} | |
27 | 260 ${CURL_SOURCES} |
261 ${DCMTK_SOURCES} | |
0 | 262 ${JSONCPP_SOURCES} |
107 | 263 ${LIBICONV_SOURCES} |
27 | 264 ${LIBJPEG_SOURCES} |
0 | 265 ${LIBPNG_SOURCES} |
266 ${LIBTIFF_SOURCES} | |
267 ${OPENJPEG_SOURCES} | |
116 | 268 ${UUID_SOURCES} |
27 | 269 ${ZLIB_SOURCES} |
0 | 270 |
271 # Optional components | |
272 ${OPENSSL_SOURCES} | |
273 ) | |
274 | |
275 | |
276 ##################################################################### | |
277 ## Build the WSI DICOM-izer | |
278 ##################################################################### | |
279 | |
9
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
280 # Create the Windows resources, if need be |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
281 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
282 execute_process( |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
283 COMMAND |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
284 ${PYTHON_EXECUTABLE} ${ORTHANC_ROOT}/Resources/WindowsResources.py |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
285 ${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
|
286 ERROR_VARIABLE Failure |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
287 OUTPUT_FILE ${AUTOGENERATED_DIR}/OrthancWSIDicomizer.rc |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
288 ) |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
289 |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
290 if (Failure) |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
291 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
|
292 endif() |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
293 |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
294 set(DICOMIZER_RESOURCES ${AUTOGENERATED_DIR}/OrthancWSIDicomizer.rc) |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
295 endif() |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
296 |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
297 |
0 | 298 add_executable(OrthancWSIDicomizer |
299 Dicomizer.cpp | |
300 ApplicationToolbox.cpp | |
9
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
301 ${DICOMIZER_RESOURCES} |
0 | 302 ) |
303 | |
304 target_link_libraries(OrthancWSIDicomizer OrthancWSIFramework ${DCMTK_LIBRARIES}) | |
305 | |
6 | 306 install( |
307 TARGETS OrthancWSIDicomizer | |
308 RUNTIME DESTINATION bin | |
309 ) | |
310 | |
0 | 311 |
312 ##################################################################### | |
313 ## Build the DICOM-to-TIFF conversion tool | |
314 ##################################################################### | |
315 | |
9
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
316 # Create the Windows resources, if need be |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
317 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
318 execute_process( |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
319 COMMAND |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
320 ${PYTHON_EXECUTABLE} ${ORTHANC_ROOT}/Resources/WindowsResources.py |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
321 ${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
|
322 ERROR_VARIABLE Failure |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
323 OUTPUT_FILE ${AUTOGENERATED_DIR}/OrthancWSIDicomToTiff.rc |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
324 ) |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
325 |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
326 if (Failure) |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
327 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
|
328 endif() |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
329 |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
330 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
|
331 endif() |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
332 |
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
333 |
0 | 334 add_executable(OrthancWSIDicomToTiff |
335 DicomToTiff.cpp | |
336 ApplicationToolbox.cpp | |
9
021482366dac
Windows resources for command-line tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
8
diff
changeset
|
337 ${DICOM_TO_TIFF_RESOURCES} |
0 | 338 ) |
339 | |
340 target_link_libraries(OrthancWSIDicomToTiff OrthancWSIFramework ${DCMTK_LIBRARIES}) | |
341 | |
6 | 342 install( |
343 TARGETS OrthancWSIDicomToTiff | |
344 RUNTIME DESTINATION bin | |
345 ) | |
346 | |
0 | 347 |
348 ##################################################################### | |
349 ## Generate the documentation if Doxygen is present | |
350 ##################################################################### | |
351 | |
352 find_package(Doxygen) | |
353 if (DOXYGEN_FOUND) | |
354 configure_file( | |
355 ${ORTHANC_WSI_DIR}/Resources/OrthancWSI.doxygen | |
356 ${CMAKE_CURRENT_BINARY_DIR}/OrthancWSI.doxygen | |
357 @ONLY) | |
358 | |
359 add_custom_target(doc | |
360 ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/OrthancWSI.doxygen | |
361 COMMENT "Generating documentation with Doxygen" VERBATIM | |
362 ) | |
363 else() | |
364 message("Doxygen not found. The documentation will not be built.") | |
365 endif() |