annotate Resources/CMake/OrthancStone.cmake @ 114:3541fc81331a wasm

starting WebAssembly
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 20 Sep 2017 16:11:52 +0200
parents 2eca030792aa
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
47
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
1 # Stone of Orthanc
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
2 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
3 # Department, University Hospital of Liege, Belgium
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
4 # Copyright (C) 2017 Osimis, Belgium
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
5 #
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
6 # This program is free software: you can redistribute it and/or
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
7 # modify it under the terms of the GNU Affero General Public License
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
8 # as published by the Free Software Foundation, either version 3 of
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
9 # the License, or (at your option) any later version.
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
10 #
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
11 # This program is distributed in the hope that it will be useful, but
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
14 # Affero General Public License for more details.
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
15 #
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
16 # You should have received a copy of the GNU Affero General Public License
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
18
28956ed68280 agpl license
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
19
20
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
20
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21 #####################################################################
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
22 ## Import the parameters of the Orthanc Framework
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
23 #####################################################################
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
24
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
25 # TODO => Import
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
26 SET(ORTHANC_ROOT /home/jodogne/Subversion/orthanc)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
27
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
28 include(${ORTHANC_ROOT}/Resources/CMake/OrthancFrameworkParameters.cmake)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
29
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
30 # Optional components of the Orthanc Framework
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
31 SET(ENABLE_CURL ON CACHE BOOL "Include support for libcurl")
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
32 SET(ENABLE_SSL OFF CACHE BOOL "Include support for SSL")
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
33 SET(ENABLE_LOGGING ON CACHE BOOL "Enable logging facilities from Orthanc")
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
34
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
35
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
36
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
37 #####################################################################
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
38 ## Parameters of the Stone of Orthanc
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 #####################################################################
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 # Generic parameters
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
42 SET(STONE_SANDBOXED OFF CACHE BOOL "Whether Stone runs inside a sandboxed environment (such as Google NaCl or WebAssembly)")
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
44 # Optional components of Stone
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 SET(ENABLE_SDL ON CACHE BOOL "Include support for SDL")
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47 # Advanced parameters to fine-tune linking against system libraries
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 SET(USE_SYSTEM_CAIRO ON CACHE BOOL "Use the system version of Cairo")
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 SET(USE_SYSTEM_PIXMAN ON CACHE BOOL "Use the system version of Pixman")
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 SET(USE_SYSTEM_SDL ON CACHE BOOL "Use the system version of SDL2")
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 #####################################################################
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
54 ## Configure the Orthanc Framework
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
55 #####################################################################
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
56
114
3541fc81331a starting WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 113
diff changeset
57 if (STONE_SANDBOXED)
3541fc81331a starting WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 113
diff changeset
58 UNSET(ENABLE_CURL CACHE)
3541fc81331a starting WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 113
diff changeset
59 UNSET(ENABLE_LOGGING CACHE)
3541fc81331a starting WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 113
diff changeset
60 UNSET(ENABLE_SDL CACHE)
3541fc81331a starting WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 113
diff changeset
61 else()
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
62 SET(ORTHANC_BOOST_COMPONENTS program_options)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
63 SET(ENABLE_CRYPTO_OPTIONS ON)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
64 SET(ENABLE_WEB_CLIENT ON)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
65 endif()
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
66
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
67 SET(ENABLE_GOOGLE_TEST ON)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
68 SET(ENABLE_JPEG ON)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
69 SET(ENABLE_PNG ON)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
70
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
71 include(${ORTHANC_ROOT}/Resources/CMake/OrthancFrameworkConfiguration.cmake)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
72
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
73 include_directories(${ORTHANC_ROOT})
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
74
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
75
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
76 #####################################################################
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
77 ## Configure mandatory third-party components
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
78 #####################################################################
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
79
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
80 SET(ORTHANC_STONE_DIR ${CMAKE_CURRENT_LIST_DIR}/../..)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
81
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
82 include(FindPkgConfig)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
83 include(${CMAKE_CURRENT_LIST_DIR}/BoostExtendedConfiguration.cmake)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
84 include(${CMAKE_CURRENT_LIST_DIR}/CairoConfiguration.cmake)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
85 include(${CMAKE_CURRENT_LIST_DIR}/PixmanConfiguration.cmake)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
86
26
99b833843ba9 fix MSVC 64bit builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 22
diff changeset
87 if (MSVC)
99b833843ba9 fix MSVC 64bit builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 22
diff changeset
88 # Remove some warnings on Visual Studio 2015
99b833843ba9 fix MSVC 64bit builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 22
diff changeset
89 add_definitions(-D_SCL_SECURE_NO_WARNINGS=1)
99b833843ba9 fix MSVC 64bit builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 22
diff changeset
90 endif()
99b833843ba9 fix MSVC 64bit builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 22
diff changeset
91
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
92
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
93 #####################################################################
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
94 ## Configure optional third-party components
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
95 #####################################################################
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
96
22
b01d46e5a2b3 support for sandboxed environments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 21
diff changeset
97 if (STONE_SANDBOXED)
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
98 if (ENABLE_CURL)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
99 message(FATAL_ERROR "Cannot enable curl in sandboxed environments")
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
100 endif()
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
101
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
102 if (ENABLE_LOGGING)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
103 message(FATAL_ERROR "Cannot enable logging in sandboxed environments")
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
104 endif()
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
105
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
106 if (ENABLE_SDL)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
107 message(FATAL_ERROR "Cannot enable SDL in sandboxed environments")
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
108 endif()
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
109
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
110 if (ENABLE_SSL)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
111 message(FATAL_ERROR "Cannot enable SSL in sandboxed environments")
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
112 endif()
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
113
22
b01d46e5a2b3 support for sandboxed environments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 21
diff changeset
114 add_definitions(
b01d46e5a2b3 support for sandboxed environments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 21
diff changeset
115 -DORTHANC_SANDBOXED=1
b01d46e5a2b3 support for sandboxed environments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 21
diff changeset
116 )
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
117
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
118 else()
22
b01d46e5a2b3 support for sandboxed environments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 21
diff changeset
119 list(APPEND ORTHANC_STONE_SOURCES
38
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 36
diff changeset
120 ${ORTHANC_ROOT}/Plugins/Samples/Common/OrthancHttpConnection.cpp
22
b01d46e5a2b3 support for sandboxed environments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 21
diff changeset
121 )
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
122
22
b01d46e5a2b3 support for sandboxed environments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 21
diff changeset
123 add_definitions(
b01d46e5a2b3 support for sandboxed environments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 21
diff changeset
124 -DORTHANC_SANDBOXED=0
b01d46e5a2b3 support for sandboxed environments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 21
diff changeset
125 )
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
126 endif()
22
b01d46e5a2b3 support for sandboxed environments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 21
diff changeset
127
b01d46e5a2b3 support for sandboxed environments
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 21
diff changeset
128
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
129 if (ENABLE_SDL)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
130 include(${CMAKE_CURRENT_LIST_DIR}/SdlConfiguration.cmake)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
131 add_definitions(-DORTHANC_ENABLE_SDL=1)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
132 else()
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
133 add_definitions(-DORTHANC_ENABLE_SDL=0)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
134 endif()
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
135
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
136
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
137 add_definitions(
31
9aace933cb64 sharing code with the Orthanc core
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
138 -DHAS_ORTHANC_EXCEPTION=1
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
139 -DORTHANC_ENABLE_LOGGING_PLUGIN=0
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
140 )
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
141
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
142
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
143
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
144
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
145 #####################################################################
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
146 ## Embed the colormaps into the binaries
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
147 #####################################################################
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
148
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
149 EmbedResources(
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
150 COLORMAP_HOT ${ORTHANC_STONE_DIR}/Resources/Colormaps/hot.lut
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
151 COLORMAP_JET ${ORTHANC_STONE_DIR}/Resources/Colormaps/jet.lut
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
152 COLORMAP_RED ${ORTHANC_STONE_DIR}/Resources/Colormaps/red.lut
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
153 COLORMAP_GREEN ${ORTHANC_STONE_DIR}/Resources/Colormaps/green.lut
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
154 COLORMAP_BLUE ${ORTHANC_STONE_DIR}/Resources/Colormaps/blue.lut
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
155 )
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
156
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
157
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
158
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
159 #####################################################################
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
160 ## System-specific patches
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
161 #####################################################################
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
162
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
163 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows" AND
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
164 NOT MSVC AND
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
165 ENABLE_SDL)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
166 # This is necessary when compiling EXE for Windows using MinGW
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
167 link_libraries(mingw32)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
168 endif()
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
169
114
3541fc81331a starting WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 113
diff changeset
170 if (STONE_SANDBOXED)
3541fc81331a starting WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 113
diff changeset
171 # Remove functions not suitable for a sandboxed environment
3541fc81331a starting WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 113
diff changeset
172 list(REMOVE_ITEM ORTHANC_CORE_SOURCES
3541fc81331a starting WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 113
diff changeset
173 ${ZLIB_SOURCES_DIR}/gzlib.c
3541fc81331a starting WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 113
diff changeset
174 ${ZLIB_SOURCES_DIR}/gzwrite.c
3541fc81331a starting WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 113
diff changeset
175 ${ZLIB_SOURCES_DIR}/gzread.c
3541fc81331a starting WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 113
diff changeset
176 )
3541fc81331a starting WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 113
diff changeset
177 endif()
3541fc81331a starting WebAssembly
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 113
diff changeset
178
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
179
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
180
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
181 #####################################################################
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
182 ## All the source files required to build Stone of Orthanc
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
183 #####################################################################
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
184
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
185 if (NOT STONE_SANDBOXED)
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
186 set(PLATFORM_SOURCES
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
187 ${ORTHANC_STONE_DIR}/Platforms/Generic/WebServiceGetCommand.cpp
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
188 ${ORTHANC_STONE_DIR}/Platforms/Generic/WebServicePostCommand.cpp
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
189 ${ORTHANC_STONE_DIR}/Platforms/Generic/Oracle.cpp
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
190 )
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
191
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
192 set(APPLICATIONS_SOURCES
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
193 ${ORTHANC_STONE_DIR}/Applications/BasicApplicationContext.cpp
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
194 ${ORTHANC_STONE_DIR}/Applications/IBasicApplication.cpp
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
195 ${ORTHANC_STONE_DIR}/Applications/Sdl/SdlEngine.cpp
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
196 ${ORTHANC_STONE_DIR}/Applications/Sdl/SdlSurface.cpp
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
197 ${ORTHANC_STONE_DIR}/Applications/Sdl/SdlWindow.cpp
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
198 )
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
199 endif()
80
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 73
diff changeset
200
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
201 list(APPEND ORTHANC_STONE_SOURCES
99
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 97
diff changeset
202 #${ORTHANC_STONE_DIR}/Framework/Layers/DicomStructureSetRendererFactory.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 97
diff changeset
203 #${ORTHANC_STONE_DIR}/Framework/Layers/SeriesFrameRendererFactory.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 97
diff changeset
204 #${ORTHANC_STONE_DIR}/Framework/Layers/SiblingSliceLocationFactory.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 97
diff changeset
205 #${ORTHANC_STONE_DIR}/Framework/Layers/SingleFrameRendererFactory.cpp
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
206 ${ORTHANC_STONE_DIR}/Framework/Layers/CircleMeasureTracker.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
207 ${ORTHANC_STONE_DIR}/Framework/Layers/ColorFrameRenderer.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
208 ${ORTHANC_STONE_DIR}/Framework/Layers/FrameRenderer.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
209 ${ORTHANC_STONE_DIR}/Framework/Layers/GrayscaleFrameRenderer.cpp
65
885932a893de OrthancFrameLayerSource
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 57
diff changeset
210 ${ORTHANC_STONE_DIR}/Framework/Layers/LayerSourceBase.cpp
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
211 ${ORTHANC_STONE_DIR}/Framework/Layers/LineLayerRenderer.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
212 ${ORTHANC_STONE_DIR}/Framework/Layers/LineMeasureTracker.cpp
97
d18dcc963930 separation of the renderers vs. viewport slice
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 88
diff changeset
213 ${ORTHANC_STONE_DIR}/Framework/Layers/OrthancFrameLayerSource.cpp
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
214 ${ORTHANC_STONE_DIR}/Framework/Layers/RenderStyle.cpp
99
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 97
diff changeset
215 ${ORTHANC_STONE_DIR}/Framework/Layers/SliceOutlineRenderer.cpp
111
7665ccbf33db rename Extent as Extent2D
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 110
diff changeset
216 ${ORTHANC_STONE_DIR}/Framework/Toolbox/CoordinateSystem3D.cpp
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
217 ${ORTHANC_STONE_DIR}/Framework/Toolbox/DicomFrameConverter.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
218 ${ORTHANC_STONE_DIR}/Framework/Toolbox/DicomStructureSet.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
219 ${ORTHANC_STONE_DIR}/Framework/Toolbox/DownloadStack.cpp
111
7665ccbf33db rename Extent as Extent2D
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 110
diff changeset
220 ${ORTHANC_STONE_DIR}/Framework/Toolbox/Extent2D.cpp
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
221 ${ORTHANC_STONE_DIR}/Framework/Toolbox/GeometryToolbox.cpp
35
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 32
diff changeset
222 ${ORTHANC_STONE_DIR}/Framework/Toolbox/MessagingToolbox.cpp
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
223 ${ORTHANC_STONE_DIR}/Framework/Toolbox/OrthancSeriesLoader.cpp
73
ffa6dded91bd reorganization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 70
diff changeset
224 ${ORTHANC_STONE_DIR}/Framework/Toolbox/OrthancSlicesLoader.cpp
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
225 ${ORTHANC_STONE_DIR}/Framework/Toolbox/ParallelSlices.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
226 ${ORTHANC_STONE_DIR}/Framework/Toolbox/ParallelSlicesCursor.cpp
73
ffa6dded91bd reorganization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 70
diff changeset
227 ${ORTHANC_STONE_DIR}/Framework/Toolbox/Slice.cpp
ffa6dded91bd reorganization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 70
diff changeset
228 ${ORTHANC_STONE_DIR}/Framework/Toolbox/SlicesSorter.cpp
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
229 ${ORTHANC_STONE_DIR}/Framework/Toolbox/ViewportGeometry.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
230 ${ORTHANC_STONE_DIR}/Framework/Viewport/CairoContext.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
231 ${ORTHANC_STONE_DIR}/Framework/Viewport/CairoFont.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
232 ${ORTHANC_STONE_DIR}/Framework/Viewport/CairoSurface.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
233 ${ORTHANC_STONE_DIR}/Framework/Viewport/WidgetViewport.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
234 ${ORTHANC_STONE_DIR}/Framework/Volumes/ImageBuffer3D.cpp
88
90bf4116a23c ISlicedVolume
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 87
diff changeset
235 ${ORTHANC_STONE_DIR}/Framework/Volumes/SlicedVolumeBase.cpp
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
236 ${ORTHANC_STONE_DIR}/Framework/Widgets/CairoWidget.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
237 ${ORTHANC_STONE_DIR}/Framework/Widgets/EmptyWidget.cpp
97
d18dcc963930 separation of the renderers vs. viewport slice
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 88
diff changeset
238 ${ORTHANC_STONE_DIR}/Framework/Widgets/LayerWidget.cpp
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
239 ${ORTHANC_STONE_DIR}/Framework/Widgets/LayoutWidget.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
240 ${ORTHANC_STONE_DIR}/Framework/Widgets/TestCairoWidget.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
241 ${ORTHANC_STONE_DIR}/Framework/Widgets/TestWorldSceneWidget.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
242 ${ORTHANC_STONE_DIR}/Framework/Widgets/WidgetBase.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
243 ${ORTHANC_STONE_DIR}/Framework/Widgets/WorldSceneWidget.cpp
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
244
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
245 ${ORTHANC_ROOT}/Plugins/Samples/Common/DicomPath.cpp
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
246 ${ORTHANC_ROOT}/Plugins/Samples/Common/IOrthancConnection.cpp
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
247 ${ORTHANC_ROOT}/Plugins/Samples/Common/DicomDatasetReader.cpp
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
248 ${ORTHANC_ROOT}/Plugins/Samples/Common/FullOrthancDataset.cpp
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
249
80
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 73
diff changeset
250 ${PLATFORM_SOURCES}
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 111
diff changeset
251 ${ORTHANC_CORE_SOURCES}
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
252 ${AUTOGENERATED_SOURCES}
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
253
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
254 # Mandatory components
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
255 ${CAIRO_SOURCES}
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
256 ${PIXMAN_SOURCES}
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
257
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
258 # Optional components
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
259 ${SDL_SOURCES}
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
260 )