Skip to content

Commit

Permalink
Add a linux triplet to (more) easily build QGIS against vcpkg (#60393)
Browse files Browse the repository at this point in the history
  • Loading branch information
nirvn authored Feb 4, 2025
1 parent 207a57f commit dd03eeb
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 0 deletions.
35 changes: 35 additions & 0 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Building QGIS from source - step by step
+ [3.11.2. Suggested system tweaks](#3112-suggested-system-tweaks)
+ [3.11.3. Additional tools for QGIS development](#3113-additional-tools-for-qgis-development)
+ [3.11.4. QT6 experimental builds with Fedora Rawhide](#3114-qt6-experimental-builds-with-fedora-rawhide)
* [3.12. Building on Linux with vcpkg](#312-building-on-linux-with-vcpkg)
- [4. Building on Windows](#4-building-on-windows)
* [4.1. Building with Microsoft Visual Studio](#41-building-with-microsoft-visual-studio)
+ [4.1.1. Visual Studio 2022 Community Edition](#411-visual-studio-2022-community-edition)
Expand Down Expand Up @@ -581,6 +582,40 @@ To build,
cmake .. -DBUILD_WITH_QT6=ON -DWITH_QTWEBKIT=OFF -DWITH_QTWEBENGINE=ON
```

## 3.12. Building on Linux with vcpkg

With [vcpkg](https://github.com/microsoft/vcpkg/) you can develop QGIS using
Qt6 on a Linux system.

First, [Install and initialize vcpkg](https://github.com/microsoft/vcpkg-tool/blob/main/README.md#installuseremove).

Get the QGIS source code:

```sh
git clone [email protected]:qgis/QGIS.git
```

Configure:

```sh
cmake -S . \
-B ./build-x64-linux \
-GNinja \
-DCMAKE_BUILD_TYPE=Debug \
-DWITH_VCPKG=ON \
-DBUILD_WITH_QT6=ON \
-DWITH_QTWEBKIT=OFF \
-DWITH_BINDINGS=ON \
-DVCPKG_TARGET_TRIPLET=x64-linux-dynamic-release \
-DVCPKG_HOST_TRIPLET=x64-linux-dynamic-release
```

Build:

```sh
cmake --build ./build-x64-linux
```

# 4. Building on Windows

## 4.1. Building with Microsoft Visual Studio
Expand Down
9 changes: 9 additions & 0 deletions vcpkg/triplets/x64-linux-dynamic-release.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE dynamic)

set(VCPKG_CMAKE_SYSTEM_NAME Linux)
set(VCPKG_BUILD_TYPE release)

set(VCPKG_FIXUP_ELF_RPATH ON)

0 comments on commit dd03eeb

Please sign in to comment.