source: general/prog/cmake.xml@ 87065037

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 87065037 was 498e62a, checked in by Douglas R. Reno <renodr@…>, 19 months ago

Package Updates:

Update to cmake-3.24.2
Update to libblockdev-2.28
Update to gtkmm-3.24.7
Update to xfce4-pulseaudio-plugin-0.4.5

  • Property mode set to 100644
File size: 9.6 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 "https://cmake.org/files/v&cmake-major-version;/cmake-&cmake-version;.tar.gz">
8 <!ENTITY cmake-download-ftp " ">
9 <!ENTITY cmake-md5sum "84d08f30b110401d8178f0708c19f1fe">
10 <!ENTITY cmake-size "9.9 MB">
11 <!ENTITY cmake-buildsize "443 MB (add 1.1 GB for tests)">
12 <!ENTITY cmake-time "3.0 SBU (add 4.0 SBU for tests, both using parallelism=4)">
13]>
14
15<sect1 id="cmake" xreflabel="CMake-&cmake-version;">
16 <?dbhtml filename="cmake.html"?>
17
18 <sect1info>
19 <date>$Date$</date>
20 </sect1info>
21
22 <title>CMake-&cmake-version;</title>
23
24 <indexterm zone="cmake">
25 <primary sortas="a-CMake">CMake</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to CMake</title>
30
31 <para>
32 The <application>CMake</application> package contains a modern
33 toolset used for generating Makefiles. It is a successor of the
34 auto-generated <command>configure</command> script and aims to
35 be platform- and compiler-independent. A significant user of
36 <application>CMake</application> is <application>KDE</application>
37 since version 4.
38 </para>
39
40 &lfs112_checked;
41
42 <bridgehead renderas="sect3">Package Information</bridgehead>
43 <itemizedlist spacing="compact">
44 <listitem>
45 <para>
46 Download (HTTP): <ulink url="&cmake-download-http;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download (FTP): <ulink url="&cmake-download-ftp;"/>
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download MD5 sum: &cmake-md5sum;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download size: &cmake-size;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated disk space required: &cmake-buildsize;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Estimated build time: &cmake-time;
72 </para>
73 </listitem>
74 </itemizedlist>
75
76<!--
77 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
78 <itemizedlist spacing="compact">
79 <listitem>
80 <para>
81 Required patch:
82 <ulink url="&patch-root;/cmake-&cmake-version;-upstream_fix-1.patch"/>
83 </para>
84 </listitem>
85 </itemizedlist>
86-->
87
88 <bridgehead renderas="sect3">CMake Dependencies</bridgehead>
89
90 <bridgehead renderas="sect4">Required</bridgehead>
91 <para role="required">
92 <xref linkend="libuv"/>
93 </para>
94
95 <bridgehead renderas="sect4">Recommended</bridgehead>
96 <para role="recommended">
97 <xref linkend="curl"/>,
98 <xref linkend="libarchive"/>, and
99 <xref linkend="nghttp2"/>
100 </para>
101
102 <bridgehead renderas="sect4">Optional</bridgehead>
103 <para role="optional">
104 <xref linkend="gcc"/> (for gfortran),
105 <xref linkend="git"/> (for use during tests),
106 <xref linkend="mercurial"/> (for use during tests),
107 <xref linkend="qt5"/> (for the Qt-based GUI),
108 <xref linkend="subversion"/> (for testing),
109 <ulink url="http://rhash.sourceforge.net/">rhash</ulink>, and
110 <ulink url="https://pypi.python.org/pypi/Sphinx">Sphinx</ulink> (for building documents)
111 </para>
112
113 <para condition="html" role="usernotes">User Notes:
114 <ulink url="&blfs-wiki;/cmake"/>
115 </para>
116 </sect2>
117
118 <sect2 role="installation">
119 <title>Installation of CMake</title>
120
121 <!--
122 <para>
123 First, adapt the FindBoost module to use Boost-1.80.0:
124 </para>
125
126<screen><userinput remap="pre">patch -Np1 -i ../cmake-&cmake-version;-upstream_fix-1.patch</userinput></screen>
127-->
128
129 <para>
130 Install <application>CMake</application> by running the following
131 commands:
132 </para>
133
134<screen><userinput>sed -i '/"lib64"/s/64//' Modules/GNUInstallDirs.cmake &amp;&amp;
135
136./bootstrap --prefix=/usr \
137 --system-libs \
138 --mandir=/share/man \
139 --no-system-jsoncpp \
140 --no-system-librhash \
141 --docdir=/share/doc/cmake-&cmake-version; &amp;&amp;
142make</userinput></screen>
143
144 <para>
145 To test the results, issue: <command>LC_ALL=en_US.UTF-8 bin/ctest
146 -j<replaceable>&lt;N&gt;</replaceable> -O
147 cmake-&cmake-version;-test.log</command>, where
148 <replaceable>&lt;N&gt;</replaceable> is an integer between 1 and the
149 number of system cores. Setting <envar>LC_ALL</envar> is needed to
150 prevent some test failures when some of the locale variables are
151 set to non English locales. Two tests, RunCMake.FindBoost and
152 BundleUtilities, are known to fail.
153 </para>
154
155 <para>
156 If you want to investigate a problem with a given "problem1-test",
157 use <command>bin/ctest -R "problem1-test"</command> and, to omit it, use
158 <command>bin/ctest -E "problem1-test"</command>. These options can be
159 used together:
160 <command>bin/ctest -R "problem1-test" -E "problem2-test"</command>.
161 Option <option>-N</option> can be used to display all
162 available tests, and you can run <command>bin/ctest</command> for a
163 sub-set of tests by using separated by spaces names or numbers as
164 options. Option <option>--help</option> can be used to show all options.
165 </para>
166
167 <para>
168 Now, as the <systemitem class="username">root</systemitem> user:
169 </para>
170
171<screen role="root"><userinput>make install</userinput></screen>
172
173 </sect2>
174
175 <sect2 role="commands">
176 <title>Command Explanations</title>
177
178 <para>
179 <command>sed ... Modules/GNUInstallDirs.cmake</command>:
180 This command disables applications using cmake from attempting to
181 install files in /usr/lib64/.
182 </para>
183
184 <para>
185 <parameter>--system-libs</parameter>: This switch forces the build system
186 to link against <application>Zlib</application>,
187 <application>Bzip2</application>, <application>cURL</application>,
188 <application>nghttp2</application>,
189 <application>Expat</application> and <application>libarchive</application>
190 installed on the system.
191 </para>
192
193 <para>
194 <parameter>--no-system-jsoncpp</parameter>: This switch removes the
195 <application>JSON-C++</application> library from the list of system
196 libraries. A bundled version of that library is used instead.
197 </para>
198
199 <para>
200 <parameter>--no-system-librhash</parameter>: This switch removes the
201 <application>librhash</application> library from the list of system
202 libraries used. A bundled version of that library is used instead.
203 </para>
204
205 <para>
206 <option>--qt-gui</option>: This switch enables building the
207 <application>Qt</application>-based GUI for
208 <application>CMake</application>.
209 </para>
210
211 <para>
212 <option>--parallel=</option>: This switch enables performing the
213 <application>CMake</application> bootstrap with multiple jobs
214 at one time.
215 </para>
216
217 </sect2>
218
219 <sect2 role="content">
220 <title>Contents</title>
221
222 <segmentedlist>
223 <segtitle>Installed Programs</segtitle>
224 <segtitle>Installed Libraries</segtitle>
225 <segtitle>Installed Directories</segtitle>
226
227 <seglistitem>
228 <seg>
229 ccmake, cmake, cmake-gui (optional), cpack, and ctest
230 </seg>
231 <seg>
232 None
233 </seg>
234 <seg>
235 /usr/share/cmake-&cmake-major-version; and
236 /usr/share/doc/cmake-&cmake-version;
237 </seg>
238 </seglistitem>
239 </segmentedlist>
240
241
242 <variablelist>
243 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
244 <?dbfo list-presentation="list"?>
245 <?dbhtml list-presentation="table"?>
246
247 <varlistentry id="ccmake">
248 <term><command>ccmake</command></term>
249 <listitem>
250 <para>
251 is a curses based interactive frontend to
252 <command>cmake</command>
253 </para>
254 <indexterm zone="cmake ccmake">
255 <primary sortas="b-ccmake">ccmake</primary>
256 </indexterm>
257 </listitem>
258 </varlistentry>
259
260 <varlistentry id="cmake-prog">
261 <term><command>cmake</command></term>
262 <listitem>
263 <para>
264 is the makefile generator
265 </para>
266 <indexterm zone="cmake cmake-prog">
267 <primary sortas="b-cmake">cmake</primary>
268 </indexterm>
269 </listitem>
270 </varlistentry>
271
272 <varlistentry id="cmake-gui">
273 <term><command>cmake-gui</command></term>
274 <listitem>
275 <para>
276 (optional) is the <application>Qt</application>-based frontend to
277 <command>cmake</command>
278 </para>
279 <indexterm zone="cmake cmake-gui">
280 <primary sortas="b-cmake-gui">cmake-gui</primary>
281 </indexterm>
282 </listitem>
283 </varlistentry>
284
285 <varlistentry id="cpack">
286 <term><command>cpack</command></term>
287 <listitem>
288 <para>
289 is the <application>CMake</application> packaging program
290 </para>
291 <indexterm zone="cmake cpack">
292 <primary sortas="b-cpack">cpack</primary>
293 </indexterm>
294 </listitem>
295 </varlistentry>
296
297 <varlistentry id="ctest">
298 <term><command>ctest</command></term>
299 <listitem>
300 <para>
301 is a testing utility for cmake-generated build trees
302 </para>
303 <indexterm zone="cmake ctest">
304 <primary sortas="b-ctest">ctest</primary>
305 </indexterm>
306 </listitem>
307 </varlistentry>
308
309 </variablelist>
310
311 </sect2>
312
313</sect1>
Note: See TracBrowser for help on using the repository browser.