annotate StoneWebViewer/Plugin/CMakeLists.txt @ 1526:61023b0d39c8

Reverted the Stone Web Viewer plugin to rev. 307a805d0587 (mistakenly changed to serve the RT Viewer and make it available in the Orthanc Explorer while it should have been done in a separate plugin)
author Benjamin Golinvaux <bgo@osimis.io>
date Sun, 02 Aug 2020 13:53:48 +0200
parents 22d1bd085c19
children 3eca4f9c2827
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1495
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 cmake_minimum_required(VERSION 2.8.3)
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 project(StoneWebViewerPlugin)
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4
1496
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
5 set(ORTHANC_PLUGIN_VERSION "mainline")
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
6
1508
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
7 if (ORTHANC_PLUGIN_VERSION STREQUAL "mainline")
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
8 set(ORTHANC_FRAMEWORK_DEFAULT_VERSION "mainline")
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
9 set(ORTHANC_FRAMEWORK_DEFAULT_SOURCE "hg")
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
10 else()
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
11 set(ORTHANC_FRAMEWORK_DEFAULT_VERSION "1.7.2")
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
12 set(ORTHANC_FRAMEWORK_DEFAULT_SOURCE "web")
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
13 endif()
1496
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
14
1508
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
15
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
16
1526
61023b0d39c8 Reverted the Stone Web Viewer plugin to rev. 307a805d0587
Benjamin Golinvaux <bgo@osimis.io>
parents: 1519
diff changeset
17 set(STONE_BINARIES CACHE PATH "Path to the binaries of the \"../WebAssembly\" folder")
1508
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
18
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
19 # Parameters of the build
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
20 set(STATIC_BUILD OFF CACHE BOOL "Static build of the third-party libraries (necessary for Windows)")
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
21 set(ALLOW_DOWNLOADS OFF CACHE BOOL "Allow CMake to download packages")
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
22 set(ORTHANC_FRAMEWORK_SOURCE "${ORTHANC_FRAMEWORK_DEFAULT_SOURCE}" CACHE STRING "Source of the Orthanc framework (can be \"system\", \"hg\", \"archive\", \"web\" or \"path\")")
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
23 set(ORTHANC_FRAMEWORK_VERSION "${ORTHANC_FRAMEWORK_DEFAULT_VERSION}" CACHE STRING "Version of the Orthanc framework")
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
24 set(ORTHANC_FRAMEWORK_ARCHIVE "" CACHE STRING "Path to the Orthanc archive, if ORTHANC_FRAMEWORK_SOURCE is \"archive\"")
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
25 set(ORTHANC_FRAMEWORK_ROOT "" CACHE STRING "Path to the Orthanc source directory, if ORTHANC_FRAMEWORK_SOURCE is \"path\"")
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
26
1495
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27
1508
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
28 # Advanced parameters to fine-tune linking against system libraries
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
29 set(USE_SYSTEM_ORTHANC_SDK ON CACHE BOOL "Use the system version of the Orthanc plugin SDK")
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
30 set(ORTHANC_FRAMEWORK_STATIC OFF CACHE BOOL "If linking against the Orthanc framework system library, indicates whether this library was statically linked")
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
31 mark_as_advanced(ORTHANC_FRAMEWORK_STATIC)
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
32
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
33
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
34 # Download and setup the Orthanc framework
1512
244ad1e4e76a reorganization of folders
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
35 include(${CMAKE_SOURCE_DIR}/../../OrthancStone/Resources/Orthanc/CMake/DownloadOrthancFramework.cmake)
1508
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
36
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
37 if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "system")
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
38 link_libraries(${ORTHANC_FRAMEWORK_LIBRARIES})
1495
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39
1508
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
40 else()
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
41 include(${ORTHANC_FRAMEWORK_ROOT}/Resources/CMake/OrthancFrameworkParameters.cmake)
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
42 set(ENABLE_MODULE_IMAGES OFF)
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
43 set(ENABLE_MODULE_JOBS OFF)
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
44 set(ENABLE_MODULE_DICOM OFF)
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
45 include(${ORTHANC_FRAMEWORK_ROOT}/Resources/CMake/OrthancFrameworkConfiguration.cmake)
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
46
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
47 include_directories(
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
48 ${ORTHANC_FRAMEWORK_ROOT}/Sources
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
49 )
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
50 endif()
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
51
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
52 include(${CMAKE_SOURCE_DIR}/../Resources/Orthanc/Plugins/OrthancPluginsExports.cmake)
1495
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53
1496
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
54
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
55 if (STATIC_BUILD OR NOT USE_SYSTEM_ORTHANC_SDK)
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
56 include_directories(${CMAKE_SOURCE_DIR}/../Resources/OrthancSdk-1.0.0)
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
57 else ()
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
58 CHECK_INCLUDE_FILE_CXX(orthanc/OrthancCPlugin.h HAVE_ORTHANC_H)
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
59 if (NOT HAVE_ORTHANC_H)
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
60 message(FATAL_ERROR "Please install the headers of the Orthanc plugins SDK")
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
61 endif()
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
62 endif()
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
63
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
64
1495
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 add_definitions(
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 -DHAS_ORTHANC_EXCEPTION=1
1496
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
67 -DPLUGIN_VERSION="${ORTHANC_PLUGIN_VERSION}"
1495
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68 -DPLUGIN_NAME="stone-webviewer"
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69 )
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70
1496
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
71
1495
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72 EmbedResources(
1526
61023b0d39c8 Reverted the Stone Web Viewer plugin to rev. 307a805d0587
Benjamin Golinvaux <bgo@osimis.io>
parents: 1519
diff changeset
73 # Folders
61023b0d39c8 Reverted the Stone Web Viewer plugin to rev. 307a805d0587
Benjamin Golinvaux <bgo@osimis.io>
parents: 1519
diff changeset
74 IMAGES ${STONE_BINARIES}/img/
1496
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
75 WEB_APPLICATION ${CMAKE_SOURCE_DIR}/../WebApplication
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
76
1526
61023b0d39c8 Reverted the Stone Web Viewer plugin to rev. 307a805d0587
Benjamin Golinvaux <bgo@osimis.io>
parents: 1519
diff changeset
77 # Individual files
1495
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
78 ORTHANC_EXPLORER ${CMAKE_SOURCE_DIR}/OrthancExplorer.js
1526
61023b0d39c8 Reverted the Stone Web Viewer plugin to rev. 307a805d0587
Benjamin Golinvaux <bgo@osimis.io>
parents: 1519
diff changeset
79 STONE_WEB_VIEWER_JS ${STONE_BINARIES}/StoneWebViewer.js
61023b0d39c8 Reverted the Stone Web Viewer plugin to rev. 307a805d0587
Benjamin Golinvaux <bgo@osimis.io>
parents: 1519
diff changeset
80 STONE_WEB_VIEWER_WASM ${STONE_BINARIES}/StoneWebViewer.wasm
61023b0d39c8 Reverted the Stone Web Viewer plugin to rev. 307a805d0587
Benjamin Golinvaux <bgo@osimis.io>
parents: 1519
diff changeset
81 STONE_WRAPPER ${STONE_BINARIES}/stone.js
1495
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
82 )
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
83
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
84 add_library(StoneWebViewer SHARED
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
85 Plugin.cpp
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
86 ${AUTOGENERATED_SOURCES}
1508
dd1d1cc0575d use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1505
diff changeset
87 ${CMAKE_SOURCE_DIR}/../Resources/Orthanc/Plugins/OrthancPluginCppWrapper.cpp
1495
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
88 ${ORTHANC_CORE_SOURCES}
fb74ed5d8c22 initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
89 )
1496
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
90
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
91 set_target_properties(StoneWebViewer PROPERTIES
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
92 VERSION ${ORTHANC_PLUGIN_VERSION}
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
93 SOVERSION ${ORTHANC_PLUGIN_VERSION})
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
94
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
95 install(
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
96 TARGETS StoneWebViewer
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
97 RUNTIME DESTINATION lib # Destination for Windows
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
98 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux
d450653b46d3 build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1495
diff changeset
99 )