@@ -98,26 +98,31 @@ You will need `git`. See the platform specific instructions below to install it.
9898### Building for Linux
9999
100100You 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
106108sudo 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
112114On a RedHat derivative (e.g. Fedora) the dependencies can be installed with:
113115
114116``` sh
115117sudo 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
122127Before 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
127132mkdir build
128133cd 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]
130135make
131136
132137# Optionally
133138sudo 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