annotate CMakeLists.txt @ 77:f44ebb25691c

upgrade
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 25 Sep 2015 11:29:01 +0200
parents f869ea124433
children abdde1dfb3eb
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
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 # Copyright (C) 2012-2015 Sebastien Jodogne, Medical Physics
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 # Department, University Hospital of Liege, Belgium
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 #
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5 # This program is free software: you can redistribute it and/or
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 # modify it under the terms of the GNU Affero General Public License
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 # as published by the Free Software Foundation, either version 3 of
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8 # the License, or (at your option) any later version.
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 #
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 # 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
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 # Affero General Public License for more details.
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 #
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 # 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
16 # along with this program. If not, see <http://www.gnu.org/licenses/>.
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17
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 cmake_minimum_required(VERSION 2.8)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20
13
09421764214b fixes for visual studio
jodogne
parents: 12
diff changeset
21 project(OrthancWebViewer)
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22
64
03a09c575ba8 fix mainline version
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 62
diff changeset
23 set(ORTHANC_WEBVIEWER_VERSION "mainline")
8
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
24
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 # Parameters of the build
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 set(STATIC_BUILD OFF CACHE BOOL "Static build of the third-party libraries (necessary for Windows)")
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 SET(STANDALONE_BUILD ON CACHE BOOL "Standalone build (all the resources are embedded, necessary for releases)")
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 set(ALLOW_DOWNLOADS OFF CACHE BOOL "Allow CMake to download packages")
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 # Advanced parameters to fine-tune linking against system libraries
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 set(USE_SYSTEM_BOOST ON CACHE BOOL "Use the system version of Boost")
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 set(USE_SYSTEM_GDCM ON CACHE BOOL "Use the system version of Grassroot DICOM (GDCM)")
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 set(USE_SYSTEM_GOOGLE_TEST ON CACHE BOOL "Use the system version of Google Test")
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 set(USE_SYSTEM_JSONCPP ON CACHE BOOL "Use the system version of JsonCpp")
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35 set(USE_SYSTEM_ZLIB ON CACHE BOOL "Use the system version of zlib")
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 set(USE_SYSTEM_SQLITE ON CACHE BOOL "Use the system version of SQLite")
68
45da32410346 USE_SYSTEM_ORTHANC_SDK option
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 60
diff changeset
37 set(USE_SYSTEM_ORTHANC_SDK ON CACHE BOOL "Use the system version of the Orthanc plugin SDK")
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 # Distribution-specific settings
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 set(USE_GTEST_DEBIAN_SOURCE_PACKAGE OFF CACHE BOOL "Use the sources of Google Test shipped with libgtest-dev (Debian only)")
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 mark_as_advanced(USE_GTEST_DEBIAN_SOURCE_PACKAGE)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
43 set(ORTHANC_ROOT ${CMAKE_SOURCE_DIR}/Orthanc)
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 include(CheckIncludeFiles)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 include(CheckIncludeFileCXX)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46 include(CheckLibraryExists)
17
b1eafe1e8511 FreeBSD
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
47 include(FindPythonInterp)
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
48 include(${CMAKE_SOURCE_DIR}/Orthanc/Resources/CMake/Compiler.cmake)
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
49 include(${CMAKE_SOURCE_DIR}/Orthanc/Resources/CMake/AutoGeneratedCode.cmake)
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
50 include(${CMAKE_SOURCE_DIR}/Orthanc/Resources/CMake/DownloadPackage.cmake)
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
52 include(${CMAKE_SOURCE_DIR}/Orthanc/Resources/CMake/BoostConfiguration.cmake)
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
53 include(${CMAKE_SOURCE_DIR}/Orthanc/Resources/CMake/GoogleTestConfiguration.cmake)
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
54 include(${CMAKE_SOURCE_DIR}/Orthanc/Resources/CMake/JsonCppConfiguration.cmake)
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
55 include(${CMAKE_SOURCE_DIR}/Orthanc/Resources/CMake/SQLiteConfiguration.cmake)
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
56
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57 include(${CMAKE_SOURCE_DIR}/Resources/CMake/GdcmConfiguration.cmake)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58 include(${CMAKE_SOURCE_DIR}/Resources/CMake/JavaScriptLibraries.cmake)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 # Check that the Orthanc SDK headers are available or download them
68
45da32410346 USE_SYSTEM_ORTHANC_SDK option
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 60
diff changeset
62 if (STATIC_BUILD OR NOT USE_SYSTEM_ORTHANC_SDK)
51
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 49
diff changeset
63 include_directories(${ORTHANC_ROOT}/Sdk-0.9.1)
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64 else ()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 CHECK_INCLUDE_FILE_CXX(orthanc/OrthancCPlugin.h HAVE_ORTHANC_H)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 if (NOT HAVE_ORTHANC_H)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67 message(FATAL_ERROR "Please install the headers of the Orthanc plugins SDK")
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68 endif()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69 endif()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72 if (STANDALONE_BUILD)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
73 add_definitions(
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
74 -DORTHANC_STANDALONE=1
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
75 )
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76 set(EMBEDDED_RESOURCES
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
77 WEB_VIEWER ${CMAKE_SOURCE_DIR}/WebApplication
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 else()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
80 add_definitions(
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
81 -DORTHANC_STANDALONE=0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
82 -DWEB_VIEWER_PATH="${CMAKE_SOURCE_DIR}/WebApplication/"
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
83 )
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
84 endif()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
85
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
86 EmbedResources(
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
87 ORTHANC_EXPLORER ${CMAKE_SOURCE_DIR}/Resources/OrthancExplorer.js
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
88 JAVASCRIPT_LIBS ${JAVASCRIPT_LIBS_DIR}
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
89 ${EMBEDDED_RESOURCES}
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
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_SQLITE_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
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
96
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
97 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
98 ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD" OR
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
99 ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
100 link_libraries(rt)
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
101 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
102 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
103
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
104 execute_process(
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
105 COMMAND
48
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 46
diff changeset
106 ${PYTHON_EXECUTABLE} ${ORTHANC_ROOT}/Resources/WindowsResources.py
45
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
107 ${ORTHANC_WEBVIEWER_VERSION} "OrthancWebViewer" OrthancWebViewer.dll "Web viewer of medical images for Orthanc"
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
108 ERROR_VARIABLE Failure
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
109 OUTPUT_FILE ${AUTOGENERATED_DIR}/Version.rc
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
110 )
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
111
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
112 if (Failure)
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
113 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
114 endif()
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
115
05ac3f595ba5 Inject version information into Windows binaries
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
116 list(APPEND AUTOGENERATED_SOURCES ${AUTOGENERATED_DIR}/Version.rc)
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
117 endif()
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
118
44
6f27794044a2 missing version script
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
119 if (CMAKE_COMPILER_IS_GNUCXX)
46
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 45
diff changeset
120 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--version-script=${CMAKE_SOURCE_DIR}/Orthanc/Plugins/Samples/Common/VersionScript.map -Wl,--no-undefined")
44
6f27794044a2 missing version script
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
121 endif()
6f27794044a2 missing version script
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
122
57
26a230647a73 support of os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 51
diff changeset
123 if (APPLE)
26a230647a73 support of os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 51
diff changeset
124 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework CoreFoundation")
26a230647a73 support of os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 51
diff changeset
125 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -framework CoreFoundation")
26a230647a73 support of os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 51
diff changeset
126 endif()
60
902dedf9882a removed unneccessary dependency on md5
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 57
diff changeset
127
902dedf9882a removed unneccessary dependency on md5
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 57
diff changeset
128 add_definitions(
902dedf9882a removed unneccessary dependency on md5
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 57
diff changeset
129 -DORTHANC_ENABLE_MD5=0
902dedf9882a removed unneccessary dependency on md5
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 57
diff changeset
130 -DORTHANC_ENABLE_BASE64=0
65
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 64
diff changeset
131 -DORTHANC_ENABLE_LOGGING=0
60
902dedf9882a removed unneccessary dependency on md5
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 57
diff changeset
132 )
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
133
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
134 set(CORE_SOURCES
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
135 ${BOOST_SOURCES}
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
136 ${SQLITE_SOURCES}
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
137 ${LIBJPEG_SOURCES}
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
138 ${ZLIB_SOURCES}
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
139 ${LIBPNG_SOURCES}
29
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 26
diff changeset
140 ${JSONCPP_SOURCES}
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
141
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
142 # Sources inherited from Orthanc core
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
143 ${CMAKE_SOURCE_DIR}/Orthanc/Core/ChunkedBuffer.cpp
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
144 ${CMAKE_SOURCE_DIR}/Orthanc/Core/Enumerations.cpp
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
145 ${CMAKE_SOURCE_DIR}/Orthanc/Core/FileStorage/FilesystemStorage.cpp
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
146 ${CMAKE_SOURCE_DIR}/Orthanc/Core/ImageFormats/ImageAccessor.cpp
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
147 ${CMAKE_SOURCE_DIR}/Orthanc/Core/ImageFormats/ImageBuffer.cpp
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
148 ${CMAKE_SOURCE_DIR}/Orthanc/Core/ImageFormats/ImageProcessing.cpp
31
111689a2c177 fix issue 29
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 30
diff changeset
149 ${CMAKE_SOURCE_DIR}/Orthanc/Core/ImageFormats/PngReader.cpp
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
150 ${CMAKE_SOURCE_DIR}/Orthanc/Core/ImageFormats/PngWriter.cpp
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
151 ${CMAKE_SOURCE_DIR}/Orthanc/Core/MultiThreading/SharedMessageQueue.cpp
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
152 ${CMAKE_SOURCE_DIR}/Orthanc/Core/OrthancException.cpp
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
153 ${CMAKE_SOURCE_DIR}/Orthanc/Core/SQLite/Connection.cpp
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
154 ${CMAKE_SOURCE_DIR}/Orthanc/Core/SQLite/FunctionContext.cpp
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
155 ${CMAKE_SOURCE_DIR}/Orthanc/Core/SQLite/Statement.cpp
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
156 ${CMAKE_SOURCE_DIR}/Orthanc/Core/SQLite/StatementId.cpp
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
157 ${CMAKE_SOURCE_DIR}/Orthanc/Core/SQLite/StatementReference.cpp
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
158 ${CMAKE_SOURCE_DIR}/Orthanc/Core/SQLite/Transaction.cpp
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
159 ${CMAKE_SOURCE_DIR}/Orthanc/Core/Toolbox.cpp
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
160 ${CMAKE_SOURCE_DIR}/Orthanc/Core/Uuid.cpp
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
161 ${CMAKE_SOURCE_DIR}/Orthanc/Resources/ThirdParty/base64/base64.cpp
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
162
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
163 ${CMAKE_SOURCE_DIR}/Plugin/Cache/CacheManager.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
164 ${CMAKE_SOURCE_DIR}/Plugin/Cache/CacheScheduler.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
165 ${CMAKE_SOURCE_DIR}/Plugin/JpegWriter.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
166 ${CMAKE_SOURCE_DIR}/Plugin/ViewerToolbox.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
167 ${CMAKE_SOURCE_DIR}/Plugin/SeriesVolumeSorter.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
168 ${CMAKE_SOURCE_DIR}/Plugin/ViewerPrefetchPolicy.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
169 ${CMAKE_SOURCE_DIR}/Plugin/InstanceInformation.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
170 ${CMAKE_SOURCE_DIR}/Plugin/InstanceInformationAdapter.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
171 ${CMAKE_SOURCE_DIR}/Plugin/SeriesInformationAdapter.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
172 )
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
173
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
174 add_library(OrthancWebViewer
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
175 SHARED
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
176 ${CORE_SOURCES}
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
177 ${AUTOGENERATED_SOURCES}
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
178 ${CMAKE_SOURCE_DIR}/Plugin/Plugin.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
179
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
180 # The following files depend on GDCM
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
181 ${CMAKE_SOURCE_DIR}/Plugin/ParsedDicomImage.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
182 ${CMAKE_SOURCE_DIR}/Plugin/DecodedImageAdapter.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
183 )
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
184
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
185
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
186 if (STATIC_BUILD OR NOT USE_SYSTEM_GDCM)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
187 add_dependencies(OrthancWebViewer GDCM)
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
188 endif()
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
189
26
a6492d20b2a8 modularization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 23
diff changeset
190 target_link_libraries(OrthancWebViewer ${GDCM_LIBRARIES})
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
191
8
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
192 message("Setting the version of the library to ${ORTHANC_WEBVIEWER_VERSION}")
12
379131283479 version
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 11
diff changeset
193
379131283479 version
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 11
diff changeset
194 add_definitions(-DORTHANC_WEBVIEWER_VERSION="${ORTHANC_WEBVIEWER_VERSION}")
379131283479 version
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 11
diff changeset
195
8
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
196 set_target_properties(OrthancWebViewer PROPERTIES
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
197 VERSION ${ORTHANC_WEBVIEWER_VERSION}
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
198 SOVERSION ${ORTHANC_WEBVIEWER_VERSION})
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
199
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
200 install(
8
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
201 TARGETS OrthancWebViewer
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
202 RUNTIME DESTINATION lib # Destination for Windows
9
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 8
diff changeset
203 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux
8
49fa9c774465 versioning
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
204 )
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
205
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
206 add_executable(UnitTests
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
207 ${CORE_SOURCES}
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
208 ${GTEST_SOURCES}
30
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 29
diff changeset
209 ${JSONCPP_SOURCES}
0
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
210 UnitTestsSources/UnitTestsMain.cpp
02f7a0400a91 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
211 )