Skip to content

Commit a4152ca

Browse files
committed
install most current version of CMAKE from kitware
1 parent 5a74d91 commit a4152ca

File tree

2 files changed

+112
-0
lines changed

2 files changed

+112
-0
lines changed

.devcontainer/add_kitware_archive.sh

+107
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
#!/bin/sh
2+
# -----------------------------------------------------------------------------
3+
# This script is from: https://apt.kitware.com/kitware-archive.sh
4+
#
5+
# It installs key and repo for the kitware CMAKE-archive.
6+
#
7+
# Author: Bernhard Bablok
8+
#
9+
# -----------------------------------------------------------------------------
10+
11+
set -eu
12+
13+
help() {
14+
echo "Usage: $0 [--release <ubuntu-release>] [--rc]" > /dev/stderr
15+
}
16+
17+
doing=
18+
rc=
19+
release=
20+
help=
21+
for opt in "$@"
22+
do
23+
case "${doing}" in
24+
release)
25+
release="${opt}"
26+
doing=
27+
;;
28+
"")
29+
case "${opt}" in
30+
--rc)
31+
rc=1
32+
;;
33+
--release)
34+
doing=release
35+
;;
36+
--help)
37+
help=1
38+
;;
39+
esac
40+
;;
41+
esac
42+
done
43+
44+
if [ -n "${doing}" ]
45+
then
46+
echo "--${doing} option given no argument." > /dev/stderr
47+
echo > /dev/stderr
48+
help
49+
exit 1
50+
fi
51+
52+
if [ -n "${help}" ]
53+
then
54+
help
55+
exit
56+
fi
57+
58+
if [ -z "${release}" ]
59+
then
60+
unset UBUNTU_CODENAME
61+
. /etc/os-release
62+
63+
if [ -z "${UBUNTU_CODENAME+x}" ]
64+
then
65+
echo "This is not an Ubuntu system. Aborting." > /dev/stderr
66+
exit 1
67+
fi
68+
69+
release="${UBUNTU_CODENAME}"
70+
fi
71+
72+
case "${release}" in
73+
noble|jammy|focal)
74+
packages=
75+
keyring_packages="ca-certificates gpg wget"
76+
;;
77+
*)
78+
echo "Only Ubuntu Noble (24.04), Jammy (22.04), and Focal (20.04) are supported. Aborting." > /dev/stderr
79+
exit 1
80+
;;
81+
esac
82+
83+
get_keyring=
84+
if [ ! -f /usr/share/doc/kitware-archive-keyring/copyright ]
85+
then
86+
packages="${packages} ${keyring_packages}"
87+
get_keyring=1
88+
fi
89+
90+
# Start the real work
91+
set -x
92+
93+
apt-get update
94+
# shellcheck disable=SC2086
95+
apt-get install -y ${packages}
96+
97+
test -n "${get_keyring}" && (wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - > /usr/share/keyrings/kitware-archive-keyring.gpg)
98+
99+
echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ ${release} main" > /etc/apt/sources.list.d/kitware.list
100+
if [ -n "${rc}" ]
101+
then
102+
echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ ${release}-rc main" >> /etc/apt/sources.list.d/kitware.list
103+
fi
104+
105+
apt-get update
106+
test -n "${get_keyring}" && rm /usr/share/keyrings/kitware-archive-keyring.gpg
107+
apt-get install -y kitware-archive-keyring

.devcontainer/common_tools.sh

+5
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ cd "$REPO_ROOT"
1515

1616
# --- repositories and tools ------------------------------------------------
1717

18+
echo -e "[common_tools.sh] adding kitware-archive (for current CMAKE)"
19+
sudo .devcontainer/add_kitware_archive.sh
20+
echo -e "[common_tools.sh] installing current version of CMAKE"
21+
sudo apt-get -y install cmake
22+
1823
echo -e "[common_tools.sh] adding pybricks/ppa"
1924
sudo add-apt-repository -y ppa:pybricks/ppa
2025
echo -e "[common_tools.sh] installing uncrustify and mtools"

0 commit comments

Comments
 (0)