Mercurial > hg > orthanc-stone
comparison Resources/CMake/OrthancStoneConfiguration.cmake @ 673:3f13f7f1b55d am-dev
merge default -> am-dev
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Thu, 16 May 2019 09:11:14 +0200 |
parents | e9339f2b5de7 |
children | 7719eb852dd5 |
comparison
equal
deleted
inserted
replaced
657:9e3bb8b4f726 | 673:3f13f7f1b55d |
---|---|
54 | 54 |
55 if (ENABLE_SSL) | 55 if (ENABLE_SSL) |
56 message(FATAL_ERROR "Cannot enable SSL in sandboxed environments") | 56 message(FATAL_ERROR "Cannot enable SSL in sandboxed environments") |
57 endif() | 57 endif() |
58 endif() | 58 endif() |
59 | |
60 if (ENABLE_WASM) | |
61 if (NOT ORTHANC_SANDBOXED) | |
62 message(FATAL_ERROR "WebAssembly target must me configured as sandboxed") | |
63 endif() | |
64 | |
65 if (NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten") | |
66 message(FATAL_ERROR "WebAssembly target requires the emscripten compiler") | |
67 endif() | |
68 | |
69 add_definitions(-DORTHANC_ENABLE_WASM=1) | |
70 else() | |
71 if (CMAKE_SYSTEM_NAME STREQUAL "Emscripten" OR | |
72 CMAKE_SYSTEM_NAME STREQUAL "PNaCl" OR | |
73 CMAKE_SYSTEM_NAME STREQUAL "NaCl32" OR | |
74 CMAKE_SYSTEM_NAME STREQUAL "NaCl64") | |
75 message(FATAL_ERROR "Trying to use a Web compiler for a native build") | |
76 endif() | |
77 | |
78 add_definitions(-DORTHANC_ENABLE_WASM=0) | |
79 endif() | |
59 | 80 |
60 | 81 |
61 ##################################################################### | 82 ##################################################################### |
62 ## Configure mandatory third-party components | 83 ## Configure mandatory third-party components |
63 ##################################################################### | 84 ##################################################################### |
65 SET(ORTHANC_STONE_ROOT ${CMAKE_CURRENT_LIST_DIR}/../..) | 86 SET(ORTHANC_STONE_ROOT ${CMAKE_CURRENT_LIST_DIR}/../..) |
66 | 87 |
67 include(FindPkgConfig) | 88 include(FindPkgConfig) |
68 include(${CMAKE_CURRENT_LIST_DIR}/BoostExtendedConfiguration.cmake) | 89 include(${CMAKE_CURRENT_LIST_DIR}/BoostExtendedConfiguration.cmake) |
69 include(${CMAKE_CURRENT_LIST_DIR}/CairoConfiguration.cmake) | 90 include(${CMAKE_CURRENT_LIST_DIR}/CairoConfiguration.cmake) |
91 include(${CMAKE_CURRENT_LIST_DIR}/FreetypeConfiguration.cmake) | |
70 include(${CMAKE_CURRENT_LIST_DIR}/PixmanConfiguration.cmake) | 92 include(${CMAKE_CURRENT_LIST_DIR}/PixmanConfiguration.cmake) |
71 | 93 |
72 | 94 |
73 | 95 |
74 ##################################################################### | 96 ##################################################################### |
85 if (ENABLE_SDL AND ENABLE_QT) | 107 if (ENABLE_SDL AND ENABLE_QT) |
86 message("SDL and QT may not be defined together") | 108 message("SDL and QT may not be defined together") |
87 elseif(ENABLE_SDL) | 109 elseif(ENABLE_SDL) |
88 message("SDL is enabled") | 110 message("SDL is enabled") |
89 include(${CMAKE_CURRENT_LIST_DIR}/SdlConfiguration.cmake) | 111 include(${CMAKE_CURRENT_LIST_DIR}/SdlConfiguration.cmake) |
90 add_definitions(-DORTHANC_ENABLE_NATIVE=1) | 112 add_definitions( |
91 add_definitions(-DORTHANC_ENABLE_QT=0) | 113 -DORTHANC_ENABLE_NATIVE=1 |
92 add_definitions(-DORTHANC_ENABLE_SDL=1) | 114 -DORTHANC_ENABLE_QT=0 |
115 -DORTHANC_ENABLE_SDL=1 | |
116 ) | |
93 elseif(ENABLE_QT) | 117 elseif(ENABLE_QT) |
94 message("QT is enabled") | 118 message("QT is enabled") |
95 include(${CMAKE_CURRENT_LIST_DIR}/QtConfiguration.cmake) | 119 include(${CMAKE_CURRENT_LIST_DIR}/QtConfiguration.cmake) |
96 add_definitions(-DORTHANC_ENABLE_NATIVE=1) | 120 add_definitions( |
97 add_definitions(-DORTHANC_ENABLE_QT=1) | 121 -DORTHANC_ENABLE_NATIVE=1 |
98 add_definitions(-DORTHANC_ENABLE_SDL=0) | 122 -DORTHANC_ENABLE_QT=1 |
123 -DORTHANC_ENABLE_SDL=0 | |
124 ) | |
99 else() | 125 else() |
100 message("SDL and QT are both disabled") | 126 message("SDL and QT are both disabled") |
101 unset(USE_SYSTEM_SDL CACHE) | 127 unset(USE_SYSTEM_SDL CACHE) |
102 add_definitions(-DORTHANC_ENABLE_SDL=0) | 128 add_definitions( |
103 add_definitions(-DORTHANC_ENABLE_QT=0) | 129 -DORTHANC_ENABLE_SDL=0 |
104 add_definitions(-DORTHANC_ENABLE_NATIVE=0) | 130 -DORTHANC_ENABLE_QT=0 |
131 -DORTHANC_ENABLE_NATIVE=0 | |
132 ) | |
133 endif() | |
134 | |
135 | |
136 if (ENABLE_OPENGL AND CMAKE_SYSTEM_NAME STREQUAL "Windows") | |
137 include(${CMAKE_CURRENT_LIST_DIR}/GlewConfiguration.cmake) | |
138 add_definitions( | |
139 -DORTHANC_ENABLE_GLEW=1 | |
140 ) | |
141 else() | |
142 add_definitions( | |
143 -DORTHANC_ENABLE_GLEW=0 | |
144 ) | |
145 endif() | |
146 | |
147 | |
148 if (ENABLE_OPENGL) | |
149 if (NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten") | |
150 # If including "FindOpenGL.cmake" using Emscripten (targeting | |
151 # WebAssembly), the "OPENGL_LIBRARIES" value incorrectly includes | |
152 # the "nul" library, which leads to warning message in Emscripten: | |
153 # 'shared:WARNING: emcc: cannot find library "nul"'. | |
154 include(FindOpenGL) | |
155 if (NOT OPENGL_FOUND) | |
156 message(FATAL_ERROR "Cannot find OpenGL on your system") | |
157 endif() | |
158 | |
159 link_libraries(${OPENGL_LIBRARIES}) | |
160 endif() | |
161 | |
162 add_definitions( | |
163 -DGL_GLEXT_PROTOTYPES=1 | |
164 -DORTHANC_ENABLE_OPENGL=1 | |
165 ) | |
166 else() | |
167 add_definitions(-DORTHANC_ENABLE_OPENGL=0) | |
105 endif() | 168 endif() |
106 | 169 |
107 | 170 |
108 | 171 |
109 ##################################################################### | 172 ##################################################################### |
121 ) | 184 ) |
122 | 185 |
123 if (CMAKE_BUILD_TYPE STREQUAL "Debug") | 186 if (CMAKE_BUILD_TYPE STREQUAL "Debug") |
124 add_definitions(-DCHECK_OBSERVERS_MESSAGES) | 187 add_definitions(-DCHECK_OBSERVERS_MESSAGES) |
125 endif() | 188 endif() |
189 | |
190 | |
126 | 191 |
127 ##################################################################### | 192 ##################################################################### |
128 ## Embed the colormaps into the binaries | 193 ## Embed the colormaps into the binaries |
129 ##################################################################### | 194 ##################################################################### |
130 | 195 |
198 ${ORTHANC_STONE_ROOT}/Applications/Generic/NativeStoneApplicationRunner.cpp | 263 ${ORTHANC_STONE_ROOT}/Applications/Generic/NativeStoneApplicationRunner.cpp |
199 ${ORTHANC_STONE_ROOT}/Applications/Generic/NativeStoneApplicationContext.cpp | 264 ${ORTHANC_STONE_ROOT}/Applications/Generic/NativeStoneApplicationContext.cpp |
200 ) | 265 ) |
201 if (ENABLE_SDL) | 266 if (ENABLE_SDL) |
202 list(APPEND APPLICATIONS_SOURCES | 267 list(APPEND APPLICATIONS_SOURCES |
268 ${ORTHANC_STONE_ROOT}/Applications/Sdl/SdlCairoSurface.cpp | |
269 ${ORTHANC_STONE_ROOT}/Applications/Sdl/SdlEngine.cpp | |
270 ${ORTHANC_STONE_ROOT}/Applications/Sdl/SdlOpenGLWindow.cpp | |
271 ${ORTHANC_STONE_ROOT}/Applications/Sdl/SdlOrthancSurface.cpp | |
203 ${ORTHANC_STONE_ROOT}/Applications/Sdl/SdlStoneApplicationRunner.cpp | 272 ${ORTHANC_STONE_ROOT}/Applications/Sdl/SdlStoneApplicationRunner.cpp |
204 ${ORTHANC_STONE_ROOT}/Applications/Sdl/SdlEngine.cpp | |
205 ${ORTHANC_STONE_ROOT}/Applications/Sdl/SdlCairoSurface.cpp | |
206 ${ORTHANC_STONE_ROOT}/Applications/Sdl/SdlOrthancSurface.cpp | |
207 ${ORTHANC_STONE_ROOT}/Applications/Sdl/SdlWindow.cpp | 273 ${ORTHANC_STONE_ROOT}/Applications/Sdl/SdlWindow.cpp |
208 ) | 274 ) |
209 endif() | 275 endif() |
210 endif() | 276 endif() |
211 elseif (ENABLE_WASM) | 277 elseif (ENABLE_WASM) |
241 | 307 |
242 list(APPEND ORTHANC_STONE_SOURCES | 308 list(APPEND ORTHANC_STONE_SOURCES |
243 #${ORTHANC_STONE_ROOT}/Framework/Layers/SeriesFrameRendererFactory.cpp | 309 #${ORTHANC_STONE_ROOT}/Framework/Layers/SeriesFrameRendererFactory.cpp |
244 #${ORTHANC_STONE_ROOT}/Framework/Layers/SingleFrameRendererFactory.cpp | 310 #${ORTHANC_STONE_ROOT}/Framework/Layers/SingleFrameRendererFactory.cpp |
245 | 311 |
312 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/CairoCompositor.cpp | |
313 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/ColorTextureSceneLayer.cpp | |
314 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/FloatTextureSceneLayer.cpp | |
315 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/InfoPanelSceneLayer.cpp | |
316 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/CairoColorTextureRenderer.cpp | |
317 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/CairoFloatTextureRenderer.cpp | |
318 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/CairoInfoPanelRenderer.cpp | |
319 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/CairoPolylineRenderer.cpp | |
320 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/CairoTextRenderer.cpp | |
321 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/CompositorHelper.cpp | |
322 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/FixedPointAligner.cpp | |
323 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/PanSceneTracker.cpp | |
324 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/PointerEvent.cpp | |
325 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/PolylineSceneLayer.cpp | |
326 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/RotateSceneTracker.cpp | |
327 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Scene2D.cpp | |
328 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/TextSceneLayer.cpp | |
329 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/TextureBaseSceneLayer.cpp | |
330 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/ZoomSceneTracker.cpp | |
331 | |
332 ${ORTHANC_STONE_ROOT}/Framework/Fonts/FontRenderer.cpp | |
333 ${ORTHANC_STONE_ROOT}/Framework/Fonts/Glyph.cpp | |
334 ${ORTHANC_STONE_ROOT}/Framework/Fonts/GlyphAlphabet.cpp | |
335 ${ORTHANC_STONE_ROOT}/Framework/Fonts/GlyphBitmapAlphabet.cpp | |
336 ${ORTHANC_STONE_ROOT}/Framework/Fonts/GlyphTextureAlphabet.cpp | |
337 ${ORTHANC_STONE_ROOT}/Framework/Fonts/TextBoundingBox.cpp | |
246 ${ORTHANC_STONE_ROOT}/Framework/Layers/CircleMeasureTracker.cpp | 338 ${ORTHANC_STONE_ROOT}/Framework/Layers/CircleMeasureTracker.cpp |
247 ${ORTHANC_STONE_ROOT}/Framework/Layers/ColorFrameRenderer.cpp | 339 ${ORTHANC_STONE_ROOT}/Framework/Layers/ColorFrameRenderer.cpp |
248 ${ORTHANC_STONE_ROOT}/Framework/Layers/DicomSeriesVolumeSlicer.cpp | 340 ${ORTHANC_STONE_ROOT}/Framework/Layers/DicomSeriesVolumeSlicer.cpp |
249 ${ORTHANC_STONE_ROOT}/Framework/Layers/DicomStructureSetSlicer.cpp | 341 ${ORTHANC_STONE_ROOT}/Framework/Layers/DicomStructureSetSlicer.cpp |
250 ${ORTHANC_STONE_ROOT}/Framework/Layers/FrameRenderer.cpp | 342 ${ORTHANC_STONE_ROOT}/Framework/Layers/FrameRenderer.cpp |
271 ${ORTHANC_STONE_ROOT}/Framework/Radiography/RadiographyWidget.cpp | 363 ${ORTHANC_STONE_ROOT}/Framework/Radiography/RadiographyWidget.cpp |
272 ${ORTHANC_STONE_ROOT}/Framework/Radiography/RadiographyWindowingTracker.cpp | 364 ${ORTHANC_STONE_ROOT}/Framework/Radiography/RadiographyWindowingTracker.cpp |
273 ${ORTHANC_STONE_ROOT}/Framework/SmartLoader.cpp | 365 ${ORTHANC_STONE_ROOT}/Framework/SmartLoader.cpp |
274 ${ORTHANC_STONE_ROOT}/Framework/StoneEnumerations.cpp | 366 ${ORTHANC_STONE_ROOT}/Framework/StoneEnumerations.cpp |
275 ${ORTHANC_STONE_ROOT}/Framework/StoneException.h | 367 ${ORTHANC_STONE_ROOT}/Framework/StoneException.h |
368 ${ORTHANC_STONE_ROOT}/Framework/StoneInitialization.cpp | |
276 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/AffineTransform2D.cpp | 369 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/AffineTransform2D.cpp |
277 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/BaseWebService.cpp | 370 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/BaseWebService.cpp |
278 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/CoordinateSystem3D.cpp | 371 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/CoordinateSystem3D.cpp |
279 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/DicomFrameConverter.cpp | 372 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/DicomFrameConverter.cpp |
280 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/DicomStructureSet.cpp | 373 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/DicomStructureSet.cpp |
281 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/DownloadStack.cpp | 374 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/DownloadStack.cpp |
375 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/DynamicBitmap.cpp | |
282 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/Extent2D.cpp | 376 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/Extent2D.cpp |
283 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/FiniteProjectiveCamera.cpp | 377 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/FiniteProjectiveCamera.cpp |
284 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/GeometryToolbox.cpp | 378 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/GeometryToolbox.cpp |
285 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/IDelayedCallExecutor.h | 379 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/IDelayedCallExecutor.h |
286 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/IWebService.cpp | 380 ${ORTHANC_STONE_ROOT}/Framework/Toolbox/IWebService.cpp |
318 ${ORTHANC_STONE_ROOT}/Framework/Widgets/TestCairoWidget.cpp | 412 ${ORTHANC_STONE_ROOT}/Framework/Widgets/TestCairoWidget.cpp |
319 ${ORTHANC_STONE_ROOT}/Framework/Widgets/TestWorldSceneWidget.cpp | 413 ${ORTHANC_STONE_ROOT}/Framework/Widgets/TestWorldSceneWidget.cpp |
320 ${ORTHANC_STONE_ROOT}/Framework/Widgets/WidgetBase.cpp | 414 ${ORTHANC_STONE_ROOT}/Framework/Widgets/WidgetBase.cpp |
321 ${ORTHANC_STONE_ROOT}/Framework/Widgets/WorldSceneWidget.cpp | 415 ${ORTHANC_STONE_ROOT}/Framework/Widgets/WorldSceneWidget.cpp |
322 ${ORTHANC_STONE_ROOT}/Framework/Widgets/ZoomMouseTracker.cpp | 416 ${ORTHANC_STONE_ROOT}/Framework/Widgets/ZoomMouseTracker.cpp |
417 | |
323 ${ORTHANC_STONE_ROOT}/Framework/dev.h | 418 ${ORTHANC_STONE_ROOT}/Framework/dev.h |
324 | 419 |
325 ${ORTHANC_STONE_ROOT}/Framework/Messages/ICallable.h | 420 ${ORTHANC_STONE_ROOT}/Framework/Messages/ICallable.h |
326 ${ORTHANC_STONE_ROOT}/Framework/Messages/IMessage.h | 421 ${ORTHANC_STONE_ROOT}/Framework/Messages/IMessage.h |
327 ${ORTHANC_STONE_ROOT}/Framework/Messages/IObservable.cpp | 422 ${ORTHANC_STONE_ROOT}/Framework/Messages/IObservable.cpp |
341 ${ORTHANC_DICOM_SOURCES} | 436 ${ORTHANC_DICOM_SOURCES} |
342 ${AUTOGENERATED_SOURCES} | 437 ${AUTOGENERATED_SOURCES} |
343 | 438 |
344 # Mandatory components | 439 # Mandatory components |
345 ${CAIRO_SOURCES} | 440 ${CAIRO_SOURCES} |
441 ${FREETYPE_SOURCES} | |
346 ${PIXMAN_SOURCES} | 442 ${PIXMAN_SOURCES} |
347 | 443 |
348 # Optional components | 444 # Optional components |
349 ${SDL_SOURCES} | 445 ${SDL_SOURCES} |
350 ${QT_SOURCES} | 446 ${QT_SOURCES} |
351 ${BOOST_EXTENDED_SOURCES} | 447 ${BOOST_EXTENDED_SOURCES} |
448 ${GLEW_SOURCES} | |
352 ) | 449 ) |
450 | |
451 | |
452 if (ENABLE_OPENGL) | |
453 list(APPEND ORTHANC_STONE_SOURCES | |
454 ${ORTHANC_STONE_ROOT}/Framework/Fonts/OpenGLTextCoordinates.cpp | |
455 ${ORTHANC_STONE_ROOT}/Framework/OpenGL/OpenGLProgram.cpp | |
456 ${ORTHANC_STONE_ROOT}/Framework/OpenGL/OpenGLShader.cpp | |
457 ${ORTHANC_STONE_ROOT}/Framework/OpenGL/OpenGLTexture.cpp | |
458 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/OpenGLCompositor.cpp | |
459 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/OpenGLAdvancedPolylineRenderer.cpp | |
460 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/OpenGLBasicPolylineRenderer.cpp | |
461 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/OpenGLColorTextureProgram.cpp | |
462 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/OpenGLColorTextureRenderer.cpp | |
463 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/OpenGLFloatTextureProgram.cpp | |
464 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/OpenGLFloatTextureRenderer.cpp | |
465 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/OpenGLInfoPanelRenderer.cpp | |
466 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/OpenGLLinesProgram.cpp | |
467 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/OpenGLTextProgram.cpp | |
468 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/OpenGLTextRenderer.cpp | |
469 ${ORTHANC_STONE_ROOT}/Framework/Scene2D/Internals/OpenGLTextureProgram.cpp | |
470 ) | |
471 | |
472 if (ENABLE_WASM) | |
473 list(APPEND ORTHANC_STONE_SOURCES | |
474 ${ORTHANC_STONE_ROOT}/Framework/OpenGL/WebAssemblyOpenGLContext.cpp | |
475 ) | |
476 endif() | |
477 endif() | |
478 | |
353 | 479 |
354 include_directories(${ORTHANC_STONE_ROOT}) | 480 include_directories(${ORTHANC_STONE_ROOT}) |
355 | 481 |
356 | 482 |
357 ## | 483 ## |