Mercurial > hg > orthanc-stone
annotate Applications/StoneWebViewer/Plugin/CMakeLists.txt @ 1578:1f812f4c95be
comments
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 24 Sep 2020 17:20:36 +0200 |
parents | b894072b9e2f |
children | 8c5f9864545f |
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 |
1548
65eccce95882
unifying the default install prefix for WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1545
diff
changeset
|
17 set(ORTHANC_STONE_BINARIES "${CMAKE_SOURCE_DIR}/../../../wasm-binaries/StoneWebViewer/" 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 |
1545 | 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 |
1530 | 37 include_directories(${ORTHANC_FRAMEWORK_ROOT}) |
38 | |
1508
dd1d1cc0575d
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1505
diff
changeset
|
39 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
|
40 link_libraries(${ORTHANC_FRAMEWORK_LIBRARIES}) |
1495
fb74ed5d8c22
initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
41 |
1508
dd1d1cc0575d
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1505
diff
changeset
|
42 else() |
1530 | 43 include(${ORTHANC_FRAMEWORK_ROOT}/../Resources/CMake/OrthancFrameworkParameters.cmake) |
1508
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_IMAGES OFF) |
dd1d1cc0575d
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1505
diff
changeset
|
45 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
|
46 set(ENABLE_MODULE_DICOM OFF) |
1530 | 47 include(${ORTHANC_FRAMEWORK_ROOT}/../Resources/CMake/OrthancFrameworkConfiguration.cmake) |
1508
dd1d1cc0575d
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1505
diff
changeset
|
48 endif() |
dd1d1cc0575d
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1505
diff
changeset
|
49 |
1545 | 50 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
|
51 |
1496
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
52 |
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
53 if (STATIC_BUILD OR NOT USE_SYSTEM_ORTHANC_SDK) |
1544 | 54 include_directories(${CMAKE_SOURCE_DIR}/../../Resources/Orthanc/Sdk-1.0.0) |
1496
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
55 else () |
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
56 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
|
57 if (NOT HAVE_ORTHANC_H) |
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
58 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
|
59 endif() |
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
60 endif() |
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
61 |
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
62 |
1495
fb74ed5d8c22
initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
63 add_definitions( |
fb74ed5d8c22
initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
64 -DHAS_ORTHANC_EXCEPTION=1 |
1496
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
65 -DPLUGIN_VERSION="${ORTHANC_PLUGIN_VERSION}" |
1495
fb74ed5d8c22
initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
66 -DPLUGIN_NAME="stone-webviewer" |
fb74ed5d8c22
initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
67 ) |
fb74ed5d8c22
initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
68 |
1496
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
69 |
1495
fb74ed5d8c22
initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
70 EmbedResources( |
1526
61023b0d39c8
Reverted the Stone Web Viewer plugin to rev. 307a805d0587
Benjamin Golinvaux <bgo@osimis.io>
parents:
1519
diff
changeset
|
71 # Folders |
1548
65eccce95882
unifying the default install prefix for WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1545
diff
changeset
|
72 IMAGES ${ORTHANC_STONE_BINARIES}/img/ |
1496
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
73 WEB_APPLICATION ${CMAKE_SOURCE_DIR}/../WebApplication |
1555
b894072b9e2f
static JavaScript resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1548
diff
changeset
|
74 LIBRARIES_CSS ${ORTHANC_STONE_BINARIES}/css/ |
b894072b9e2f
static JavaScript resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1548
diff
changeset
|
75 LIBRARIES_JS ${ORTHANC_STONE_BINARIES}/js/ |
b894072b9e2f
static JavaScript resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1548
diff
changeset
|
76 LIBRARIES_WEBFONTS ${ORTHANC_STONE_BINARIES}/webfonts/ |
1496
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
77 |
1526
61023b0d39c8
Reverted the Stone Web Viewer plugin to rev. 307a805d0587
Benjamin Golinvaux <bgo@osimis.io>
parents:
1519
diff
changeset
|
78 # Individual files |
1495
fb74ed5d8c22
initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
79 ORTHANC_EXPLORER ${CMAKE_SOURCE_DIR}/OrthancExplorer.js |
1548
65eccce95882
unifying the default install prefix for WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1545
diff
changeset
|
80 STONE_WEB_VIEWER_JS ${ORTHANC_STONE_BINARIES}/StoneWebViewer.js |
65eccce95882
unifying the default install prefix for WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1545
diff
changeset
|
81 STONE_WEB_VIEWER_WASM ${ORTHANC_STONE_BINARIES}/StoneWebViewer.wasm |
65eccce95882
unifying the default install prefix for WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1545
diff
changeset
|
82 STONE_WRAPPER ${ORTHANC_STONE_BINARIES}/stone.js |
1495
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 |
fb74ed5d8c22
initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
85 add_library(StoneWebViewer SHARED |
fb74ed5d8c22
initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
86 Plugin.cpp |
fb74ed5d8c22
initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
87 ${AUTOGENERATED_SOURCES} |
1545 | 88 ${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
|
89 ${ORTHANC_CORE_SOURCES} |
fb74ed5d8c22
initial commit of the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
90 ) |
1496
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
91 |
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
92 set_target_properties(StoneWebViewer PROPERTIES |
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
93 VERSION ${ORTHANC_PLUGIN_VERSION} |
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
94 SOVERSION ${ORTHANC_PLUGIN_VERSION}) |
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
95 |
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
96 install( |
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
97 TARGETS StoneWebViewer |
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
98 RUNTIME DESTINATION lib # Destination for Windows |
d450653b46d3
build stone web viewer using docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1495
diff
changeset
|
99 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
|
100 ) |