annotate LinuxCompilation.txt @ 1219:c4ae92753d57

note about doxygen
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 07 Nov 2014 15:52:53 +0100
parents 6502517fd4af
children afaa55d42ddd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
634
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
1 This file is a complement to "INSTALL", which contains instructions
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
2 that are specific to Linux.
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
3
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
4
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
5 Static linking for Linux
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
6 ========================
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
7
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
8 The most simple way of building Orthanc under Linux consists in
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
9 statically linking against all the third-party dependencies. In this
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
10 case, the system-wide libraries will not be used. The build tool
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
11 (CMake) will download the sources of all the required packages and
1208
6502517fd4af improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1150
diff changeset
12 automatically compile them.
634
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
13
1208
6502517fd4af improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1150
diff changeset
14 This process should work on any Linux distribution, provided that a
6502517fd4af improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1150
diff changeset
15 C/C++ compiler ("build-essential" in Debian-based systems), the Python
6502517fd4af improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1150
diff changeset
16 interpreter, CMake, the "unzip" system tool, and the development
6502517fd4af improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1150
diff changeset
17 package for libuuid ("uuid-dev" in Debian) are installed.
936
9c7f5fd8a7a2 build instructions for Mac OS X
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 875
diff changeset
18
634
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
19
1208
6502517fd4af improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1150
diff changeset
20 We now make the assumption that Orthanc source code is placed in the
6502517fd4af improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1150
diff changeset
21 folder "~/Orthanc" and that the binaries will be compiled to
6502517fd4af improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1150
diff changeset
22 "~/OrthancBuild". To build binaries with debug information:
634
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
23
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
24 # cd ~/OrthancBuild
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
25 # cmake -DSTATIC_BUILD=ON -DCMAKE_BUILD_TYPE=Debug ~/Orthanc
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
26 # make
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
27 # make doc
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
28
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
29
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
30 To build a release version:
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
31
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
32 # cd ~/OrthancBuild
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
33 # cmake -DSTATIC_BUILD=ON -DCMAKE_BUILD_TYPE=Release ~/Orthanc
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
34 # make
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
35 # make doc
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
36
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
37
1208
6502517fd4af improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1150
diff changeset
38 Note 1- When the "STATIC_BUILD" option is set to "ON", the build tool
634
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
39 will not ask you the permission to download packages from the
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
40 Internet.
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
41
1208
6502517fd4af improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1150
diff changeset
42 Note 2- If the development package of libuuid was not installed when
6502517fd4af improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1150
diff changeset
43 first invoking cmake, you will have to manually remove the build
6502517fd4af improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1150
diff changeset
44 directory ("rm -rf ~/OrthancBuild") after installing this package,
6502517fd4af improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1150
diff changeset
45 then run cmake again.
6502517fd4af improved doc thanks to Vincent Kersten
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1150
diff changeset
46
1219
c4ae92753d57 note about doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1208
diff changeset
47 Note 3- To build the documentation, you will have to install doxyen.
c4ae92753d57 note about doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1208
diff changeset
48
634
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
49
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
50 Use system-wide libraries under Linux
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
51 =====================================
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
52
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
53 Under Linux, by default, Orthanc links against the shared libraries of
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
54 your system (the "STATIC_BUILD" option is set to "OFF"). This greatly
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
55 speeds up the compilation. This is also required when building
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
56 packages for Linux distributions. Because using system libraries is
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
57 the default behavior, you just have to use:
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
58
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
59 # cd ~/OrthancBuild
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
60 # cmake -DCMAKE_BUILD_TYPE=Debug ~/Orthanc
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
61 # make
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
62
1219
c4ae92753d57 note about doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1208
diff changeset
63 Note that to build the documentation, you will have to install doxyen.
634
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
64
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
65 However, on some Linux distributions, it is still required to download
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
66 and static link against some third-party dependencies, e.g. when the
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
67 system-wide library is not shipped or is outdated. Because of
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
68 difference in the packaging of the various Linux distribution, it is
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
69 also sometimes required to fine-tune some options.
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
70
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
71 You will find below build instructions for specific Linux
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
72 distributions. Distributions tagged by "SUPPORTED" are tested by
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
73 Sébastien Jodogne. Distributions tagged by "CONTRIBUTED" come from
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
74 Orthanc users.
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
75
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
76
677
27acbc5985f5 notes for wheezy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 651
diff changeset
77 SUPPORTED - Debian Squeeze (6.x)
634
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
78 --------------------------------
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
79
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
80 # sudo apt-get install build-essential unzip cmake mercurial \
635
cd3b60f6e7d4 refactoring cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 634
diff changeset
81 uuid-dev libcurl4-openssl-dev liblua5.1-0-dev \
640
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 638
diff changeset
82 libgoogle-glog-dev libpng-dev libgtest-dev \
635
cd3b60f6e7d4 refactoring cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 634
diff changeset
83 libsqlite3-dev libssl-dev zlib1g-dev
634
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
84
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
85 # cmake -DALLOW_DOWNLOADS=ON \
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
86 -DUSE_SYSTEM_BOOST=OFF \
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
87 -DUSE_SYSTEM_DCMTK=OFF \
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
88 -DUSE_SYSTEM_MONGOOSE=OFF \
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
89 -DUSE_SYSTEM_JSONCPP=OFF \
1046
00f9f36bcd94 on-the-fly conversion of JSON to XML according to HTTP Accept
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 936
diff changeset
90 -DUSE_SYSTEM_PUGIXML=OFF \
875
d21031a7a6e4 build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 854
diff changeset
91 -DENABLE_JPEG=OFF \
d21031a7a6e4 build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 854
diff changeset
92 -DENABLE_JPEG_LOSSLESS=OFF \
634
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
93 ~/Orthanc
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
94
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
95
677
27acbc5985f5 notes for wheezy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 651
diff changeset
96 SUPPORTED - Debian Wheezy (7.x)
27acbc5985f5 notes for wheezy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 651
diff changeset
97 -------------------------------
27acbc5985f5 notes for wheezy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 651
diff changeset
98
27acbc5985f5 notes for wheezy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 651
diff changeset
99 # sudo apt-get install build-essential unzip cmake mercurial \
27acbc5985f5 notes for wheezy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 651
diff changeset
100 uuid-dev libcurl4-openssl-dev liblua5.1-0-dev \
27acbc5985f5 notes for wheezy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 651
diff changeset
101 libgtest-dev libpng-dev libsqlite3-dev \
27acbc5985f5 notes for wheezy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 651
diff changeset
102 libssl-dev zlib1g-dev libdcmtk2-dev \
678
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 677
diff changeset
103 libboost-all-dev libwrap0-dev libjsoncpp-dev
677
27acbc5985f5 notes for wheezy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 651
diff changeset
104
27acbc5985f5 notes for wheezy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 651
diff changeset
105 # cmake -DALLOW_DOWNLOADS=ON \
27acbc5985f5 notes for wheezy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 651
diff changeset
106 -DUSE_SYSTEM_GOOGLE_LOG=OFF \
27acbc5985f5 notes for wheezy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 651
diff changeset
107 -DUSE_SYSTEM_MONGOOSE=OFF \
27acbc5985f5 notes for wheezy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 651
diff changeset
108 -DUSE_GTEST_DEBIAN_SOURCE_PACKAGE=ON \
1046
00f9f36bcd94 on-the-fly conversion of JSON to XML according to HTTP Accept
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 936
diff changeset
109 -DUSE_SYSTEM_PUGIXML=OFF \
875
d21031a7a6e4 build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 854
diff changeset
110 -DENABLE_JPEG=OFF \
d21031a7a6e4 build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 854
diff changeset
111 -DENABLE_JPEG_LOSSLESS=OFF \
677
27acbc5985f5 notes for wheezy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 651
diff changeset
112 ~/Orthanc
27acbc5985f5 notes for wheezy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 651
diff changeset
113
27acbc5985f5 notes for wheezy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 651
diff changeset
114
636
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
115 SUPPORTED - Debian Jessie/Sid
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
116 -----------------------------
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
117
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
118 # sudo apt-get install build-essential unzip cmake mercurial \
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
119 uuid-dev libcurl4-openssl-dev liblua5.1-0-dev \
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
120 libgoogle-glog-dev libgtest-dev libpng-dev \
678
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 677
diff changeset
121 libsqlite3-dev libssl-dev zlib1g-dev libdcmtk2-dev \
1077
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1046
diff changeset
122 libboost-all-dev libwrap0-dev libjsoncpp-dev libpugixml-dev
636
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
123
651
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 645
diff changeset
124 # cmake -DALLOW_DOWNLOADS=ON \
636
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
125 -DUSE_SYSTEM_MONGOOSE=OFF \
638
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 636
diff changeset
126 -DUSE_GTEST_DEBIAN_SOURCE_PACKAGE=ON \
1078
5d35f9e16fd1 compilation notes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1077
diff changeset
127 -DDCMTK_LIBRARIES=dcmjpls \
636
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
128 ~/Orthanc
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
129
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
130 Note: Have also a look at the official package:
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
131 http://anonscm.debian.org/viewvc/debian-med/trunk/packages/orthanc/trunk/debian/
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
132
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
133
645
75af92b18e23 build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 640
diff changeset
134 SUPPORTED - Ubuntu 12.04 LTS
75af92b18e23 build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 640
diff changeset
135 ----------------------------
75af92b18e23 build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 640
diff changeset
136
75af92b18e23 build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 640
diff changeset
137 # sudo apt-get install build-essential unzip cmake mercurial \
75af92b18e23 build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 640
diff changeset
138 uuid-dev libcurl4-openssl-dev liblua5.1-0-dev \
75af92b18e23 build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 640
diff changeset
139 libgtest-dev libpng-dev libsqlite3-dev libssl-dev \
75af92b18e23 build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 640
diff changeset
140 zlib1g-dev libdcmtk2-dev libboost-all-dev libwrap0-dev
75af92b18e23 build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 640
diff changeset
141
75af92b18e23 build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 640
diff changeset
142 # cmake "-DDCMTK_LIBRARIES=wrap;oflog" \
75af92b18e23 build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 640
diff changeset
143 -DALLOW_DOWNLOADS=ON \
75af92b18e23 build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 640
diff changeset
144 -DUSE_SYSTEM_MONGOOSE=OFF \
75af92b18e23 build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 640
diff changeset
145 -DUSE_SYSTEM_JSONCPP=OFF \
75af92b18e23 build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 640
diff changeset
146 -DUSE_SYSTEM_GOOGLE_LOG=OFF \
1046
00f9f36bcd94 on-the-fly conversion of JSON to XML according to HTTP Accept
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 936
diff changeset
147 -DUSE_SYSTEM_PUGIXML=OFF \
645
75af92b18e23 build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 640
diff changeset
148 -DUSE_GTEST_DEBIAN_SOURCE_PACKAGE=ON \
75af92b18e23 build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 640
diff changeset
149 ~/Orthanc
75af92b18e23 build notes for ubuntu 12.04 lts
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 640
diff changeset
150
636
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
151
635
cd3b60f6e7d4 refactoring cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 634
diff changeset
152 SUPPORTED - Ubuntu 12.10
cd3b60f6e7d4 refactoring cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 634
diff changeset
153 ------------------------
cd3b60f6e7d4 refactoring cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 634
diff changeset
154
cd3b60f6e7d4 refactoring cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 634
diff changeset
155 # sudo apt-get install build-essential unzip cmake mercurial \
cd3b60f6e7d4 refactoring cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 634
diff changeset
156 uuid-dev libcurl4-openssl-dev liblua5.1-0-dev \
cd3b60f6e7d4 refactoring cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 634
diff changeset
157 libgoogle-glog-dev libgtest-dev libpng-dev \
cd3b60f6e7d4 refactoring cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 634
diff changeset
158 libsqlite3-dev libssl-dev zlib1g-dev \
842
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 840
diff changeset
159 libdcmtk2-dev libboost-all-dev libwrap0-dev libcharls-dev
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 840
diff changeset
160
854
ff530685e46a fast version of image copy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 842
diff changeset
161 With JPEG:
635
cd3b60f6e7d4 refactoring cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 634
diff changeset
162
842
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 840
diff changeset
163 # cmake "-DDCMTK_LIBRARIES=CharLS;dcmjpls;wrap;oflog" \
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 840
diff changeset
164 -DALLOW_DOWNLOADS=ON \
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 840
diff changeset
165 -DUSE_SYSTEM_MONGOOSE=OFF \
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 840
diff changeset
166 -DUSE_SYSTEM_JSONCPP=OFF \
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 840
diff changeset
167 -DUSE_GTEST_DEBIAN_SOURCE_PACKAGE=ON \
1046
00f9f36bcd94 on-the-fly conversion of JSON to XML according to HTTP Accept
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 936
diff changeset
168 -DUSE_SYSTEM_PUGIXML=OFF \
842
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 840
diff changeset
169 ~/Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 840
diff changeset
170
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 840
diff changeset
171
854
ff530685e46a fast version of image copy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 842
diff changeset
172 Without JPEG:
842
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 840
diff changeset
173
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 840
diff changeset
174 # cmake "-DDCMTK_LIBRARIES=wrap;oflog" \
635
cd3b60f6e7d4 refactoring cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 634
diff changeset
175 -DALLOW_DOWNLOADS=ON \
cd3b60f6e7d4 refactoring cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 634
diff changeset
176 -DUSE_SYSTEM_MONGOOSE=OFF \
cd3b60f6e7d4 refactoring cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 634
diff changeset
177 -DUSE_SYSTEM_JSONCPP=OFF \
638
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 636
diff changeset
178 -DUSE_GTEST_DEBIAN_SOURCE_PACKAGE=ON \
1046
00f9f36bcd94 on-the-fly conversion of JSON to XML according to HTTP Accept
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 936
diff changeset
179 -DUSE_SYSTEM_PUGIXML=OFF \
854
ff530685e46a fast version of image copy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 842
diff changeset
180 -DENABLE_JPEG=OFF \
ff530685e46a fast version of image copy
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 842
diff changeset
181 -DENABLE_JPEG_LOSSLESS=OFF \
635
cd3b60f6e7d4 refactoring cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 634
diff changeset
182 ~/Orthanc
cd3b60f6e7d4 refactoring cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 634
diff changeset
183
cd3b60f6e7d4 refactoring cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 634
diff changeset
184
700
0fe6632864b9 ubuntu 13.10
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 678
diff changeset
185 SUPPORTED - Ubuntu 13.10
0fe6632864b9 ubuntu 13.10
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 678
diff changeset
186 ------------------------
0fe6632864b9 ubuntu 13.10
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 678
diff changeset
187
0fe6632864b9 ubuntu 13.10
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 678
diff changeset
188 # sudo apt-get install build-essential unzip cmake mercurial \
0fe6632864b9 ubuntu 13.10
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 678
diff changeset
189 uuid-dev libcurl4-openssl-dev liblua5.1-0-dev \
0fe6632864b9 ubuntu 13.10
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 678
diff changeset
190 libgoogle-glog-dev libgtest-dev libpng-dev \
0fe6632864b9 ubuntu 13.10
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 678
diff changeset
191 libsqlite3-dev libssl-dev zlib1g-dev \
0fe6632864b9 ubuntu 13.10
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 678
diff changeset
192 libdcmtk2-dev libboost-all-dev libwrap0-dev libjsoncpp-dev
0fe6632864b9 ubuntu 13.10
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 678
diff changeset
193
0fe6632864b9 ubuntu 13.10
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 678
diff changeset
194 # cmake "-DDCMTK_LIBRARIES=wrap;oflog" \
0fe6632864b9 ubuntu 13.10
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 678
diff changeset
195 -DALLOW_DOWNLOADS=ON \
0fe6632864b9 ubuntu 13.10
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 678
diff changeset
196 -DUSE_SYSTEM_MONGOOSE=OFF \
0fe6632864b9 ubuntu 13.10
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 678
diff changeset
197 -DUSE_GTEST_DEBIAN_SOURCE_PACKAGE=ON \
1046
00f9f36bcd94 on-the-fly conversion of JSON to XML according to HTTP Accept
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 936
diff changeset
198 -DUSE_SYSTEM_PUGIXML=OFF \
875
d21031a7a6e4 build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 854
diff changeset
199 -DENABLE_JPEG=OFF \
d21031a7a6e4 build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 854
diff changeset
200 -DENABLE_JPEG_LOSSLESS=OFF \
700
0fe6632864b9 ubuntu 13.10
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 678
diff changeset
201 ~/Orthanc
0fe6632864b9 ubuntu 13.10
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 678
diff changeset
202
0fe6632864b9 ubuntu 13.10
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 678
diff changeset
203
634
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
204
1078
5d35f9e16fd1 compilation notes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1077
diff changeset
205 SUPPORTED - Fedora 19/20
5d35f9e16fd1 compilation notes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1077
diff changeset
206 ------------------------
636
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
207
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
208 # sudo yum install make automake gcc gcc-c++ python cmake \
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
209 boost-devel curl-devel dcmtk-devel glog-devel \
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
210 gtest-devel libpng-devel libsqlite3x-devel libuuid-devel \
1078
5d35f9e16fd1 compilation notes
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1077
diff changeset
211 mongoose-devel openssl-devel jsoncpp-devel lua-devel pugixml-devel
636
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
212
1150
fe0ab24f4db1 preparing for release
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1078
diff changeset
213 # cmake "-DDCMTK_LIBRARIES=CharLS" \
fe0ab24f4db1 preparing for release
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1078
diff changeset
214 -DSYSTEM_MONGOOSE_USE_CALLBACKS=OFF \
fe0ab24f4db1 preparing for release
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1078
diff changeset
215 ~/Orthanc
875
d21031a7a6e4 build instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 854
diff changeset
216
636
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
217 Note: Have also a look at the official package:
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
218 http://pkgs.fedoraproject.org/cgit/orthanc.git/tree/?h=f18
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
219
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
220
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
221
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
222
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
223
634
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
224 Other Linux distributions?
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
225 --------------------------
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
226
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
227 Please send us your build instructions (by a mail to
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
228 s.jodogne@gmail.com)!
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
229
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
230 You can find build instructions for Orthanc up to 0.7.0 on the
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
231 following Wiki page:
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
232 https://code.google.com/p/orthanc/wiki/LinuxCompilationUpTo070
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
233
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
234 These instructions will not work as such beyond Orthanc 0.7.0, but
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
235 they might give indications.
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
236
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
237
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
238
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
239
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
240 Using ccache
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
241 ============
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
242
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
243 Under Linux, you also have the opportunity to use "ccache" to
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
244 dramatically decrease the compilation time when rebuilding
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
245 Orthanc. This is especially useful for developers. To this end, you
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
246 would use:
d775a3cb5a06 refactoring of CMake scripts
jodogne
parents:
diff changeset
247
636
9ac1e8383877 build instructions for Debian Sid and Fedora 18
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 635
diff changeset
248 # CC="ccache gcc" CXX="ccache g++" cmake ~/Orthanc [Other Options]