Mercurial > hg > orthanc
annotate INSTALL @ 3103:81b58b549845
back to using 'var' instead of 'let' since let is not supported by many old browsers. All variables declaration have been moved to the top of the function to better show that their scope is the function
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Thu, 10 Jan 2019 10:51:36 +0100 |
parents | 8b6b0b6ece6b |
children | c6dab987f43a |
rev | line source |
---|---|
57 | 1 Orthanc - A Lightweight, RESTful DICOM Server |
2 ============================================= | |
2 | 3 |
4 | |
5 Dependencies | |
6 ------------ | |
7 | |
57 | 8 1) CMake: Orthanc uses CMake (http://www.cmake.org/) to automate its |
9 building process. | |
7 | 10 |
11 2) Python: Some code is autogenerated through Python | |
12 (http://www.python.org/). | |
2 | 13 |
7 | 14 3) Mercurial: To use the cutting edge code, a Mercurial client must be |
15 installed (http://mercurial.selenic.com/). We recommand TortoiseHg. | |
16 | |
17 W) 7-Zip: For the native build under Windows, the 7-Zip tool is used | |
18 to uncompress the third-party packages (http://www.7-zip.org/). | |
19 | |
20 You thus have to download and install CMake, Python, Mercurial and | |
21 possibly 7-Zip first. The path to their executable must be in the | |
22 "PATH" environment variable. | |
2 | 23 |
24 The other third party dependencies are automatically downloaded by the | |
25 CMake scripts. The downloaded packages are stored in the | |
26 "ThirdPartyDownloads" directory. | |
27 | |
28 | |
57 | 29 Building Orthanc at a glance |
30 ---------------------------- | |
2 | 31 |
57 | 32 To build Orthanc, you must: |
2 | 33 |
34 1) Download the source code (either using Mercurial, or through the | |
1451 | 35 official releases). For the examples below, we assume the source |
57 | 36 directory is "~/Orthanc". |
2 | 37 |
38 2) Create a build directory. For the examples below, we assume the | |
57 | 39 build directory is "~/OrthancBuild". |
2 | 40 |
1451 | 41 3) Depending on your platform, follow the build instructions below. |
42 | |
43 | |
1502
5e9c40419fb9
Upgrade to JsonCpp 0.10.5 for static and Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1451
diff
changeset
|
44 WARNING 1: If you do not create a fresh "~/OrthancBuild" directory |
5e9c40419fb9
Upgrade to JsonCpp 0.10.5 for static and Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1451
diff
changeset
|
45 after upgrading the source code (i.e. if you reuse the build directory |
5e9c40419fb9
Upgrade to JsonCpp 0.10.5 for static and Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1451
diff
changeset
|
46 that was used to build a different version of Orthanc), the build |
5e9c40419fb9
Upgrade to JsonCpp 0.10.5 for static and Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1451
diff
changeset
|
47 might fail because of changes in the compilation/linking flags. Always |
1451 | 48 prefer to force a re-build in a new directory. |
49 | |
1502
5e9c40419fb9
Upgrade to JsonCpp 0.10.5 for static and Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1451
diff
changeset
|
50 WARNING 2: If cmake complains about not being able to uncompress |
5e9c40419fb9
Upgrade to JsonCpp 0.10.5 for static and Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1451
diff
changeset
|
51 third-party dependencies, delete the "~/Orthanc/ThirdPartyDownloads/" |
5e9c40419fb9
Upgrade to JsonCpp 0.10.5 for static and Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1451
diff
changeset
|
52 folder, then restart cmake. |
2 | 53 |
2086 | 54 WARNING 3: If performance is important to you, make sure to add the |
55 option "-DCMAKE_BUILD_TYPE=Release" when invoking cmake. Indeed, by | |
56 default, run-time debug assertions are enabled, which can seriously | |
57 impact performance, especially if your Orthanc server stores a lot of | |
58 DICOM instances. | |
2 | 59 |
2086 | 60 |
61 Native GNU/Linux Compilation | |
62 ---------------------------- | |
2 | 63 |
634 | 64 See the file "LinuxCompilation.txt". |
2 | 65 |
287
471df5fecb1e
simplification to cmake for dcmtk
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
74
diff
changeset
|
66 |
936
9c7f5fd8a7a2
build instructions for Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
870
diff
changeset
|
67 Native OS X Compilation |
9c7f5fd8a7a2
build instructions for Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
870
diff
changeset
|
68 ----------------------- |
9c7f5fd8a7a2
build instructions for Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
870
diff
changeset
|
69 |
9c7f5fd8a7a2
build instructions for Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
870
diff
changeset
|
70 See the file "DarwinCompilation.txt". |
9c7f5fd8a7a2
build instructions for Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
870
diff
changeset
|
71 |
9c7f5fd8a7a2
build instructions for Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
870
diff
changeset
|
72 |
9c7f5fd8a7a2
build instructions for Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
870
diff
changeset
|
73 |
1117
3b27b83d7247
ALLOW_DOWNLOADS for Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1046
diff
changeset
|
74 Native Windows build with Microsoft Visual Studio |
3b27b83d7247
ALLOW_DOWNLOADS for Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1046
diff
changeset
|
75 ------------------------------------------------- |
385 | 76 |
77 # cd [...]\OrthancBuild | |
2505 | 78 # cmake -DSTANDALONE_BUILD=ON -DSTATIC_BUILD=ON -DALLOW_DOWNLOADS=ON -DUSE_LEGACY_JSONCPP=ON -G "Visual Studio 9 2008" [...]\Orthanc |
385 | 79 |
80 Then open the "[...]/OrthancBuild/Orthanc.sln" with Visual Studio. | |
81 | |
82 NOTES: | |
2497
0611aa383e62
Upgrade to JsonCpp 1.8.4, and USE_LEGACY_JSONCPP option
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2086
diff
changeset
|
83 * More recent versions of Visual Studio than 2008 should also |
1117
3b27b83d7247
ALLOW_DOWNLOADS for Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1046
diff
changeset
|
84 work. Type "cmake" without arguments to have the list of generators |
3b27b83d7247
ALLOW_DOWNLOADS for Windows builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1046
diff
changeset
|
85 that are available on your computer. |
385 | 86 * You will have to install the Platform SDK (version 6 or above) for |
87 Visual Studio 2005: | |
88 http://en.wikipedia.org/wiki/Microsoft_Windows_SDK. | |
89 Read the CMake FAQ: http://goo.gl/By90B | |
2497
0611aa383e62
Upgrade to JsonCpp 1.8.4, and USE_LEGACY_JSONCPP option
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2086
diff
changeset
|
90 * The "-DUSE_LEGACY_JSONCPP=ON" must be set for versions of |
0611aa383e62
Upgrade to JsonCpp 1.8.4, and USE_LEGACY_JSONCPP option
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2086
diff
changeset
|
91 Visual Studio that do not support C++11 |
385 | 92 |
93 | |
94 | |
2086 | 95 Cross-Compilation for Windows under GNU/Linux |
96 --------------------------------------------- | |
2 | 97 |
2547
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
98 Some versions of MinGW-W64 might have problems with C++11 (notably |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
99 those shipped in Ubuntu 16.04 LTS, in the "mingw-w64" package). Use |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
100 the following command to disable C++11: |
2 | 101 |
57 | 102 # cd ~/OrthancBuild |
2547
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
103 # cmake ~/Orthanc \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
104 -DCMAKE_BUILD_TYPE=Debug \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
105 -DCMAKE_TOOLCHAIN_FILE=~/Orthanc/Resources/MinGW-W64-Toolchain32.cmake \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
106 -DSTANDALONE_BUILD=ON \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
107 -DSTATIC_BUILD=ON \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
108 -DUSE_LEGACY_JSONCPP=ON |
2 | 109 # make |
110 | |
2547
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
111 NB: Use the toolchain "MinGW-W64-Toolchain64.cmake" to produce 64bit |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
112 Windows binaries. |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
113 |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
114 |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
115 |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
116 Legacy MinGW32 compilers (notably those shipped in Ubuntu 14.04 LTS, |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
117 in the "mingw32" package) are incompatible with DCMTK 3.6.2 and |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
118 C++11. Use the following command to force using DCMTK 3.6.0 and |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
119 disable C++11: |
2 | 120 |
2547
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
121 # cd ~/OrthancBuild |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
122 # cmake ~/Orthanc \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
123 -DCMAKE_BUILD_TYPE=Debug \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
124 -DCMAKE_TOOLCHAIN_FILE=~/Orthanc/Resources/MinGWToolchain.cmake \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
125 -DSTANDALONE_BUILD=ON \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
126 -DSTATIC_BUILD=ON \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
127 -DUSE_DCMTK_360=ON \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
128 -DUSE_LEGACY_JSONCPP=ON |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
129 # make |