CMake pakken inneholder et moderne verktøysett som brukes til å generere Makefiles. Det er en etterfølger av den automatisk genererte configure skriptet og har som mål å være plattform- og kompilatoruavhengig. En betydelig bruker av CMake er KDE siden versjon 4.
Dette kan ta litt tid å bygge. Gjør gjerne noe annet mens dette bygges.
Nedlasting (HTTP): https://cmake.org/files/v4.0/cmake-4.0.3.tar.gz
libarchive, libuv, og nghttp2
Installer CMake ved å kjøre følgende kommandoer:
sed -i '/"lib64"/s/64//' Modules/GNUInstallDirs.cmake && ./bootstrap --prefix=/usr \ --system-libs \ --mandir=/share/man \ --no-system-jsoncpp \ --no-system-cppdap \ --no-system-librhash \ --no-system-libarchive \ --no-system-libuv \ --no-system-nghttp2 \ --docdir=/share/doc/cmake-4.0.3 && make
For å teste resultatene, utsted: bin/ctest -j$(nproc)
. Erstatt
$(nproc)
med et heltall
mellom 1 og antallet systemlogiske kjerner hvis du ikke vil bruke
alle.
Hvis du vil undersøke et problem med en gitt "problem1-test", bruk
bin/ctest -R
"problem1-test" og, for å utelate det, bruk
bin/ctest -E
"problem1-test". Disse alternativene kan brukes
sammen: bin/ctest -R "problem1-test"
-E "problem2-test". Alternativet -N
kan brukes til å vise alle tilgjengelige tester,
og du kan kjøre bin/ctest for et delsett av
tester ved å bruke navn eller tall atskilt med mellomrom som
alternativer. Alternativ --help
kan
brukes til å vise alle alternativer.
Nå, som root
bruker:
make install
sed ... Modules/GNUInstallDirs.cmake: Denne kommandoen deaktiverer programmer som bruker cmake fra å forsøke å installere filer i /usr/lib64/.
--system-libs
: Denne
bryteren tvinger byggesystemet å koble mot den systeminstallerte
versjonen for alle nødvendige biblioteker, unntatt de som er
eksplisitt spesifisert via en --no-system-*
alternativ.
--no-system-jsoncpp
og
--no-system-cppdap
: Disse
bryterne fjerner JSON-C++
biblioteket fra listen over systembiblioteker. En samlet versjon av
det biblioteket brukes i stedet.
--no-system-librhash
: Denne
bryteren fjerner librhash
biblioteket fra listen over systembiblioteker. En samlet versjon av
det biblioteket brukes i stedet.
--no-system-{libarchive,libuv,nghttp2}
:
Disse bryterne gjør det samme som ovenfor, men for pakkene som er
oppført i disse parameterne. De er ikke installert for øyeblikket.
--parallel=
: Denne bryteren gjør det
mulig å utføre CMake bootstrap med
flere jobber samtidig.