Skip to content

Commit a831e82

Browse files
authored
Update BUILDING.md
1 parent d08e085 commit a831e82

File tree

1 file changed

+19
-73
lines changed

1 file changed

+19
-73
lines changed

BUILDING.md

+19-73
Original file line numberDiff line numberDiff line change
@@ -4,84 +4,30 @@
44

55
This section describes how to build `AppImageUpdate.AppImage` and `appimageupdatetool.AppImage`. This implies using as few -dev packages from the distribution as possible and privately bundling everything that cannot reasonably be assumed to be there in the default installation of all target systems (distributions).
66

7-
We generally recommend to use our pre-built AppImages if possible.
8-
See https://github.com/AppImage/AppImageUpdate/blob/main/.github/workflows/main.yml for how these get built.
7+
## Building the library
98

10-
## Building the libraries
9+
This section describes how to build `libappimageupdate` for consumption in distribution packaging. This implies using as many -dev packages from the distribution as possible.
1110

12-
This section describes how to build `libappimageupdate` and `libappimage` for consumption in distribution packaging. This implies using as many -dev packages from the distribution as possible.
11+
### Ubuntu-20.04
1312

14-
### Ubuntu 18.04
15-
16-
```# Compile and install libappimageupdate
17-
18-
sudo apt -y install wget git cmake g++ libcurl4-openssl-dev libx11-dev libz-dev libfuse-dev librsvg2-dev
19-
20-
git clone --recursive https://github.com/AppImage/AppImageUpdate
21-
cd AppImageUpdate/
22-
23-
mkdir build/
24-
cd build/
25-
26-
cmake -DBUILD_QT_UI=OFF -DCMAKE_INSTALL_PREFIX=/usr ..
27-
make -j$(nproc)
28-
29-
sudo make install
30-
31-
cd ..
32-
33-
# Also compile and install libappimage
34-
35-
sudo apt -y install libssl-dev libinotifytools0-dev libarchive-dev libfuse-dev liblzma-dev
36-
37-
git clone --recursive https://github.com/AppImage/AppImageKit
38-
cd AppImageKit/
39-
40-
mkdir build/
41-
cd build/
42-
43-
cmake -DUSE_SYSTEM_XZ=ON -DUSE_SYSTEM_INOTIFY_TOOLS=ON -DUSE_SYSTEM_LIBARCHIVE=ON -DUSE_SYSTEM_GTEST=OFF -DCMAKE_INSTALL_PREFIX=/usr ..
44-
make -j$(nproc)
45-
46-
sudo make install
4713
```
48-
49-
### CentOS 7
50-
51-
```
52-
cat /etc/redhat-release
53-
# CentOS Linux release 7.2.1511 (Core)
54-
55-
# Compile and install libappimageupdate
56-
57-
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
58-
rpm -ivh epel-release-latest-7.noarch.rpm
59-
60-
yum install git cmake3 gcc-c++ curl-devel libX11-devel zlib-devel fuse-devel librsvg2-devel cairo-devel
61-
62-
git clone --recursive https://github.com/AppImage/AppImageUpdate
63-
cd AppImageUpdate/
64-
65-
mkdir build/
66-
cd build/
67-
68-
cmake3 -DBUILD_QT_UI=OFF -DCMAKE_INSTALL_PREFIX=/usr ..
69-
make -j$(nproc)
70-
71-
sudo make install
72-
73-
cd ..
74-
75-
# Also compile libappimage; work in progress
76-
77-
git clone https://github.com/AppImage/AppImageKit
78-
cd AppImageKit/
79-
14+
# Install dependencies
15+
sudo apt-get update
16+
sudo apt-get install -y --no-install-recommends software-properties-common
17+
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
18+
sudo add-apt-repository -y ppa:beineri/opt-qt-5.15.2-focal
19+
sudo apt-get update
20+
sudo apt-get install -y g++-10 qt515base qt515wayland libgl1 libdrm-dev mesa-common-dev build-essential libssl-dev \
21+
autoconf automake libtool wget vim-common desktop-file-utils pkgconf libgpgme-dev libglib2.0-dev libcairo2-dev \
22+
librsvg2-dev libfuse-dev git libcurl4-openssl-dev argagg-dev libgcrypt20-dev libboost-dev libarchive-dev \
23+
libzstd-dev nlohmann-json3-dev cmake
24+
25+
# Build
26+
export CXX=g++-10
8027
mkdir build
8128
cd build
82-
cmake3 -DUSE_SYSTEM_XZ=ON -DUSE_SYSTEM_INOTIFY_TOOLS=ON -DUSE_SYSTEM_LIBARCHIVE=ON -DUSE_SYSTEM_GTEST=ON ..
29+
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TESTING=OFF
8330
make -j$(nproc)
84-
85-
# Section to be completed
86-
31+
sudo make install
32+
cd ..
8733
```

0 commit comments

Comments
 (0)