source: general/prog/cmake.xml@ 9ea9aa7

systemd-13485
Last change on this file since 9ea9aa7 was 9ea9aa7, checked in by DJ Lucas <dj@…>, 8 years ago

Merges from trunk to r17100.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@17231 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 8.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY cmake-download-http "http://www.cmake.org/files/v&cmake-major-version;/cmake-&cmake-version;.tar.gz">
8 <!ENTITY cmake-download-ftp " ">
9 <!ENTITY cmake-md5sum "33c5d09d4c33d4ffcc63578a6ba8777e">
10 <!ENTITY cmake-size "6.5 MB">
11 <!ENTITY cmake-buildsize "346 MB (648 MB with tests and cmake-gui)">
12 <!ENTITY cmake-time "4.2 SBU (12.1 SBU with tests and cmake-gui)">
13]>
14
15<sect1 id="cmake" xreflabel="CMake-&cmake-version;">
16 <?dbhtml filename="cmake.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>CMake-&cmake-version;</title>
24
25 <indexterm zone="cmake">
26 <primary sortas="a-CMake">CMake</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to CMake</title>
31
32 <para>
33 The <application>CMake</application> package contains a modern
34 toolset used for generating Makefiles. It is a successor of the
35 auto-generated <command>configure</command> script and aims to
36 be platform- and compiler-independent. A significant user of
37 <application>CMake</application> is <application>KDE</application>
38 since version 4.
39 </para>
40
41 &lfs79_checked;
42
43 <bridgehead renderas="sect3">Package Information</bridgehead>
44 <itemizedlist spacing="compact">
45 <listitem>
46 <para>
47 Download (HTTP): <ulink url="&cmake-download-http;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download (FTP): <ulink url="&cmake-download-ftp;"/>
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download MD5 sum: &cmake-md5sum;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Download size: &cmake-size;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated disk space required: &cmake-buildsize;
68 </para>
69 </listitem>
70 <listitem>
71 <para>
72 Estimated build time: &cmake-time;
73 </para>
74 </listitem>
75 </itemizedlist>
76
77 <bridgehead renderas="sect3">CMake Dependencies</bridgehead>
78
79 <bridgehead renderas="sect4">Recommended</bridgehead>
80 <para role="recommended">
81 <xref linkend="curl"/> and
82 <xref linkend="libarchive"/>
83 </para>
84
85 <bridgehead renderas="sect4">Optional</bridgehead>
86 <para role="optional">
87 <xref linkend="qt4"/> or <xref linkend="qt5"/> (for the Qt-based GUI),
88 <xref linkend="subversion"/> (for testing), and
89 <ulink url="http://pypi.python.org/pypi/Sphinx">Sphinx</ulink>
90 (for building documents)
91 </para>
92
93 <para condition="html" role="usernotes">User Notes:
94 <ulink url="&blfs-wiki;/cmake"/>
95 </para>
96 </sect2>
97
98 <sect2 role="installation">
99 <title>Installation of CMake</title>
100
101 <para>
102 If <application>Qt4</application> and <application>Qt5</application> are
103 installed in <filename class="directory">/opt</filename>, use
104 <command>source setqt4</command> or <command>source setqt5</command> to
105 choose which one will be used to build the Qt-based GUI.
106 </para>
107
108 <para>
109 Install <application>CMake</application> by running the following
110 commands:
111 </para>
112
113<screen><userinput>./bootstrap --prefix=/usr \
114 --system-libs \
115 --mandir=/share/man \
116 --no-system-jsoncpp \
117 --docdir=/share/doc/cmake-&cmake-version; &amp;&amp;
118make</userinput></screen>
119
120 <para>
121 To test the results, issue: <command>bin/ctest
122 -j<replaceable>&lt;N&gt;</replaceable> -O
123 cmake-&cmake-version;-test.log</command>, where
124 <replaceable>&lt;N&gt;</replaceable> is an integer between 1 and the
125 number of system cores. For some systems, it may be necessary to run the
126 tests only for Qt4 using <command>source setq4</command> before the
127 <command>./bootstrap ...</command>) command. One of the problematic
128 tests relates to the test procedures finding the correct Qt files. One
129 of 444 tests is known to fail under some circumstances related to Gtk+2
130 and c++ standards.
131
132 <!-- Please, don't remove this comment, needed if tests start to fail
133 again. If you want to investigate a problem with a given "problem1-test",
134 use <command>bin/ctest -R "problem1-test"</command> and, to omit it, use
135 <command>bin/ctest -E "problem1-test"</command>. These options can be
136 used together: <command>bin/ctest -R "problem1-test" -E
137 "problem2-test"</command>. Option -N can be used to display all
138 available tests, and you can run <command>bin/ctest</command> for a
139 sub-set of tests by using separated by spaces names or numbers as
140 options. Option -/-help can be used to show all options.-->
141 </para>
142
143 <para>
144 Now, as the <systemitem class="username">root</systemitem> user:
145 </para>
146
147<screen role="root"><userinput>make install</userinput></screen>
148
149 </sect2>
150
151 <sect2 role="commands">
152 <title>Command Explanations</title>
153
154 <para>
155 <parameter>--system-libs</parameter>: This switch forces the build system
156 to link against the <application>Zlib</application>,
157 <application>Bzip2</application>, <application>cURL</application>,
158 <application>Expat</application> and <application>libarchive</application>
159 packages installed on the system.
160 </para>
161
162 <para>
163 <parameter>--no-system-jsoncpp</parameter>: This switch removes the
164 <application>JSON-C++</application> library from the list of system
165 libraries. A bundled version of that library is used instead.
166 </para>
167
168 <para>
169 <option>--qt-gui</option>: This switch enables building of the
170 <application>Qt</application>-based GUI for
171 <application>CMake</application>.
172 </para>
173
174 </sect2>
175
176 <sect2 role="content">
177 <title>Contents</title>
178
179 <segmentedlist>
180 <segtitle>Installed Programs</segtitle>
181 <segtitle>Installed Libraries</segtitle>
182 <segtitle>Installed Directories</segtitle>
183
184 <seglistitem>
185 <seg>
186 ccmake, cmake, cmake-gui (optional), cpack and ctest
187 </seg>
188 <seg>
189 None
190 </seg>
191 <seg>
192 /usr/share/cmake-&cmake-major-version; and
193 /usr/share/doc/cmake-&cmake-version;
194 </seg>
195 </seglistitem>
196 </segmentedlist>
197
198
199 <variablelist>
200 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
201 <?dbfo list-presentation="list"?>
202 <?dbhtml list-presentation="table"?>
203
204 <varlistentry id="ccmake">
205 <term><command>ccmake</command></term>
206 <listitem>
207 <para>
208 is a curses based interactive frontend to
209 <command>cmake</command>.
210 </para>
211 <indexterm zone="cmake ccmake">
212 <primary sortas="b-ccmake">ccmake</primary>
213 </indexterm>
214 </listitem>
215 </varlistentry>
216
217 <varlistentry id="cmake-prog">
218 <term><command>cmake</command></term>
219 <listitem>
220 <para>
221 is the makefile generator.
222 </para>
223 <indexterm zone="cmake cmake-prog">
224 <primary sortas="b-cmake">cmake</primary>
225 </indexterm>
226 </listitem>
227 </varlistentry>
228
229 <varlistentry id="cmake-gui">
230 <term><command>cmake-gui</command></term>
231 <listitem>
232 <para>
233 (optional) is the <application>Qt</application>-based frontend to
234 <command>cmake</command>.
235 </para>
236 <indexterm zone="cmake cmake-gui">
237 <primary sortas="b-cmake-gui">cmake-gui</primary>
238 </indexterm>
239 </listitem>
240 </varlistentry>
241
242 <varlistentry id="cpack">
243 <term><command>cpack</command></term>
244 <listitem>
245 <para>
246 is the <application>CMake</application> packaging program.
247 </para>
248 <indexterm zone="cmake cpack">
249 <primary sortas="b-cpack">cpack</primary>
250 </indexterm>
251 </listitem>
252 </varlistentry>
253
254 <varlistentry id="ctest">
255 <term><command>ctest</command></term>
256 <listitem>
257 <para>
258 is a testing utility for cmake-generated build trees.
259 </para>
260 <indexterm zone="cmake ctest">
261 <primary sortas="b-ctest">ctest</primary>
262 </indexterm>
263 </listitem>
264 </varlistentry>
265
266 </variablelist>
267
268 </sect2>
269
270</sect1>
Note: See TracBrowser for help on using the repository browser.