Mercurial > hg > orthanc
view INSTALL @ 5186:8d19e53cf23e db-protobuf
compilation of protobuf compiler
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Sun, 26 Mar 2023 10:46:09 +0200 |
parents | 19a2f1d2b816 |
children |
line wrap: on
line source
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 recommend 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 "~/Orthanc/Build". 3) Depending on your platform, follow the build instructions below. WARNING 1: If you do not create a fresh "~/Orthanc/Build" 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 [...]\Orthanc\Build # cmake -DSTANDALONE_BUILD=ON -DSTATIC_BUILD=ON -DALLOW_DOWNLOADS=ON \ -DUSE_LEGACY_JSONCPP=ON -G "Visual Studio 9 2008" [...]\OrthancServer Then open the "[...]\Orthanc\Build\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 [...]\Orthanc\Build # cmake -G Ninja -DSTATIC_BUILD=ON [...]\OrthancServer # ninja Then, you can open an existing project in QtCreator: * Select the CMakeLists.txt in [...]\OrthancServer * Import build from [...]\Build Instructions to include support for Asian encodings: # cmake -G Ninja -T host=x64 -DSTATIC_BUILD=ON -DBOOST_LOCALE_BACKEND=icu [...]\OrthancServer The option "-T host=x64" is necessary to prevent error "C1060: compiler is out of heap space" when compiling Orthanc with ICU. Native 64-bit Windows build with Microsoft Visual Studio 2017 (msbuild) ----------------------------------------------------------------------- # cd [...]\Build # cmake -G "Visual Studio 15 2017 Win64" -DMSVC_MULTIPLE_PROCESSES=ON -DSTATIC_BUILD=ON -DOPENSSL_NO_CAPIENG=ON -DALLOW_DOWNLOADS=ON [...]\OrthancServer Instructions to include support for Asian encodings: # cmake -G "Visual Studio 15 2017 Win64" -T host=x64 -DSTATIC_BUILD=ON -DBOOST_LOCALE_BACKEND=icu -DMSVC_MULTIPLE_PROCESSES=ON -DSTATIC_BUILD=ON -DOPENSSL_NO_CAPIENG=ON -DALLOW_DOWNLOADS=ON [...]\OrthancServer Native 64-bit Windows build with Microsoft Visual Studio 2019 (msbuild) ----------------------------------------------------------------------- # cd [...]\Build # cmake -G "Visual Studio 16 2019" -A x64 -DMSVC_MULTIPLE_PROCESSES=ON -DSTATIC_BUILD=ON -DOPENSSL_NO_CAPIENG=ON -DALLOW_DOWNLOADS=ON [...]\OrthancServer Instructions to include support for Asian encodings: # cmake -G "Visual Studio 16 2019" -A x64 -T host=x64 -DSTATIC_BUILD=ON -DBOOST_LOCALE_BACKEND=icu -DMSVC_MULTIPLE_PROCESSES=ON -DSTATIC_BUILD=ON -DOPENSSL_NO_CAPIENG=ON -DALLOW_DOWNLOADS=ON [...]\OrthancServer 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 ~/Orthanc/Build # cmake ../OrthancServer \ -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 ~/Orthanc/Build # cmake ../OrthancServer \ -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