Mercurial > hg > orthanc
annotate INSTALL @ 3200:1f4a2c58e7fa
set encoding to UTF-8, IBinaryFormatter
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 06 Feb 2019 13:51:20 +0100 |
parents | c6dab987f43a |
children | 6f35279215c4 |
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 | |
3185
c6dab987f43a
changed VS precompiled headers to support Ninja + instructions to use Ninja & QtCreator on Windows
Alain Mazy <alain@mazy.be>
parents:
2547
diff
changeset
|
94 Native Windows build with Microsoft Visual Studio 2015, Ninja and QtCreator |
c6dab987f43a
changed VS precompiled headers to support Ninja + instructions to use Ninja & QtCreator on Windows
Alain Mazy <alain@mazy.be>
parents:
2547
diff
changeset
|
95 --------------------------------------------------------------------------- |
c6dab987f43a
changed VS precompiled headers to support Ninja + instructions to use Ninja & QtCreator on Windows
Alain Mazy <alain@mazy.be>
parents:
2547
diff
changeset
|
96 |
c6dab987f43a
changed VS precompiled headers to support Ninja + instructions to use Ninja & QtCreator on Windows
Alain Mazy <alain@mazy.be>
parents:
2547
diff
changeset
|
97 Open a Visual Studio 2015 x64 Command Prompt. |
c6dab987f43a
changed VS precompiled headers to support Ninja + instructions to use Ninja & QtCreator on Windows
Alain Mazy <alain@mazy.be>
parents:
2547
diff
changeset
|
98 |
c6dab987f43a
changed VS precompiled headers to support Ninja + instructions to use Ninja & QtCreator on Windows
Alain Mazy <alain@mazy.be>
parents:
2547
diff
changeset
|
99 # cd [...]\OrthancBuild |
c6dab987f43a
changed VS precompiled headers to support Ninja + instructions to use Ninja & QtCreator on Windows
Alain Mazy <alain@mazy.be>
parents:
2547
diff
changeset
|
100 # cmake -G Ninja -DSTATIC_BUILD=ON [...]\Orthanc |
c6dab987f43a
changed VS precompiled headers to support Ninja + instructions to use Ninja & QtCreator on Windows
Alain Mazy <alain@mazy.be>
parents:
2547
diff
changeset
|
101 # ninja |
c6dab987f43a
changed VS precompiled headers to support Ninja + instructions to use Ninja & QtCreator on Windows
Alain Mazy <alain@mazy.be>
parents:
2547
diff
changeset
|
102 |
c6dab987f43a
changed VS precompiled headers to support Ninja + instructions to use Ninja & QtCreator on Windows
Alain Mazy <alain@mazy.be>
parents:
2547
diff
changeset
|
103 Then, you can open an existing project in QtCreator: |
c6dab987f43a
changed VS precompiled headers to support Ninja + instructions to use Ninja & QtCreator on Windows
Alain Mazy <alain@mazy.be>
parents:
2547
diff
changeset
|
104 * Select the CMakeLists.txt in [...]\Orthanc |
c6dab987f43a
changed VS precompiled headers to support Ninja + instructions to use Ninja & QtCreator on Windows
Alain Mazy <alain@mazy.be>
parents:
2547
diff
changeset
|
105 * Import build from [...]\OrthancBuild |
c6dab987f43a
changed VS precompiled headers to support Ninja + instructions to use Ninja & QtCreator on Windows
Alain Mazy <alain@mazy.be>
parents:
2547
diff
changeset
|
106 |
c6dab987f43a
changed VS precompiled headers to support Ninja + instructions to use Ninja & QtCreator on Windows
Alain Mazy <alain@mazy.be>
parents:
2547
diff
changeset
|
107 |
385 | 108 |
2086 | 109 Cross-Compilation for Windows under GNU/Linux |
110 --------------------------------------------- | |
2 | 111 |
2547
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
112 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
|
113 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
|
114 the following command to disable C++11: |
2 | 115 |
57 | 116 # cd ~/OrthancBuild |
2547
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
117 # cmake ~/Orthanc \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
118 -DCMAKE_BUILD_TYPE=Debug \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
119 -DCMAKE_TOOLCHAIN_FILE=~/Orthanc/Resources/MinGW-W64-Toolchain32.cmake \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
120 -DSTANDALONE_BUILD=ON \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
121 -DSTATIC_BUILD=ON \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
122 -DUSE_LEGACY_JSONCPP=ON |
2 | 123 # make |
124 | |
2547
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
125 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
|
126 Windows binaries. |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
127 |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
128 |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
129 |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
130 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
|
131 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
|
132 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
|
133 disable C++11: |
2 | 134 |
2547
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
135 # cd ~/OrthancBuild |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
136 # cmake ~/Orthanc \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
137 -DCMAKE_BUILD_TYPE=Debug \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
138 -DCMAKE_TOOLCHAIN_FILE=~/Orthanc/Resources/MinGWToolchain.cmake \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
139 -DSTANDALONE_BUILD=ON \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
140 -DSTATIC_BUILD=ON \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
141 -DUSE_DCMTK_360=ON \ |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
142 -DUSE_LEGACY_JSONCPP=ON |
8b6b0b6ece6b
MinGW, ORTHANC_FRAMEWORK_URL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2546
diff
changeset
|
143 # make |