annotate CMakeLists.txt @ 274:52b56343d268

using OrthancServer/Plugins/Samples/Common/OrthancPluginsExports.cmake
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 06 Jul 2020 08:57:14 +0200
parents 2c3555b8eabc
children 3a9749b1dfce
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 # Orthanc - A Lightweight, RESTful DICOM Store
122
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 121
diff changeset
2 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 # Department, University Hospital of Liege, Belgium
226
aee499712ac4 upgrade to year 2020
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 224
diff changeset
4 # Copyright (C) 2017-2020 Osimis S.A., Belgium
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5 #
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 # This program is free software: you can redistribute it and/or
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 # modify it under the terms of the GNU Affero General Public License
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8 # as published by the Free Software Foundation, either version 3 of
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 # the License, or (at your option) any later version.
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 #
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 # This program is distributed in the hope that it will be useful, but
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 # Affero General Public License for more details.
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 #
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 # You should have received a copy of the GNU Affero General Public License
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 cmake_minimum_required(VERSION 2.8)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21
13
09421764214b fixes for visual studio
jodogne
parents: 12
diff changeset
22 project(OrthancWebViewer)
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23
257
4fca00930829 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 256
diff changeset
24 set(ORTHANC_PLUGIN_VERSION "mainline")
8
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
25
206
d1ed9efdea6c rename ORTHANC_WEBVIEWER_VERSION as ORTHANC_PLUGIN_VERSION
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 204
diff changeset
26 if (ORTHANC_PLUGIN_VERSION STREQUAL "mainline")
224
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 215
diff changeset
27 set(ORTHANC_FRAMEWORK_DEFAULT_VERSION "mainline")
193
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 191
diff changeset
28 set(ORTHANC_FRAMEWORK_DEFAULT_SOURCE "hg")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 191
diff changeset
29 else()
252
1d761296eb8d updated doc
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 241
diff changeset
30 set(ORTHANC_FRAMEWORK_DEFAULT_VERSION "1.7.0")
193
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 191
diff changeset
31 set(ORTHANC_FRAMEWORK_DEFAULT_SOURCE "web")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 191
diff changeset
32 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 191
diff changeset
33
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 191
diff changeset
34
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35 # Parameters of the build
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 set(STATIC_BUILD OFF CACHE BOOL "Static build of the third-party libraries (necessary for Windows)")
193
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 191
diff changeset
37 set(STANDALONE_BUILD ON CACHE BOOL "Standalone build (all the resources are embedded, necessary for releases)")
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 set(ALLOW_DOWNLOADS OFF CACHE BOOL "Allow CMake to download packages")
266
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
39 set(ORTHANC_FRAMEWORK_SOURCE "${ORTHANC_FRAMEWORK_DEFAULT_SOURCE}" CACHE STRING "Source of the Orthanc framework (can be \"system\", \"hg\", \"archive\", \"web\" or \"path\")")
224
8f30b077cdb8 compilation using holy-build-box
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 215
diff changeset
40 set(ORTHANC_FRAMEWORK_VERSION "${ORTHANC_FRAMEWORK_DEFAULT_VERSION}" CACHE STRING "Version of the Orthanc framework")
193
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 191
diff changeset
41 set(ORTHANC_FRAMEWORK_ARCHIVE "" CACHE STRING "Path to the Orthanc archive, if ORTHANC_FRAMEWORK_SOURCE is \"archive\"")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 191
diff changeset
42 set(ORTHANC_FRAMEWORK_ROOT "" CACHE STRING "Path to the Orthanc source directory, if ORTHANC_FRAMEWORK_SOURCE is \"path\"")
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43
270
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 269
diff changeset
44
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 # Advanced parameters to fine-tune linking against system libraries
175
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
46 set(USE_SYSTEM_ORTHANC_SDK ON CACHE BOOL "Use the system version of the Orthanc plugin SDK")
270
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 269
diff changeset
47 set(ORTHANC_FRAMEWORK_STATIC OFF CACHE BOOL "If linking against the Orthanc framework system library, indicates whether this library was statically linked")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 269
diff changeset
48 mark_as_advanced(ORTHANC_FRAMEWORK_STATIC)
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49
176
55f8cf4ea237 support for Linux Standard Base
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 175
diff changeset
50
193
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 191
diff changeset
51 # Download and setup the Orthanc framework
266
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
52 if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "system")
269
938257eebc03 simplification
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 267
diff changeset
53 set(ENABLE_GOOGLE_TEST ON)
938257eebc03 simplification
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 267
diff changeset
54 include(${CMAKE_SOURCE_DIR}/Resources/Orthanc/CMake/DownloadOrthancFramework.cmake)
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55
266
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
56 include_directories(
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
57 ${CMAKE_SOURCE_DIR}/Resources/Orthanc/
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
58 )
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
59 link_libraries(OrthancFramework)
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
60 else()
269
938257eebc03 simplification
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 267
diff changeset
61 include(${CMAKE_SOURCE_DIR}/Resources/Orthanc/CMake/DownloadOrthancFramework.cmake)
272
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 270
diff changeset
62 include(${ORTHANC_FRAMEWORK_ROOT}/Resources/CMake/OrthancFrameworkParameters.cmake)
266
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
63
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
64 set(ENABLE_LOCALE OFF) # Disable support for locales (notably in Boost)
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
65 set(ENABLE_GOOGLE_TEST ON)
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
66 set(ENABLE_SQLITE ON)
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
67 set(ENABLE_MODULE_JOBS OFF CACHE INTERNAL "")
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
68 set(ENABLE_MODULE_DICOM OFF CACHE INTERNAL "")
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
69 set(HAS_EMBEDDED_RESOURCES ON)
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
70
272
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 270
diff changeset
71 include(${ORTHANC_FRAMEWORK_ROOT}/Resources/CMake/OrthancFrameworkConfiguration.cmake)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 270
diff changeset
72 include_directories(${ORTHANC_FRAMEWORK_ROOT}/Sources)
266
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
73 endif()
191
993dd140bd30 Resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 183
diff changeset
74
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
75
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76 include(${CMAKE_SOURCE_DIR}/Resources/CMake/JavaScriptLibraries.cmake)
274
52b56343d268 using OrthancServer/Plugins/Samples/Common/OrthancPluginsExports.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 272
diff changeset
77 include(${CMAKE_SOURCE_DIR}/Resources/Orthanc/Plugins/OrthancPluginsExports.cmake)
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
78
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
79
143
16f8471e3872 Performance warning if runtime debug assertions are turned on
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 139
diff changeset
80 # Check that the Orthanc SDK headers are available
68
45da32410346 USE_SYSTEM_ORTHANC_SDK option
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 60
diff changeset
81 if (STATIC_BUILD OR NOT USE_SYSTEM_ORTHANC_SDK)
191
993dd140bd30 Resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 183
diff changeset
82 include_directories(${CMAKE_SOURCE_DIR}/Resources/Orthanc/Sdk-0.9.5)
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
83 else ()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
84 CHECK_INCLUDE_FILE_CXX(orthanc/OrthancCPlugin.h HAVE_ORTHANC_H)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
85 if (NOT HAVE_ORTHANC_H)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
86 message(FATAL_ERROR "Please install the headers of the Orthanc plugins SDK")
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
87 endif()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
88 endif()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
89
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
90
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
91 if (STANDALONE_BUILD)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
92 add_definitions(
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
93 -DORTHANC_STANDALONE=1
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
94 )
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
95 set(EMBEDDED_RESOURCES
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
96 WEB_VIEWER ${CMAKE_SOURCE_DIR}/WebApplication
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
97 )
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
98 else()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
99 add_definitions(
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
100 -DORTHANC_STANDALONE=0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
101 -DWEB_VIEWER_PATH="${CMAKE_SOURCE_DIR}/WebApplication/"
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
102 )
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
103 endif()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
104
204
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
105 add_definitions(
229
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 226
diff changeset
106 -DHAS_ORTHANC_EXCEPTION=1
204
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
107 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
108
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
109 EmbedResources(
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
110 ORTHANC_EXPLORER ${CMAKE_SOURCE_DIR}/Resources/OrthancExplorer.js
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
111 JAVASCRIPT_LIBS ${JAVASCRIPT_LIBS_DIR}
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
112 ${EMBEDDED_RESOURCES}
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
113 )
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
114
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
115 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
116 ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD" OR
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
117 ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
118 link_libraries(rt)
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
119 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
120 SET(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lws2_32")
45
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
121
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
122 execute_process(
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
123 COMMAND
272
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 270
diff changeset
124 ${PYTHON_EXECUTABLE} ${ORTHANC_FRAMEWORK_ROOT}/Resources/WindowsResources.py
206
d1ed9efdea6c rename ORTHANC_WEBVIEWER_VERSION as ORTHANC_PLUGIN_VERSION
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 204
diff changeset
125 ${ORTHANC_PLUGIN_VERSION} "OrthancWebViewer" OrthancWebViewer.dll "Web viewer of medical images for Orthanc"
45
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
126 ERROR_VARIABLE Failure
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
127 OUTPUT_FILE ${AUTOGENERATED_DIR}/Version.rc
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
128 )
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
129
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
130 if (Failure)
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
131 message(FATAL_ERROR "Error while computing the version information: ${Failure}")
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
132 endif()
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
133
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
134 list(APPEND AUTOGENERATED_SOURCES ${AUTOGENERATED_DIR}/Version.rc)
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
135 endif()
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
136
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
137
264
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
138 # As the "EmbeddedResources.(h|cpp)" are shared by both the
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
139 # "UnitTests" and the "OrthancWebViewer" targets, avoid race
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
140 # conditions in the code generation by adding a target between them
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
141 add_custom_target(
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
142 AutogeneratedTarget
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
143 DEPENDS
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
144 ${AUTOGENERATED_SOURCES}
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
145 )
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
146
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
147 set(CORE_SOURCES
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
148 ${CMAKE_SOURCE_DIR}/Plugin/Cache/CacheManager.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
149 ${CMAKE_SOURCE_DIR}/Plugin/Cache/CacheScheduler.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
150 ${CMAKE_SOURCE_DIR}/Plugin/ViewerToolbox.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
151 ${CMAKE_SOURCE_DIR}/Plugin/ViewerPrefetchPolicy.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
152 ${CMAKE_SOURCE_DIR}/Plugin/SeriesInformationAdapter.cpp
191
993dd140bd30 Resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 183
diff changeset
153
993dd140bd30 Resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 183
diff changeset
154 ${ORTHANC_CORE_SOURCES}
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
155 )
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
156
266
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
157 include_directories(
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
158 ${CMAKE_SOURCE_DIR}/Resources/Orthanc/Plugins/
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
159 )
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
160
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
161 add_library(OrthancWebViewer
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
162 SHARED
231
7097d0eaac76 Move the GDCM decoder out of the Orthanc Web viewer plugin as a separate plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 230
diff changeset
163 ${AUTOGENERATED_SOURCES}
7097d0eaac76 Move the GDCM decoder out of the Orthanc Web viewer plugin as a separate plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 230
diff changeset
164 ${CMAKE_SOURCE_DIR}/Plugin/DecodedImageAdapter.cpp
7097d0eaac76 Move the GDCM decoder out of the Orthanc Web viewer plugin as a separate plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 230
diff changeset
165 ${CMAKE_SOURCE_DIR}/Plugin/Plugin.cpp
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
166 ${CORE_SOURCES}
266
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
167 ${CMAKE_SOURCE_DIR}/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.cpp
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
168 )
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
169
264
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
170 add_dependencies(OrthancWebViewer AutogeneratedTarget)
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
171
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
172
206
d1ed9efdea6c rename ORTHANC_WEBVIEWER_VERSION as ORTHANC_PLUGIN_VERSION
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 204
diff changeset
173 message("Setting the version of the library to ${ORTHANC_PLUGIN_VERSION}")
12
379131283479 version
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 11
diff changeset
174
206
d1ed9efdea6c rename ORTHANC_WEBVIEWER_VERSION as ORTHANC_PLUGIN_VERSION
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 204
diff changeset
175 add_definitions(-DORTHANC_PLUGIN_VERSION="${ORTHANC_PLUGIN_VERSION}")
12
379131283479 version
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 11
diff changeset
176
8
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
177 set_target_properties(OrthancWebViewer PROPERTIES
206
d1ed9efdea6c rename ORTHANC_WEBVIEWER_VERSION as ORTHANC_PLUGIN_VERSION
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 204
diff changeset
178 VERSION ${ORTHANC_PLUGIN_VERSION}
d1ed9efdea6c rename ORTHANC_WEBVIEWER_VERSION as ORTHANC_PLUGIN_VERSION
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 204
diff changeset
179 SOVERSION ${ORTHANC_PLUGIN_VERSION})
8
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
180
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
181 install(
8
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
182 TARGETS OrthancWebViewer
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
183 RUNTIME DESTINATION lib # Destination for Windows
9
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 8
diff changeset
184 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux
8
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
185 )
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
186
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
187 add_executable(UnitTests
259
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 258
diff changeset
188 ${AUTOGENERATED_SOURCES}
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
189 ${CORE_SOURCES}
172
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 168
diff changeset
190 ${GOOGLE_TEST_SOURCES}
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
191 UnitTestsSources/UnitTestsMain.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
192 )
183
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 176
diff changeset
193
264
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
194 add_dependencies(UnitTests AutogeneratedTarget)
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
195
183
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 176
diff changeset
196 target_link_libraries(UnitTests ${GOOGLE_TEST_LIBRARIES})