1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162
|
Orthanc - A Lightweight, RESTful DICOM Server
=============================================
Dependencies
------------
1) CMake: Orthanc uses CMake (http://www.cmake.org/) to automate its
building process.
2) Python: Some code is autogenerated through Python
(http://www.python.org/).
3) Mercurial: To use the cutting edge code, a Mercurial client must be
installed (http://mercurial.selenic.com/). We recommand TortoiseHg.
W) 7-Zip: For the native build under Windows, the 7-Zip tool is used
to uncompress the third-party packages (http://www.7-zip.org/).
You thus have to download and install CMake, Python, Mercurial and
possibly 7-Zip first. The path to their executable must be in the
"PATH" environment variable.
The other third party dependencies are automatically downloaded by the
CMake scripts. The downloaded packages are stored in the
"ThirdPartyDownloads" directory.
Building Orthanc at a glance
----------------------------
To build Orthanc, you must:
1) Download the source code (either using Mercurial, or through the
official releases). For the examples below, we assume the source
directory is "~/Orthanc".
2) Create a build directory. For the examples below, we assume the
build directory is "~/OrthancBuild".
3) Depending on your platform, follow the build instructions below.
WARNING 1: If you do not create a fresh "~/OrthancBuild" directory
after upgrading the source code (i.e. if you reuse the build directory
that was used to build a different version of Orthanc), the build
might fail because of changes in the compilation/linking flags. Always
prefer to force a re-build in a new directory.
WARNING 2: If cmake complains about not being able to uncompress
third-party dependencies, delete the "~/Orthanc/ThirdPartyDownloads/"
folder, then restart cmake.
WARNING 3: If performance is important to you, make sure to add the
option "-DCMAKE_BUILD_TYPE=Release" when invoking cmake. Indeed, by
default, run-time debug assertions are enabled, which can seriously
impact performance, especially if your Orthanc server stores a lot of
DICOM instances.
Native GNU/Linux Compilation
----------------------------
See the file "LinuxCompilation.txt".
Native OS X Compilation
-----------------------
See the file "DarwinCompilation.txt".
Native Windows build with Microsoft Visual Studio 2008
------------------------------------------------------
# cd [...]\OrthancBuild
# cmake -DSTANDALONE_BUILD=ON -DSTATIC_BUILD=ON -DALLOW_DOWNLOADS=ON \
-DUSE_LEGACY_JSONCPP=ON -G "Visual Studio 9 2008" [...]\Orthanc
Then open the "[...]/OrthancBuild/Orthanc.sln" with Visual Studio.
NOTES:
* More recent versions of Visual Studio than 2008 should also
work. Type "cmake" without arguments to have the list of generators
that are available on your computer.
* You will have to install the Platform SDK (version 6 or above) for
Visual Studio 2005:
http://en.wikipedia.org/wiki/Microsoft_Windows_SDK.
Read the CMake FAQ: http://goo.gl/By90B
* The "-DUSE_LEGACY_JSONCPP=ON" must be set for versions of
Visual Studio that do not support C++11
Orthanc as compiled above will not work properly with some Asian
encodings (unit tests will fail). In international setups, you can
compile Orthanc together with ICU as follows:
# cmake -DSTANDALONE_BUILD=ON -DSTATIC_BUILD=ON -DALLOW_DOWNLOADS=ON \
-DBOOST_LOCALE_BACKEND=icu -DUSE_LEGACY_JSONCPP=ON -DUSE_LEGACY_LIBICU=ON \
-G "Visual Studio 9 2008" [...]\Orthanc
Native Windows build with Microsoft Visual Studio 2015, Ninja and QtCreator
---------------------------------------------------------------------------
Open a Visual Studio 2015 x64 Command Prompt.
# cd [...]\OrthancBuild
# cmake -G Ninja -DSTATIC_BUILD=ON [...]\Orthanc
# ninja
Then, you can open an existing project in QtCreator:
* Select the CMakeLists.txt in [...]\Orthanc
* Import build from [...]\OrthancBuild
Instructions to include support for Asian encodings:
# cmake -G Ninja -T host=x64 -DSTATIC_BUILD=ON -DBOOST_LOCALE_BACKEND=icu [...]\Orthanc
The option "-T host=x64" is necessary to prevent error "C1060:
compiler is out of heap space" when compiling Orthanc with ICU.
Cross-Compilation for Windows under GNU/Linux
---------------------------------------------
Some versions of MinGW-W64 might have problems with C++11 (notably
those shipped in Ubuntu 16.04 LTS, in the "mingw-w64" package). Use
the following command to disable C++11:
# cd ~/OrthancBuild
# cmake ~/Orthanc \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_TOOLCHAIN_FILE=~/Orthanc/Resources/MinGW-W64-Toolchain32.cmake \
-DSTANDALONE_BUILD=ON \
-DSTATIC_BUILD=ON \
-DUSE_LEGACY_JSONCPP=ON
# make
NB: Use the toolchain "MinGW-W64-Toolchain64.cmake" to produce 64bit
Windows binaries.
Legacy MinGW32 compilers (notably those shipped in Ubuntu 14.04 LTS,
in the "mingw32" package) are incompatible with DCMTK 3.6.2 and
C++11. Use the following command to force using DCMTK 3.6.0 and
disable C++11:
# cd ~/OrthancBuild
# cmake ~/Orthanc \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_TOOLCHAIN_FILE=~/Orthanc/Resources/MinGWToolchain.cmake \
-DSTANDALONE_BUILD=ON \
-DSTATIC_BUILD=ON \
-DDCMTK_STATIC_VERSION=3.6.0 \
-DUSE_LEGACY_JSONCPP=ON
# make
|