Skip to content

Commit c3becb1

Browse files
wolfpackmars2phkahler
authored andcommitted
Update README for QT build
Updated build instructions for GUI dependencies and clarified options for building with QT or GTK interfaces.
1 parent 862026c commit c3becb1

1 file changed

Lines changed: 22 additions & 16 deletions

File tree

README.md

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -98,26 +98,31 @@ You will need `git`. See the platform specific instructions below to install it.
9898
### Building for Linux
9999

100100
You will need the usual build tools, CMake, zlib, libpng, cairo, freetype. To
101-
build the GUI, you will need fontconfig, gtkmm 3.0 (version 3.16 or later),
102-
pangomm 1.4, OpenGL and OpenGL GLU, and optionally, the Space Navigator client
103-
library. On a Debian derivative (e.g. Ubuntu) these can be installed with:
101+
build the GUI, you will need fontconfig, gtkmm 3.0 (version 3.16 or later) for
102+
GTK, or QT6 for the newer QT interface, pangomm 1.4, OpenGL and OpenGL GLU,
103+
and optionally, the Space Navigator client library.
104+
105+
On a Debian derivative (e.g. Ubuntu) these can be installed with:
104106

105107
```sh
106108
sudo apt install git build-essential cmake zlib1g-dev libpng-dev \
107109
libcairo2-dev libfreetype6-dev libjson-c-dev \
108-
libfontconfig1-dev libgtkmm-3.0-dev libpangomm-1.4-dev \
109-
libgl-dev libglu-dev libspnav-dev
110+
libfontconfig1-dev libpangomm-1.4-dev libgl-dev \
111+
libglu-dev libspnav-dev libgtkmm-3.0-dev qt6-base-dev
110112
```
111113

112114
On a RedHat derivative (e.g. Fedora) the dependencies can be installed with:
113115

114116
```sh
115117
sudo dnf install git gcc-c++ cmake zlib-devel libpng-devel \
116118
cairo-devel freetype-devel json-c-devel \
117-
fontconfig-devel gtkmm30-devel pangomm-devel \
118-
mesa-libGL-devel mesa-libGLU-devel libspnav-devel
119+
fontconfig-devel pangomm-devel mesa-libGL-devel \
120+
mesa-libGLU-devel libspnav-devel gtkmm30-devel \
121+
qt6-qtbase-devel
119122
```
120-
To build the QT version replace `gtkmm30-devel` with `qt6-qtbase-devel` and add `-DUSE_QT_GUI=ON` to the cmake step below
123+
`gtkmm30-devel` is required to build the GTK version and `qt6-qtbase-devel` is required to build the QT version. One or
124+
the other may be omitted if both versions are not needed. Likewise with `libgtkmm-3.0-dev` and `qt6-base-dev` for Debuntu
125+
respectively.
121126

122127
Before building, [check out the project and the necessary submodules](#via-source-code).
123128

@@ -126,19 +131,20 @@ After that, build SolveSpace as following:
126131
```sh
127132
mkdir build
128133
cd build
129-
cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=ON
134+
cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=ON [-DENABLE_LTO=ON] [-DUSE_QT_GUI=ON] [-DENABLE_GUI=OFF]
130135
make
131136

132137
# Optionally
133138
sudo make install
134139
```
135-
Link Time Optimization is supported by adding `-DENABLE_LTO=ON` to cmake at the
136-
expense of longer build time.
137-
138-
The graphical interface is built as `build/bin/solvespace`, and the command-line
139-
interface is built as `build/bin/solvespace-cli`. It is possible to build only
140-
the command-line interface by passing the `-DENABLE_GUI=OFF` flag to the cmake
141-
invocation.
140+
Optional:
141+
- -DENABLE_LTO=ON: Enable Link Time Optimization at the expense of longer build time.
142+
- -DUSE_QT_GUI=ON: Build the newer QT GUI interface.
143+
- -DENABLE_GUI=OFF: Build only the command-line interface
144+
145+
The GTK graphical interface is built as `build/bin/solvespace`, and the command-line
146+
interface is built as `build/bin/solvespace-cli`. The QT graphical interface is built
147+
as `build/bin/solvespace-qt`.
142148

143149
### Building for Windows
144150

0 commit comments

Comments
 (0)