annotate OrthancFramework/Resources/CMake/DownloadOrthancFramework.cmake @ 4531:d64e6f401a8a

additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 25 Feb 2021 12:15:18 +0100
parents e40148c916b8
children d9700b9f4ad9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 # Orthanc - A Lightweight, RESTful DICOM Store
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 # Department, University Hospital of Liege, Belgium
4437
d9473bd5ed43 upgrade to year 2021
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4436
diff changeset
4 # Copyright (C) 2017-2021 Osimis S.A., Belgium
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5 #
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 # This program is free software: you can redistribute it and/or
4119
bf7b9edf6b81 re-licensing the OrthancFramework to LGPL, in order to license Stone of Orthanc under LGPL
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4108
diff changeset
7 # modify it under the terms of the GNU Lesser General Public License
bf7b9edf6b81 re-licensing the OrthancFramework to LGPL, in order to license Stone of Orthanc under LGPL
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4108
diff changeset
8 # as published by the Free Software Foundation, either version 3 of
bf7b9edf6b81 re-licensing the OrthancFramework to LGPL, in order to license Stone of Orthanc under LGPL
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4108
diff changeset
9 # the License, or (at your option) any later version.
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 #
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 # This program is distributed in the hope that it will be useful, but
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
4119
bf7b9edf6b81 re-licensing the OrthancFramework to LGPL, in order to license Stone of Orthanc under LGPL
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4108
diff changeset
14 # Lesser General Public License for more details.
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 #
4119
bf7b9edf6b81 re-licensing the OrthancFramework to LGPL, in order to license Stone of Orthanc under LGPL
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4108
diff changeset
16 # You should have received a copy of the GNU Lesser General Public
bf7b9edf6b81 re-licensing the OrthancFramework to LGPL, in order to license Stone of Orthanc under LGPL
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4108
diff changeset
17 # License along with this program. If not, see
bf7b9edf6b81 re-licensing the OrthancFramework to LGPL, in order to license Stone of Orthanc under LGPL
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4108
diff changeset
18 # <http://www.gnu.org/licenses/>.
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 ##
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 ## Check whether the parent script sets the mandatory variables
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 ##
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 if (NOT DEFINED ORTHANC_FRAMEWORK_SOURCE OR
4037
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
27 (NOT ORTHANC_FRAMEWORK_SOURCE STREQUAL "system" AND
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
28 NOT ORTHANC_FRAMEWORK_SOURCE STREQUAL "hg" AND
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 NOT ORTHANC_FRAMEWORK_SOURCE STREQUAL "web" AND
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 NOT ORTHANC_FRAMEWORK_SOURCE STREQUAL "archive" AND
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 NOT ORTHANC_FRAMEWORK_SOURCE STREQUAL "path"))
4037
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
32 message(FATAL_ERROR "The variable ORTHANC_FRAMEWORK_SOURCE must be set to \"system\", \"hg\", \"web\", \"archive\" or \"path\"")
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 ##
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 ## Detection of the requested version
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 ##
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "hg" OR
2533
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
41 ORTHANC_FRAMEWORK_SOURCE STREQUAL "archive" OR
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42 ORTHANC_FRAMEWORK_SOURCE STREQUAL "web")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 if (NOT DEFINED ORTHANC_FRAMEWORK_VERSION)
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 message(FATAL_ERROR "The variable ORTHANC_FRAMEWORK_VERSION must be set")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47 if (DEFINED ORTHANC_FRAMEWORK_MAJOR OR
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 DEFINED ORTHANC_FRAMEWORK_MINOR OR
2533
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
49 DEFINED ORTHANC_FRAMEWORK_REVISION OR
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
50 DEFINED ORTHANC_FRAMEWORK_MD5)
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 message(FATAL_ERROR "Some internal variable has been set")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53
2533
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
54 set(ORTHANC_FRAMEWORK_MD5 "")
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
55
2688
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
56 if (NOT DEFINED ORTHANC_FRAMEWORK_BRANCH)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
57 if (ORTHANC_FRAMEWORK_VERSION STREQUAL "mainline")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
58 set(ORTHANC_FRAMEWORK_BRANCH "default")
3407
b7728227a852 C++ wrappers: compatibility mode if missing OrthancPluginRegisterMultipartRestCallback()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3318
diff changeset
59 set(ORTHANC_FRAMEWORK_MAJOR 999)
b7728227a852 C++ wrappers: compatibility mode if missing OrthancPluginRegisterMultipartRestCallback()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3318
diff changeset
60 set(ORTHANC_FRAMEWORK_MINOR 999)
b7728227a852 C++ wrappers: compatibility mode if missing OrthancPluginRegisterMultipartRestCallback()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3318
diff changeset
61 set(ORTHANC_FRAMEWORK_REVISION 999)
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62
2688
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
63 else()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
64 set(ORTHANC_FRAMEWORK_BRANCH "Orthanc-${ORTHANC_FRAMEWORK_VERSION}")
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65
2688
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
66 set(RE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
67 string(REGEX REPLACE ${RE} "\\1" ORTHANC_FRAMEWORK_MAJOR ${ORTHANC_FRAMEWORK_VERSION})
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
68 string(REGEX REPLACE ${RE} "\\2" ORTHANC_FRAMEWORK_MINOR ${ORTHANC_FRAMEWORK_VERSION})
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
69 string(REGEX REPLACE ${RE} "\\3" ORTHANC_FRAMEWORK_REVISION ${ORTHANC_FRAMEWORK_VERSION})
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70
2688
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
71 if (NOT ORTHANC_FRAMEWORK_MAJOR MATCHES "^[0-9]+$" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
72 NOT ORTHANC_FRAMEWORK_MINOR MATCHES "^[0-9]+$" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
73 NOT ORTHANC_FRAMEWORK_REVISION MATCHES "^[0-9]+$")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
74 message("Bad version of the Orthanc framework: ${ORTHANC_FRAMEWORK_VERSION}")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
75 endif()
2533
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
76
2688
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
77 if (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.3.1")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
78 set(ORTHANC_FRAMEWORK_MD5 "dac95bd6cf86fb19deaf4e612961f378")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
79 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.3.2")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
80 set(ORTHANC_FRAMEWORK_MD5 "d0ccdf68e855d8224331f13774992750")
2740
e226f3a23f2f framework 1.4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2688
diff changeset
81 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.4.0")
e226f3a23f2f framework 1.4.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2688
diff changeset
82 set(ORTHANC_FRAMEWORK_MD5 "81e15f34d97ac32bbd7d26e85698835a")
2915
9abcfd97a76b Orthanc framework 1.4.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2838
diff changeset
83 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.4.1")
9abcfd97a76b Orthanc framework 1.4.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2838
diff changeset
84 set(ORTHANC_FRAMEWORK_MD5 "9b6f6114264b17ed421b574cd6476127")
2838
f3a2d109e361 new orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2740
diff changeset
85 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.4.2")
f3a2d109e361 new orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2740
diff changeset
86 set(ORTHANC_FRAMEWORK_MD5 "d1ee84927dcf668e60eb5868d24b9394")
2993
01dc71f9b9e3 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2915
diff changeset
87 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.5.0")
01dc71f9b9e3 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2915
diff changeset
88 set(ORTHANC_FRAMEWORK_MD5 "4429d8d9dea4ff6648df80ec3c64d79e")
3044
1000178f94e4 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2993
diff changeset
89 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.5.1")
1000178f94e4 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2993
diff changeset
90 set(ORTHANC_FRAMEWORK_MD5 "099671538865e5da96208b37494d6718")
3152
6150748578f6 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3135
diff changeset
91 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.5.2")
6150748578f6 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3135
diff changeset
92 set(ORTHANC_FRAMEWORK_MD5 "8867050f3e9a1ce6157c1ea7a9433b1b")
3170
04336d6da2c6 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3152
diff changeset
93 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.5.3")
04336d6da2c6 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3152
diff changeset
94 set(ORTHANC_FRAMEWORK_MD5 "bf2f5ed1adb8b0fc5f10d278e68e1dfe")
3213
abb204aed6bf back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3170
diff changeset
95 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.5.4")
abb204aed6bf back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3170
diff changeset
96 set(ORTHANC_FRAMEWORK_MD5 "404baef5d4c43e7c5d9410edda8ef5a5")
3307
66745b9039aa back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3213
diff changeset
97 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.5.5")
66745b9039aa back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3213
diff changeset
98 set(ORTHANC_FRAMEWORK_MD5 "cfc437e0687ae4bd725fd93dc1f08bc4")
3318
b770435a93d3 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3307
diff changeset
99 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.5.6")
b770435a93d3 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3307
diff changeset
100 set(ORTHANC_FRAMEWORK_MD5 "3c29de1e289b5472342947168f0105c0")
3450
bab2a84a6697 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3407
diff changeset
101 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.5.7")
bab2a84a6697 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3407
diff changeset
102 set(ORTHANC_FRAMEWORK_MD5 "e1b76f01116d9b5d4ac8cc39980560e3")
3542
25126912aa2c back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3450
diff changeset
103 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.5.8")
25126912aa2c back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3450
diff changeset
104 set(ORTHANC_FRAMEWORK_MD5 "82323e8c49a667f658a3639ea4dbc336")
3780
df69a5fdc836 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3717
diff changeset
105 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.6.0")
df69a5fdc836 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3717
diff changeset
106 set(ORTHANC_FRAMEWORK_MD5 "eab428d6e53f61e847fa360bb17ebe25")
3856
dd0fcbf6a791 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3853
diff changeset
107 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.6.1")
dd0fcbf6a791 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3853
diff changeset
108 set(ORTHANC_FRAMEWORK_MD5 "3971f5de96ba71dc9d3f3690afeaa7c0")
3969
170667f08642 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3856
diff changeset
109 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.7.0")
170667f08642 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3856
diff changeset
110 set(ORTHANC_FRAMEWORK_MD5 "ce5f689e852b01d3672bd3d2f952a5ef")
3983
7cd0fe733822 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3969
diff changeset
111 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.7.1")
7cd0fe733822 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3969
diff changeset
112 set(ORTHANC_FRAMEWORK_MD5 "3c171217f930abe80246997bdbcaf7cc")
4132
298216fce500 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4119
diff changeset
113 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.7.2")
298216fce500 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4119
diff changeset
114 set(ORTHANC_FRAMEWORK_MD5 "328f94dcbd78c169655a13f7ad58a2c2")
4160
77255a09883b back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4135
diff changeset
115 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.7.3")
4163
d0f9e29a751b fix md5 of Orthanc framework package
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4160
diff changeset
116 set(ORTHANC_FRAMEWORK_MD5 "3f1ba9502ec7c5449971d3b56087bcde")
4208
f659f79eb12a back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4163
diff changeset
117 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.7.4")
f659f79eb12a back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4163
diff changeset
118 set(ORTHANC_FRAMEWORK_MD5 "19fcb7c21876af86546baa048a22c6c0")
4255
2d6e7471ec7f back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4208
diff changeset
119 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.8.0")
2d6e7471ec7f back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4208
diff changeset
120 set(ORTHANC_FRAMEWORK_MD5 "f8ec7554ef5d23ea4ce474b1e8214de9")
4353
df15262373b0 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4336
diff changeset
121 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.8.1")
df15262373b0 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4336
diff changeset
122 set(ORTHANC_FRAMEWORK_MD5 "db094f96399cbe8b9bbdbce34884c220")
4388
558de9ecd107 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4372
diff changeset
123 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.8.2")
558de9ecd107 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4372
diff changeset
124 set(ORTHANC_FRAMEWORK_MD5 "8bfa10e66c9931e74111be0bfb1f4548")
4491
cf44052fdf60 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4437
diff changeset
125 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.9.0")
cf44052fdf60 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4437
diff changeset
126 set(ORTHANC_FRAMEWORK_MD5 "cea0b02ce184671eaf1bd668beefbf28")
3717
914f783ef085 development snapshot of the Orthanc framework for DICOMweb 1.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
127
914f783ef085 development snapshot of the Orthanc framework for DICOMweb 1.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
128 # Below this point are development snapshots that were used to
914f783ef085 development snapshot of the Orthanc framework for DICOMweb 1.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
129 # release some plugin, before an official release of the Orthanc
914f783ef085 development snapshot of the Orthanc framework for DICOMweb 1.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
130 # framework was available. Here is the command to be used to
914f783ef085 development snapshot of the Orthanc framework for DICOMweb 1.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
131 # generate a proper archive:
914f783ef085 development snapshot of the Orthanc framework for DICOMweb 1.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
132 #
914f783ef085 development snapshot of the Orthanc framework for DICOMweb 1.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
133 # $ hg archive /tmp/Orthanc-`hg id -i | sed 's/\+//'`.tar.gz
914f783ef085 development snapshot of the Orthanc framework for DICOMweb 1.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
134 #
914f783ef085 development snapshot of the Orthanc framework for DICOMweb 1.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
135 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "ae0e3fd609df")
914f783ef085 development snapshot of the Orthanc framework for DICOMweb 1.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
136 # DICOMweb 1.1 (framework pre-1.6.0)
914f783ef085 development snapshot of the Orthanc framework for DICOMweb 1.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3640
diff changeset
137 set(ORTHANC_FRAMEWORK_MD5 "7e09e9b530a2f527854f0b782d7e0645")
4336
9b38aadd4a99 tagging pre-release of the Orthanc Framework for Stone Web viewer 1.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4255
diff changeset
138 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "82652c5fc04f")
9b38aadd4a99 tagging pre-release of the Orthanc Framework for Stone Web viewer 1.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4255
diff changeset
139 # Stone Web viewer 1.0 (framework pre-1.8.1)
9b38aadd4a99 tagging pre-release of the Orthanc Framework for Stone Web viewer 1.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4255
diff changeset
140 set(ORTHANC_FRAMEWORK_MD5 "d77331d68917e66a3f4f9b807bbdab7f")
4372
bda867e036f3 tagging Orthanc framework 4a3ba4bf4ba7 for PostgreSQL 3.3
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4369
diff changeset
141 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "4a3ba4bf4ba7")
bda867e036f3 tagging Orthanc framework 4a3ba4bf4ba7 for PostgreSQL 3.3
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4369
diff changeset
142 # PostgreSQL 3.3 (framework pre-1.8.2)
bda867e036f3 tagging Orthanc framework 4a3ba4bf4ba7 for PostgreSQL 3.3
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4369
diff changeset
143 set(ORTHANC_FRAMEWORK_MD5 "2d82bddf06f9cfe82095495cb3b8abde")
4436
80a437bcc09b pre-release of Orthanc framework 23ad1b9c7800
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4388
diff changeset
144 elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "23ad1b9c7800")
80a437bcc09b pre-release of Orthanc framework 23ad1b9c7800
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4388
diff changeset
145 # For "Toolbox::ReadJson()" and "Toolbox::Write{...}Json()" (pre-1.9.0)
80a437bcc09b pre-release of Orthanc framework 23ad1b9c7800
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4388
diff changeset
146 set(ORTHANC_FRAMEWORK_MD5 "9af92080e57c60dd288eba46ce606c00")
2688
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2553
diff changeset
147 endif()
2533
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
148 endif()
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
149 endif()
4042
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
150
4135
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
151 elseif (ORTHANC_FRAMEWORK_SOURCE STREQUAL "path")
3407
b7728227a852 C++ wrappers: compatibility mode if missing OrthancPluginRegisterMultipartRestCallback()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3318
diff changeset
152 message("Using the Orthanc framework from a path of the filesystem. Assuming mainline version.")
b7728227a852 C++ wrappers: compatibility mode if missing OrthancPluginRegisterMultipartRestCallback()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3318
diff changeset
153 set(ORTHANC_FRAMEWORK_MAJOR 999)
b7728227a852 C++ wrappers: compatibility mode if missing OrthancPluginRegisterMultipartRestCallback()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3318
diff changeset
154 set(ORTHANC_FRAMEWORK_MINOR 999)
b7728227a852 C++ wrappers: compatibility mode if missing OrthancPluginRegisterMultipartRestCallback()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3318
diff changeset
155 set(ORTHANC_FRAMEWORK_REVISION 999)
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
156 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
157
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
158
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
159
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
160 ##
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
161 ## Detection of the third-party software
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
162 ##
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
163
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
164 if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "hg")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
165 find_program(ORTHANC_FRAMEWORK_HG hg)
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
166
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
167 if (${ORTHANC_FRAMEWORK_HG} MATCHES "ORTHANC_FRAMEWORK_HG-NOTFOUND")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
168 message(FATAL_ERROR "Please install Mercurial")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
169 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
170 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
171
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
172
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
173 if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "archive" OR
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
174 ORTHANC_FRAMEWORK_SOURCE STREQUAL "web")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
175 if ("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
176 find_program(ORTHANC_FRAMEWORK_7ZIP 7z
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
177 PATHS
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
178 "$ENV{ProgramFiles}/7-Zip"
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
179 "$ENV{ProgramW6432}/7-Zip"
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
180 )
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
181
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
182 if (${ORTHANC_FRAMEWORK_7ZIP} MATCHES "ORTHANC_FRAMEWORK_7ZIP-NOTFOUND")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
183 message(FATAL_ERROR "Please install the '7-zip' software (http://www.7-zip.org/)")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
184 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
185
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
186 else()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
187 find_program(ORTHANC_FRAMEWORK_TAR tar)
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
188 if (${ORTHANC_FRAMEWORK_TAR} MATCHES "ORTHANC_FRAMEWORK_TAR-NOTFOUND")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
189 message(FATAL_ERROR "Please install the 'tar' package")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
190 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
191 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
192 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
193
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
194
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
195
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
196 ##
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
197 ## Case of the Orthanc framework specified as a path on the filesystem
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
198 ##
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
199
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
200 if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "path")
4135
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
201 if (NOT DEFINED ORTHANC_FRAMEWORK_ROOT OR
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
202 ORTHANC_FRAMEWORK_ROOT STREQUAL "")
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
203 message(FATAL_ERROR "The variable ORTHANC_FRAMEWORK_ROOT must provide the path to the sources of Orthanc")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
204 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
205
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
206 if (NOT EXISTS ${ORTHANC_FRAMEWORK_ROOT})
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
207 message(FATAL_ERROR "Non-existing directory: ${ORTHANC_FRAMEWORK_ROOT}")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
208 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
209 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
210
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
211
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
212
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
213 ##
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
214 ## Case of the Orthanc framework cloned using Mercurial
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
215 ##
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
216
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
217 if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "hg")
2534
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2533
diff changeset
218 if (NOT STATIC_BUILD AND NOT ALLOW_DOWNLOADS)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2533
diff changeset
219 message(FATAL_ERROR "CMake is not allowed to download from Internet. Please set the ALLOW_DOWNLOADS option to ON")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2533
diff changeset
220 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2533
diff changeset
221
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
222 set(ORTHANC_ROOT ${CMAKE_BINARY_DIR}/orthanc)
2534
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2533
diff changeset
223
2537
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2534
diff changeset
224 if (EXISTS ${ORTHANC_ROOT})
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2534
diff changeset
225 message("Updating the Orthanc source repository using Mercurial")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2534
diff changeset
226 execute_process(
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2534
diff changeset
227 COMMAND ${ORTHANC_FRAMEWORK_HG} pull
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2534
diff changeset
228 WORKING_DIRECTORY ${ORTHANC_ROOT}
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2534
diff changeset
229 RESULT_VARIABLE Failure
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2534
diff changeset
230 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2534
diff changeset
231 else()
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
232 message("Forking the Orthanc source repository using Mercurial")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
233 execute_process(
3853
ba53d51ffa9a leaving bitbucket
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3780
diff changeset
234 COMMAND ${ORTHANC_FRAMEWORK_HG} clone "https://hg.orthanc-server.com/orthanc/"
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
235 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
236 RESULT_VARIABLE Failure
2537
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2534
diff changeset
237 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2534
diff changeset
238 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2534
diff changeset
239
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2534
diff changeset
240 if (Failure OR NOT EXISTS ${ORTHANC_ROOT})
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2534
diff changeset
241 message(FATAL_ERROR "Cannot fork the Orthanc repository")
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
242 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
243
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
244 message("Setting branch of the Orthanc repository to: ${ORTHANC_FRAMEWORK_BRANCH}")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
245
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
246 execute_process(
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
247 COMMAND ${ORTHANC_FRAMEWORK_HG} update -c ${ORTHANC_FRAMEWORK_BRANCH}
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
248 WORKING_DIRECTORY ${ORTHANC_ROOT}
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
249 RESULT_VARIABLE Failure
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
250 )
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
251
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
252 if (Failure)
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
253 message(FATAL_ERROR "Error while running Mercurial")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
254 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
255 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
256
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
257
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
258
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
259 ##
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
260 ## Case of the Orthanc framework provided as a source archive on the
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
261 ## filesystem
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
262 ##
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
263
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
264 if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "archive")
4135
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
265 if (NOT DEFINED ORTHANC_FRAMEWORK_ARCHIVE OR
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
266 ORTHANC_FRAMEWORK_ARCHIVE STREQUAL "")
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
267 message(FATAL_ERROR "The variable ORTHANC_FRAMEWORK_ARCHIVE must provide the path to the sources of Orthanc")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
268 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
269 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
270
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
271
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
272
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
273 ##
2547
8b6b0b6ece6b MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2537
diff changeset
274 ## Case of the Orthanc framework downloaded from the Web
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
275 ##
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
276
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
277 if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "web")
2547
8b6b0b6ece6b MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2537
diff changeset
278 if (DEFINED ORTHANC_FRAMEWORK_URL)
8b6b0b6ece6b MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2537
diff changeset
279 string(REGEX REPLACE "^.*/" "" ORTHANC_FRAMEMORK_FILENAME "${ORTHANC_FRAMEWORK_URL}")
8b6b0b6ece6b MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2537
diff changeset
280 else()
8b6b0b6ece6b MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2537
diff changeset
281 # Default case: Download from the official Web site
8b6b0b6ece6b MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2537
diff changeset
282 set(ORTHANC_FRAMEMORK_FILENAME Orthanc-${ORTHANC_FRAMEWORK_VERSION}.tar.gz)
3135
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3060
diff changeset
283 set(ORTHANC_FRAMEWORK_URL "http://orthanc.osimis.io/ThirdPartyDownloads/orthanc-framework/${ORTHANC_FRAMEMORK_FILENAME}")
2547
8b6b0b6ece6b MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2537
diff changeset
284 endif()
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
285
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
286 set(ORTHANC_FRAMEWORK_ARCHIVE "${CMAKE_SOURCE_DIR}/ThirdPartyDownloads/${ORTHANC_FRAMEMORK_FILENAME}")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
287
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
288 if (NOT EXISTS "${ORTHANC_FRAMEWORK_ARCHIVE}")
2534
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2533
diff changeset
289 if (NOT STATIC_BUILD AND NOT ALLOW_DOWNLOADS)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2533
diff changeset
290 message(FATAL_ERROR "CMake is not allowed to download from Internet. Please set the ALLOW_DOWNLOADS option to ON")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2533
diff changeset
291 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2533
diff changeset
292
2547
8b6b0b6ece6b MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2537
diff changeset
293 message("Downloading: ${ORTHANC_FRAMEWORK_URL}")
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
294
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
295 file(DOWNLOAD
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
296 "${ORTHANC_FRAMEWORK_URL}" "${ORTHANC_FRAMEWORK_ARCHIVE}"
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
297 SHOW_PROGRESS EXPECTED_MD5 "${ORTHANC_FRAMEWORK_MD5}"
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
298 TIMEOUT 60
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
299 INACTIVITY_TIMEOUT 60
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
300 )
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
301 else()
2533
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
302 message("Using local copy of: ${ORTHANC_FRAMEWORK_URL}")
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
303 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
304 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
305
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
306
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
307
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
308
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
309 ##
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
310 ## Uncompressing the Orthanc framework, if it was retrieved from a
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
311 ## source archive on the filesystem, or from the official Web site
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
312 ##
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
313
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
314 if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "archive" OR
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
315 ORTHANC_FRAMEWORK_SOURCE STREQUAL "web")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
316
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
317 if (NOT DEFINED ORTHANC_FRAMEWORK_ARCHIVE OR
2533
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
318 NOT DEFINED ORTHANC_FRAMEWORK_VERSION OR
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
319 NOT DEFINED ORTHANC_FRAMEWORK_MD5)
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
320 message(FATAL_ERROR "Internal error")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
321 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
322
2533
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
323 if (ORTHANC_FRAMEWORK_MD5 STREQUAL "")
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
324 message(FATAL_ERROR "Unknown release of Orthanc: ${ORTHANC_FRAMEWORK_VERSION}")
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
325 endif()
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
326
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
327 file(MD5 ${ORTHANC_FRAMEWORK_ARCHIVE} ActualMD5)
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
328
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
329 if (NOT "${ActualMD5}" STREQUAL "${ORTHANC_FRAMEWORK_MD5}")
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
330 message(FATAL_ERROR "The MD5 hash of the Orthanc archive is invalid: ${ORTHANC_FRAMEWORK_ARCHIVE}")
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
331 endif()
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
332
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
333 set(ORTHANC_ROOT "${CMAKE_BINARY_DIR}/Orthanc-${ORTHANC_FRAMEWORK_VERSION}")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
334
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
335 if (NOT IS_DIRECTORY "${ORTHANC_ROOT}")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
336 if (NOT ORTHANC_FRAMEWORK_ARCHIVE MATCHES ".tar.gz$")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
337 message(FATAL_ERROR "Archive should have the \".tar.gz\" extension: ${ORTHANC_FRAMEWORK_ARCHIVE}")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
338 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
339
2533
e7f86a9f0f79 improvements
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2532
diff changeset
340 message("Uncompressing: ${ORTHANC_FRAMEWORK_ARCHIVE}")
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
341
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
342 if ("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
343 # How to silently extract files using 7-zip
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
344 # http://superuser.com/questions/331148/7zip-command-line-extract-silently-quietly
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
345
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
346 execute_process(
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
347 COMMAND ${ORTHANC_FRAMEWORK_7ZIP} e -y ${ORTHANC_FRAMEWORK_ARCHIVE}
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
348 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
349 RESULT_VARIABLE Failure
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
350 OUTPUT_QUIET
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
351 )
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
352
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
353 if (Failure)
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
354 message(FATAL_ERROR "Error while running the uncompression tool")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
355 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
356
2553
7853c9a67605 fix for windows
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2552
diff changeset
357 get_filename_component(TMP_FILENAME "${ORTHANC_FRAMEWORK_ARCHIVE}" NAME)
7853c9a67605 fix for windows
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2552
diff changeset
358 string(REGEX REPLACE ".gz$" "" TMP_FILENAME2 "${TMP_FILENAME}")
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
359
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
360 execute_process(
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
361 COMMAND ${ORTHANC_FRAMEWORK_7ZIP} x -y ${TMP_FILENAME2}
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
362 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
363 RESULT_VARIABLE Failure
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
364 OUTPUT_QUIET
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
365 )
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
366
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
367 else()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
368 execute_process(
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
369 COMMAND sh -c "${ORTHANC_FRAMEWORK_TAR} xfz ${ORTHANC_FRAMEWORK_ARCHIVE}"
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
370 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
371 RESULT_VARIABLE Failure
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
372 )
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
373 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
374
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
375 if (Failure)
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
376 message(FATAL_ERROR "Error while running the uncompression tool")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
377 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
378
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
379 if (NOT IS_DIRECTORY "${ORTHANC_ROOT}")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
380 message(FATAL_ERROR "The Orthanc framework was not uncompressed at the proper location. Check the CMake instructions.")
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
381 endif()
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
382 endif()
4135
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
383 endif()
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
384
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
385
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
386
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
387 ##
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
388 ## Determine the path to the sources of the Orthanc framework
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
389 ##
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
390
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
391 if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "archive" OR
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
392 ORTHANC_FRAMEWORK_SOURCE STREQUAL "hg" OR
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
393 ORTHANC_FRAMEWORK_SOURCE STREQUAL "web")
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
394 if (NOT DEFINED ORTHANC_ROOT OR
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
395 NOT DEFINED ORTHANC_FRAMEWORK_MAJOR OR
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
396 NOT DEFINED ORTHANC_FRAMEWORK_MINOR OR
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
397 NOT DEFINED ORTHANC_FRAMEWORK_REVISION)
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
398 message(FATAL_ERROR "Internal error in the DownloadOrthancFramework.cmake file")
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
399 endif()
4071
d6b7fb0f9652 improved DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4063
diff changeset
400
d6b7fb0f9652 improved DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4063
diff changeset
401 unset(ORTHANC_FRAMEWORK_ROOT CACHE)
d6b7fb0f9652 improved DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4063
diff changeset
402
4135
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
403 if ("${ORTHANC_FRAMEWORK_MAJOR}.${ORTHANC_FRAMEWORK_MINOR}.${ORTHANC_FRAMEWORK_REVISION}" VERSION_LESS "1.7.2")
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
404 set(ORTHANC_FRAMEWORK_ROOT "${ORTHANC_ROOT}/Core" CACHE
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
405 STRING "Path to the Orthanc framework source directory")
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
406 set(ENABLE_PLUGINS_VERSION_SCRIPT OFF)
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
407 else()
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
408 set(ORTHANC_FRAMEWORK_ROOT "${ORTHANC_ROOT}/OrthancFramework/Sources" CACHE
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
409 STRING "Path to the Orthanc framework source directory")
4071
d6b7fb0f9652 improved DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4063
diff changeset
410 endif()
d6b7fb0f9652 improved DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4063
diff changeset
411
d6b7fb0f9652 improved DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4063
diff changeset
412 unset(ORTHANC_ROOT)
2531
b7ed112ce56e DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
413 endif()
4037
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
414
4135
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
415 if (NOT ORTHANC_FRAMEWORK_SOURCE STREQUAL "system")
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
416 if (NOT EXISTS ${ORTHANC_FRAMEWORK_ROOT}/OrthancException.h OR
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
417 NOT EXISTS ${ORTHANC_FRAMEWORK_ROOT}/../Resources/CMake/OrthancFrameworkParameters.cmake)
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
418 message(FATAL_ERROR "Directory not containing the source code of the Orthanc framework: ${ORTHANC_FRAMEWORK_ROOT}")
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
419 endif()
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
420 endif()
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
421
4037
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
422
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
423
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
424 ##
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
425 ## Case of the Orthanc framework installed as a shared library in a
4102
2ace6dc9b1d7 removed Google Test from DownloadOrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4097
diff changeset
426 ## GNU/Linux distribution (typically Debian). New in Orthanc 1.7.2.
4037
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
427 ##
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
428
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
429 if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "system")
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
430 set(ORTHANC_FRAMEWORK_LIBDIR "" CACHE PATH "")
4496
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
431 set(ORTHANC_FRAMEWORK_USE_SHARED ON CACHE BOOL "Whether to use the shared library or the static library")
4531
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
432 set(ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES "" CACHE STRING "Additional libraries to link against, separated by whitespaces, typically needed if using the static library (a typical value is \"uuid curl civetweb\")")
4037
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
433
4042
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
434 if (CMAKE_SYSTEM_NAME STREQUAL "Windows" AND
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
435 CMAKE_COMPILER_IS_GNUCXX) # MinGW
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
436 set(DYNAMIC_MINGW_STDLIB ON) # Disable static linking against libc (to throw exceptions)
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
437 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -static-libstdc++")
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
438 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libstdc++")
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
439 endif()
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
440
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
441 include(CheckIncludeFile)
4037
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
442 include(CheckIncludeFileCXX)
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
443 include(FindPythonInterp)
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
444 include(${CMAKE_CURRENT_LIST_DIR}/Compiler.cmake)
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
445 include(${CMAKE_CURRENT_LIST_DIR}/DownloadPackage.cmake)
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
446 include(${CMAKE_CURRENT_LIST_DIR}/AutoGeneratedCode.cmake)
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
447 set(EMBED_RESOURCES_PYTHON ${CMAKE_CURRENT_LIST_DIR}/EmbedResources.py)
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
448
4496
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
449 # The "OrthancFramework" library must be the first one to be included
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
450 if ("${ORTHANC_FRAMEWORK_LIBDIR}" STREQUAL "")
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
451 set(ORTHANC_FRAMEWORK_LIBRARIES OrthancFramework)
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
452 else()
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
453 if(ORTHANC_FRAMEWORK_USE_SHARED)
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
454 list(GET CMAKE_FIND_LIBRARY_PREFIXES 0 Prefix)
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
455 list(GET CMAKE_FIND_LIBRARY_SUFFIXES 0 Suffix)
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
456 else()
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
457 list(GET CMAKE_FIND_LIBRARY_PREFIXES 0 Prefix)
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
458 list(GET CMAKE_FIND_LIBRARY_SUFFIXES 1 Suffix)
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
459 endif()
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
460 set(ORTHANC_FRAMEWORK_LIBRARIES
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
461 ${ORTHANC_FRAMEWORK_LIBDIR}/${Prefix}OrthancFramework${Suffix})
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
462 endif()
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
463
4531
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
464 if (NOT ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES STREQUAL "")
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
465 # https://stackoverflow.com/a/5272993/881731
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
466 string(REPLACE " " ";" tmp ${ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES})
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
467 list(APPEND ORTHANC_FRAMEWORK_LIBRARIES ${tmp})
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
468 endif()
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
469
4063
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
470 if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows" OR
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
471 ORTHANC_FRAMEWORK_STATIC)
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
472 include_directories(${ORTHANC_FRAMEWORK_ROOT}/..)
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
473 else()
4042
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
474 # Look for mandatory dependency JsonCpp (cf. JsonCppConfiguration.cmake)
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
475 find_path(JSONCPP_INCLUDE_DIR json/reader.h
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
476 /usr/include/jsoncpp
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
477 /usr/local/include/jsoncpp
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
478 )
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
479
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
480 message("JsonCpp include dir: ${JSONCPP_INCLUDE_DIR}")
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
481 include_directories(${JSONCPP_INCLUDE_DIR})
4496
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
482 list(APPEND ORTHANC_FRAMEWORK_LIBRARIES jsoncpp)
4042
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
483
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
484 CHECK_INCLUDE_FILE_CXX(${JSONCPP_INCLUDE_DIR}/json/reader.h HAVE_JSONCPP_H)
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
485 if (NOT HAVE_JSONCPP_H)
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
486 message(FATAL_ERROR "Please install the libjsoncpp-dev package")
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
487 endif()
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
488
4135
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
489 # Switch to the C++11 standard if the version of JsonCpp is 1.y.z
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
490 # (same as variable JSONCPP_CXX11 in the source code of Orthanc)
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
491 if (EXISTS ${JSONCPP_INCLUDE_DIR}/json/version.h)
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
492 file(STRINGS
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
493 "${JSONCPP_INCLUDE_DIR}/json/version.h"
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
494 JSONCPP_VERSION_MAJOR1 REGEX
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
495 ".*define JSONCPP_VERSION_MAJOR.*")
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
496
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
497 if (NOT JSONCPP_VERSION_MAJOR1)
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
498 message(FATAL_ERROR "Unable to extract the major version of JsonCpp")
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
499 endif()
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
500
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
501 string(REGEX REPLACE
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
502 ".*JSONCPP_VERSION_MAJOR.*([0-9]+)$" "\\1"
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
503 JSONCPP_VERSION_MAJOR ${JSONCPP_VERSION_MAJOR1})
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
504 message("JsonCpp major version: ${JSONCPP_VERSION_MAJOR}")
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
505
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
506 if (JSONCPP_VERSION_MAJOR GREATER 0)
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
507 message("Switching to C++11 standard, as version of JsonCpp is >= 1.0.0")
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
508 if (CMAKE_COMPILER_IS_GNUCXX)
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
509 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
510 elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
511 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
512 endif()
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
513 endif()
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
514 else()
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
515 message("Unable to detect the major version of JsonCpp, assuming < 1.0.0")
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
516 endif()
baf8e21e91cb improving DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4132
diff changeset
517
4042
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
518 # Look for mandatory dependency Boost (cf. BoostConfiguration.cmake)
4496
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
519 # NB: "locale" and "iostreams" are not required if using the shared library
4042
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
520 include(FindBoost)
4496
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
521 find_package(Boost COMPONENTS filesystem thread system date_time
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
522 iostreams locale regex ${ORTHANC_BOOST_COMPONENTS})
4037
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
523
4042
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
524 if (NOT Boost_FOUND)
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
525 message(FATAL_ERROR "Unable to locate Boost on this system")
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
526 endif()
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
527
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
528 include_directories(${Boost_INCLUDE_DIRS})
4496
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
529 list(APPEND ORTHANC_FRAMEWORK_LIBRARIES ${Boost_LIBRARIES})
4042
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
530
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
531 # Optional component - Lua
4531
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
532 if (ENABLE_LUA OR
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
533 NOT ORTHANC_FRAMEWORK_USE_SHARED)
4042
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
534 include(FindLua)
4037
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
535
4042
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
536 if (NOT LUA_FOUND)
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
537 message(FATAL_ERROR "Please install the liblua-dev package")
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
538 endif()
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
539
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
540 include_directories(${LUA_INCLUDE_DIR})
4496
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
541 list(APPEND ORTHANC_FRAMEWORK_LIBRARIES ${LUA_LIBRARIES})
4042
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
542 endif()
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
543
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
544 # Optional component - SQLite
4531
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
545 if (ENABLE_SQLITE OR
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
546 NOT ORTHANC_FRAMEWORK_USE_SHARED)
4042
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
547 CHECK_INCLUDE_FILE(sqlite3.h HAVE_SQLITE_H)
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
548 if (NOT HAVE_SQLITE_H)
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
549 message(FATAL_ERROR "Please install the libsqlite3-dev package")
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
550 endif()
4496
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
551 list(APPEND ORTHANC_FRAMEWORK_LIBRARIES sqlite3)
4042
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
552 endif()
4063
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
553
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
554 # Optional component - Pugixml
4531
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
555 if (ENABLE_PUGIXML OR
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
556 NOT ORTHANC_FRAMEWORK_USE_SHARED)
4063
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
557 CHECK_INCLUDE_FILE_CXX(pugixml.hpp HAVE_PUGIXML_H)
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
558 if (NOT HAVE_PUGIXML_H)
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
559 message(FATAL_ERROR "Please install the libpugixml-dev package")
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
560 endif()
4496
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
561 list(APPEND ORTHANC_FRAMEWORK_LIBRARIES pugixml)
4063
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
562 endif()
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
563
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
564 # Optional component - DCMTK
4531
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
565 if (ENABLE_DCMTK OR
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
566 NOT ORTHANC_FRAMEWORK_USE_SHARED)
4496
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
567 include(FindDCMTK NO_MODULE)
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
568 list(APPEND ORTHANC_FRAMEWORK_LIBRARIES ${DCMTK_LIBRARIES})
4063
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
569 include_directories(${DCMTK_INCLUDE_DIRS})
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4044
diff changeset
570 endif()
4369
39bc2fb4657b look for openssl in DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4353
diff changeset
571
39bc2fb4657b look for openssl in DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4353
diff changeset
572 # Optional component - OpenSSL
4531
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
573 if (ENABLE_SSL OR
d64e6f401a8a additional option in DownloadOrthancFramework: ORTHANC_FRAMEWORK_ADDITIONAL_LIBRARIES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4530
diff changeset
574 NOT ORTHANC_FRAMEWORK_USE_SHARED)
4369
39bc2fb4657b look for openssl in DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4353
diff changeset
575 include(FindOpenSSL)
39bc2fb4657b look for openssl in DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4353
diff changeset
576 if (NOT ${OPENSSL_FOUND})
39bc2fb4657b look for openssl in DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4353
diff changeset
577 message(FATAL_ERROR "Unable to find OpenSSL")
39bc2fb4657b look for openssl in DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4353
diff changeset
578 endif()
39bc2fb4657b look for openssl in DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4353
diff changeset
579 include_directories(${OPENSSL_INCLUDE_DIR})
4496
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
580 list(APPEND ORTHANC_FRAMEWORK_LIBRARIES ${OPENSSL_LIBRARIES})
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
581 endif()
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
582 endif()
9ea70ccf0c21 Possibility to generate a static library containing the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4491
diff changeset
583
4037
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
584 # Look for Orthanc framework shared library
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
585 include(CheckCXXSymbolExists)
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
586
4042
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
587 if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
588 set(ORTHANC_FRAMEWORK_INCLUDE_DIR ${ORTHANC_FRAMEWORK_ROOT})
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
589 else()
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
590 find_path(ORTHANC_FRAMEWORK_INCLUDE_DIR OrthancFramework.h
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
591 /usr/include/orthanc-framework
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
592 /usr/local/include/orthanc-framework
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
593 ${ORTHANC_FRAMEWORK_ROOT}
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
594 )
f5c86a00cae0 moving DownloadOrthancFramework.cmake to Resources/CMake/
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4037
diff changeset
595 endif()
4097
99e2054d1e8d fix unit tests for orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4071
diff changeset
596
99e2054d1e8d fix unit tests for orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4071
diff changeset
597 if (${ORTHANC_FRAMEWORK_INCLUDE_DIR} STREQUAL "ORTHANC_FRAMEWORK_INCLUDE_DIR-NOTFOUND")
99e2054d1e8d fix unit tests for orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4071
diff changeset
598 message(FATAL_ERROR "Cannot locate the OrthancFramework.h header")
99e2054d1e8d fix unit tests for orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4071
diff changeset
599 endif()
4037
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
600
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
601 message("Orthanc framework include dir: ${ORTHANC_FRAMEWORK_INCLUDE_DIR}")
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
602 include_directories(${ORTHANC_FRAMEWORK_INCLUDE_DIR})
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
603
4097
99e2054d1e8d fix unit tests for orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4071
diff changeset
604 set(CMAKE_REQUIRED_INCLUDES "${ORTHANC_FRAMEWORK_INCLUDE_DIR}")
99e2054d1e8d fix unit tests for orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4071
diff changeset
605 set(CMAKE_REQUIRED_LIBRARIES "${ORTHANC_FRAMEWORK_LIBRARIES}")
4037
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
606
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
607 check_cxx_symbol_exists("Orthanc::InitializeFramework" "OrthancFramework.h" HAVE_ORTHANC_FRAMEWORK)
4097
99e2054d1e8d fix unit tests for orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4071
diff changeset
608 if (NOT HAVE_ORTHANC_FRAMEWORK)
4037
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
609 message(FATAL_ERROR "Cannot find the Orthanc framework")
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
610 endif()
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
611
4108
29cb9e47681f fix cmake policy CMP0075
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4105
diff changeset
612 unset(CMAKE_REQUIRED_INCLUDES)
29cb9e47681f fix cmake policy CMP0075
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4105
diff changeset
613 unset(CMAKE_REQUIRED_LIBRARIES)
4037
5e26d004838c adding option "system" to DownloadOrthancFramework.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3983
diff changeset
614 endif()