annotate CMakeLists.txt @ 272:2c3555b8eabc

sync
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 01 Jul 2020 11:29:01 +0200
parents 3e9307f6da67
children 52b56343d268
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
267
fada2686f2c4 fix build on OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 266
diff changeset
51 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR
fada2686f2c4 fix build on OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 266
diff changeset
52 ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD" OR
fada2686f2c4 fix build on OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 266
diff changeset
53 ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" OR
fada2686f2c4 fix build on OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 266
diff changeset
54 ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
fada2686f2c4 fix build on OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 266
diff changeset
55 set(ENABLE_PLUGINS_VERSION_SCRIPT OFF)
272
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 270
diff changeset
56 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--version-script=${CMAKE_SOURCE_DIR}/Resources/Orthanc/Plugins/VersionScriptPlugins.map")
267
fada2686f2c4 fix build on OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 266
diff changeset
57 endif()
266
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
193
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 191
diff changeset
60 # Download and setup the Orthanc framework
266
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
61 if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "system")
269
938257eebc03 simplification
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 267
diff changeset
62 set(ENABLE_GOOGLE_TEST ON)
938257eebc03 simplification
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 267
diff changeset
63 include(${CMAKE_SOURCE_DIR}/Resources/Orthanc/CMake/DownloadOrthancFramework.cmake)
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64
266
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
65 include_directories(
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
66 ${CMAKE_SOURCE_DIR}/Resources/Orthanc/
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
67 )
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
68 link_libraries(OrthancFramework)
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
69 else()
269
938257eebc03 simplification
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 267
diff changeset
70 include(${CMAKE_SOURCE_DIR}/Resources/Orthanc/CMake/DownloadOrthancFramework.cmake)
272
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 270
diff changeset
71 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
72
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
73 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
74 set(ENABLE_GOOGLE_TEST ON)
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
75 set(ENABLE_SQLITE ON)
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
76 set(ENABLE_MODULE_JOBS OFF CACHE INTERNAL "")
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
77 set(ENABLE_MODULE_DICOM OFF CACHE INTERNAL "")
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
78 set(HAS_EMBEDDED_RESOURCES ON)
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
79
272
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 270
diff changeset
80 include(${ORTHANC_FRAMEWORK_ROOT}/Resources/CMake/OrthancFrameworkConfiguration.cmake)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 270
diff changeset
81 include_directories(${ORTHANC_FRAMEWORK_ROOT}/Sources)
266
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
82 endif()
191
993dd140bd30 Resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 183
diff changeset
83
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
84
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
85 include(${CMAKE_SOURCE_DIR}/Resources/CMake/JavaScriptLibraries.cmake)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
86
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
87
143
16f8471e3872 Performance warning if runtime debug assertions are turned on
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 139
diff changeset
88 # 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
89 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
90 include_directories(${CMAKE_SOURCE_DIR}/Resources/Orthanc/Sdk-0.9.5)
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
91 else ()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
92 CHECK_INCLUDE_FILE_CXX(orthanc/OrthancCPlugin.h HAVE_ORTHANC_H)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
93 if (NOT HAVE_ORTHANC_H)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
94 message(FATAL_ERROR "Please install the headers of the Orthanc plugins SDK")
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
95 endif()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
96 endif()
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
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
99 if (STANDALONE_BUILD)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
100 add_definitions(
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
101 -DORTHANC_STANDALONE=1
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 set(EMBEDDED_RESOURCES
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
104 WEB_VIEWER ${CMAKE_SOURCE_DIR}/WebApplication
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
105 )
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
106 else()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
107 add_definitions(
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
108 -DORTHANC_STANDALONE=0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
109 -DWEB_VIEWER_PATH="${CMAKE_SOURCE_DIR}/WebApplication/"
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
110 )
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
111 endif()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
112
204
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
113 add_definitions(
229
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 226
diff changeset
114 -DHAS_ORTHANC_EXCEPTION=1
204
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
115 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 201
diff changeset
116
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
117 EmbedResources(
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
118 ORTHANC_EXPLORER ${CMAKE_SOURCE_DIR}/Resources/OrthancExplorer.js
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
119 JAVASCRIPT_LIBS ${JAVASCRIPT_LIBS_DIR}
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
120 ${EMBEDDED_RESOURCES}
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
121 )
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
122
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
123 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
124 ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD" OR
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
125 ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
126 link_libraries(rt)
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
127 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
128 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
129
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
130 execute_process(
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
131 COMMAND
272
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 270
diff changeset
132 ${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
133 ${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
134 ERROR_VARIABLE Failure
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
135 OUTPUT_FILE ${AUTOGENERATED_DIR}/Version.rc
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
136 )
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
137
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
138 if (Failure)
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
139 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
140 endif()
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
141
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
142 list(APPEND AUTOGENERATED_SOURCES ${AUTOGENERATED_DIR}/Version.rc)
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
143 endif()
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
144
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
145
264
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
146 # 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
147 # "UnitTests" and the "OrthancWebViewer" targets, avoid race
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
148 # 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
149 add_custom_target(
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
150 AutogeneratedTarget
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
151 DEPENDS
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
152 ${AUTOGENERATED_SOURCES}
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
153 )
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
154
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
155 set(CORE_SOURCES
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
156 ${CMAKE_SOURCE_DIR}/Plugin/Cache/CacheManager.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
157 ${CMAKE_SOURCE_DIR}/Plugin/Cache/CacheScheduler.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
158 ${CMAKE_SOURCE_DIR}/Plugin/ViewerToolbox.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
159 ${CMAKE_SOURCE_DIR}/Plugin/ViewerPrefetchPolicy.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
160 ${CMAKE_SOURCE_DIR}/Plugin/SeriesInformationAdapter.cpp
191
993dd140bd30 Resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 183
diff changeset
161
993dd140bd30 Resort to Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 183
diff changeset
162 ${ORTHANC_CORE_SOURCES}
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
163 )
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
164
266
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
165 include_directories(
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
166 ${CMAKE_SOURCE_DIR}/Resources/Orthanc/Plugins/
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
167 )
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
168
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
169 add_library(OrthancWebViewer
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
170 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
171 ${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
172 ${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
173 ${CMAKE_SOURCE_DIR}/Plugin/Plugin.cpp
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
174 ${CORE_SOURCES}
266
4e9d30c19b4b linking against orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 264
diff changeset
175 ${CMAKE_SOURCE_DIR}/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.cpp
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
176 )
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
177
264
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
178 add_dependencies(OrthancWebViewer AutogeneratedTarget)
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
179
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
180
206
d1ed9efdea6c rename ORTHANC_WEBVIEWER_VERSION as ORTHANC_PLUGIN_VERSION
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 204
diff changeset
181 message("Setting the version of the library to ${ORTHANC_PLUGIN_VERSION}")
12
379131283479 version
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 11
diff changeset
182
206
d1ed9efdea6c rename ORTHANC_WEBVIEWER_VERSION as ORTHANC_PLUGIN_VERSION
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 204
diff changeset
183 add_definitions(-DORTHANC_PLUGIN_VERSION="${ORTHANC_PLUGIN_VERSION}")
12
379131283479 version
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 11
diff changeset
184
8
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
185 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
186 VERSION ${ORTHANC_PLUGIN_VERSION}
d1ed9efdea6c rename ORTHANC_WEBVIEWER_VERSION as ORTHANC_PLUGIN_VERSION
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 204
diff changeset
187 SOVERSION ${ORTHANC_PLUGIN_VERSION})
8
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
188
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
189 install(
8
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
190 TARGETS OrthancWebViewer
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
191 RUNTIME DESTINATION lib # Destination for Windows
9
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 8
diff changeset
192 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux
8
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
193 )
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
194
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
195 add_executable(UnitTests
259
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 258
diff changeset
196 ${AUTOGENERATED_SOURCES}
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
197 ${CORE_SOURCES}
172
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 168
diff changeset
198 ${GOOGLE_TEST_SOURCES}
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
199 UnitTestsSources/UnitTestsMain.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
200 )
183
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 176
diff changeset
201
264
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
202 add_dependencies(UnitTests AutogeneratedTarget)
38e9bb57f761 avoid race condition in CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 263
diff changeset
203
183
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 176
diff changeset
204 target_link_libraries(UnitTests ${GOOGLE_TEST_LIBRARIES})