source: general/prog/cmake.xml@ f57d8fc

12.1 12.2 gimp3 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon trunk xry111/for-12.3 xry111/llvm18 xry111/spidermonkey128
Last change on this file since f57d8fc was 4de66bc7, checked in by Douglas R. Reno <renodr@…>, 10 months ago

Add some more dependencies on Qt6.

I've marked most of these as 'role=nodep' so that jhalfs doesn't pick up
multiples in cases where it's not needed.

Transmission, Libreoffice, CMake, Poppler, and Appstream now have Qt6
ports working well.

I have left Qca, gpgme, polkit-qt, and other KDE-related packages alone.
They do have support for Qt6, but we should not list them as they are
incompatible with the Qt5 versions and we could end up causing
unintentional breakage by doing this.

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