# To clean up files from an old version before installing this one,
# or to uninstall CMake, skip down to the bottom for instructions
# Prerequisites (in that configure looks for or tries to run them):
# Qt4 (optional; for the Qt-based GUI)
# Subversion (optional)
# Get the source tarball
cd
test -f installed/cmake-3.30.2.tar.gz &&
mv installed/cmake-3.30.2.tar.gz .
test ! -f cmake-3.30.2.tar.gz &&
wget https://github.com/Kitware/CMake/releases/download/v3.30.2/\
cmake-3.30.2.tar.gz
# Extract the source
mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "cmake-*" -exec rm -r {} \;
tar xzvf ~/cmake-3.30.2.tar.gz
cd cmake-3.30.2
test $UID = 0 && chown -R root:root .
# No need to specify using lib64 instead of lib if 64-bit, it will find it
# Configure the build
./bootstrap --prefix=/usr --mandir=/usr/man
# Build it
make
# Become root to install it
su
# Remove the Slackware package, if there is one
#
# Note:
# After the 'cmake' package is removed, you may still have a
# /usr/share/cmake from various packages such as libproxy and
# shared-desktop-ontologies. The cmake package and the source
# use a version specific /usr/share/cmake-x.x.x
test -x /sbin/removepkg && /sbin/removepkg cmake
# You may want to clean up any of these that are not 3.30.2:
# find /usr/doc -maxdepth 1 -type d -name "cmake-*"
# find /usr/share -maxdepth 1 -type d -name "cmake-*"
# Install the new one
make install
# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .
# Become yourself again
exit
# Save the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/cmake-*.tar.*
mv cmake-3.30.2.tar.gz installed/
# If you ever want to uninstall CMake, this should do it:
cd
su
test -d src/cmake-* && ( cd src/cmake-* ; make uninstall )
for pfx in /usr/local /usr;
do
( cd ${pfx}/bin ; rm -f ccmake cmake cpack ctest )
find ${pfx}/doc -maxdepth 1 -type d -name "cmake-*" -exec rm -r {} \;
( cd ${pfx}/man
rm -f ccmake.1 cmake.1 cpack.1 ctest.1 \
cmakecommands.1 cmakecompat.1 cmakemodules.1 cmakepolicies.1 \
cmakeprops.1 cmakevars.1 )
find ${pfx}/share -maxdepth 1 -type d -name "cmake-*" -exec rm -r {} \;
done
exit
find ~/src -maxdepth 1 -type d -name "cmake-*" -exec rm -r {} \;
rm -f ~/installed/cmake-*.tar.*