Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Update INSTALL after MXE->Fedora-mingw64 switch
  • Loading branch information
elpaso committed Feb 19, 2021
1 parent 7f0a9a9 commit a537950
Showing 1 changed file with 74 additions and 55 deletions.
129 changes: 74 additions & 55 deletions INSTALL.md
Expand Up @@ -2,57 +2,59 @@ Building QGIS from source - step by step

<!-- Table of contents generated with https://freelance-tech-writer.github.io/table-of-contents-generator/index.html -->

* [1. Introduction](#1-introduction)
* [2. Overview](#2-overview)
* [3. Building on GNU/Linux](#3-building-on-gnulinux)
* [3.1. Building QGIS with Qt 5.x](#31-building-qgis-with-qt-5x)
* [3.2. Prepare apt](#32-prepare-apt)
* [3.3. Install build dependencies](#33-install-build-dependencies)
* [3.4. Setup ccache (Optional, but recommended)](#34-setup-ccache-optional-but-recommended)
* [3.5. Prepare your development environment](#35-prepare-your-development-environment)
* [3.6. Check out the QGIS Source Code](#36-check-out-the-qgis-source-code)
* [3.7. Starting the compile](#37-starting-the-compile)
* [3.8. Compiling with 3D](#38-compiling-with-3d)
* [3.8.1. Compiling with 3D on Debian based distributions](#381-compiling-with-3d-on-debian-based-distributions)
* [3.9. Building different branches](#39-building-different-branches)
* [3.10. Building Debian packages](#310-building-debian-packages)
* [3.11. On Fedora Linux](#311-on-fedora-linux)
* [3.11.1. Install build dependencies](#3111-install-build-dependencies)
* [3.11.2. Suggested system tweaks](#3112-suggested-system-tweaks)
* [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 2015 Community Edition](#411-visual-studio-2015-community-edition)
* [4.1.2. Other tools and dependencies](#412-other-tools-and-dependencies)
* [4.1.3. Clone the QGIS Source Code](#413-clone-the-qgis-source-code)
* [4.1.4. Configure and build with CMake from command line](#414-configure-and-build-with-cmake-from-command-line)
* [4.1.4.1 Using configonly.bat to create the MSVC solution file](#4141-using-configonlybat-to-create-the-msvc-solution-file)
* [4.1.4.2 Compiling QGIS with MSVC](#4142-compiling-qgis-with-msvc)
* [4.1.5 Old alternative method that might still work using cmake-gui](#415-old-alternative-method-that-might-still-work-using-cmake-gui)
* [4.1.6. Packaging](#416-packaging)
* [4.1.7. Packaging your own build of QGIS](#417-packaging-your-own-build-of-qgis)
* [4.1.8. Osgeo4w packaging](#418-osgeo4w-packaging)
* [4.2. Building on Linux with mxe](#42-building-on-linux-with-mxe)
* [4.2.1. Building with Docker](#421-building-with-docker)
* [4.2.1.1. Initial setup](#4211-initial-setup)
* [4.2.1.2. Building the dependencies](#4212-building-the-dependencies)
* [4.2.1.3. Cross-Building QGIS](#4213-cross-building-qgis)
* [4.2.2. Testing QGIS](#422-testing-qgis)
* [5. Building on MacOS X](#5-building-on-macos-x)
* [5.1. Install Developer Tools](#51-install-developer-tools)
* [5.2. Install CMake and other build tools](#52-install-cmake-and-other-build-tools)
* [5.3. Install Qt5 and QGIS-Deps](#53-install-qt5-and-qgis-deps)
* [5.4. QGIS source](#54-qgis-source)
* [5.5. Configure the build](#55-configure-the-build)
* [5.6. Building](#56-building)
* [6. Setting up the WCS test server on GNU/Linux](#6-setting-up-the-wcs-test-server-on-gnulinux)
* [6.1. Preparation](#61-preparation)
* [6.2. Setup mapserver](#62-setup-mapserver)
* [6.3. Create a home page](#63-create-a-home-page)
* [6.4. Now deploy it](#64-now-deploy-it)
* [6.5. Debugging](#65-debugging)
* [7. Setting up a Jenkins Build Server](#7-setting-up-a-jenkins-build-server)
* [8. Debug output and running tests](#8-debug-output-and-running-tests)
* [9. Authors and Acknowledgments](#9-authors-and-acknowledgments)
# Table of Contents
- [Table of Contents](#table-of-contents)
- [1. Introduction](#1-introduction)
- [2. Overview](#2-overview)
- [3. Building on GNU/Linux](#3-building-on-gnulinux)
- [3.1. Building QGIS with Qt 5.x](#31-building-qgis-with-qt-5x)
- [3.2. Prepare apt](#32-prepare-apt)
- [3.3. Install build dependencies](#33-install-build-dependencies)
- [3.4. Setup ccache (Optional, but recommended)](#34-setup-ccache-optional-but-recommended)
- [3.5. Prepare your development environment](#35-prepare-your-development-environment)
- [3.6. Check out the QGIS Source Code](#36-check-out-the-qgis-source-code)
- [3.7. Starting the compile](#37-starting-the-compile)
- [3.8. Compiling with 3D](#38-compiling-with-3d)
- [3.8.1. Compiling with 3D on Debian based distributions](#381-compiling-with-3d-on-debian-based-distributions)
- [3.9. Building different branches](#39-building-different-branches)
- [3.10. Building Debian packages](#310-building-debian-packages)
- [3.11. On Fedora Linux](#311-on-fedora-linux)
- [3.11.1. Install build dependencies](#3111-install-build-dependencies)
- [3.11.2. Suggested system tweaks](#3112-suggested-system-tweaks)
- [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 2015 Community Edition](#411-visual-studio-2015-community-edition)
- [4.1.2. Other tools and dependencies](#412-other-tools-and-dependencies)
- [4.1.3. Clone the QGIS Source Code](#413-clone-the-qgis-source-code)
- [4.1.4. Configure and build with CMake from command line](#414-configure-and-build-with-cmake-from-command-line)
- [4.1.4.1 Using configonly.bat to create the MSVC solution file](#4141-using-configonlybat-to-create-the-msvc-solution-file)
- [4.1.4.2 Compiling QGIS with MSVC](#4142-compiling-qgis-with-msvc)
- [4.1.5 Old alternative method that might still work using cmake-gui](#415-old-alternative-method-that-might-still-work-using-cmake-gui)
- [4.1.6. Packaging](#416-packaging)
- [4.1.7. Packaging your own build of QGIS](#417-packaging-your-own-build-of-qgis)
- [4.1.8. Osgeo4w packaging](#418-osgeo4w-packaging)
- [4.2. Building on Linux with mingw64](#42-building-on-linux-with-mingw64)
- [4.2.1. Building with Docker](#421-building-with-docker)
- [4.2.1.1. Initial setup](#4211-initial-setup)
- [4.2.1.2. Building the dependencies](#4212-building-the-dependencies)
- [4.2.1.3. Cross-Building QGIS](#4213-cross-building-qgis)
- [4.2.2. Testing QGIS](#422-testing-qgis)
- [5. Building on MacOS X](#5-building-on-macos-x)
- [5.1. Install Developer Tools](#51-install-developer-tools)
- [5.2. Install CMake and other build tools](#52-install-cmake-and-other-build-tools)
- [5.3. Install Qt5 and QGIS-Deps](#53-install-qt5-and-qgis-deps)
- [5.4. QGIS source](#54-qgis-source)
- [5.5. Configure the build](#55-configure-the-build)
- [5.6. Building](#56-building)
- [6. Setting up the WCS test server on GNU/Linux](#6-setting-up-the-wcs-test-server-on-gnulinux)
- [6.1. Preparation](#61-preparation)
- [6.2. Setup mapserver](#62-setup-mapserver)
- [6.3. Create a home page](#63-create-a-home-page)
- [6.4. Now deploy it](#64-now-deploy-it)
- [6.5. Debugging](#65-debugging)
- [7. Setting up a Jenkins Build Server](#7-setting-up-a-jenkins-build-server)
- [8. Debug output and running tests](#8-debug-output-and-running-tests)
- [9. Authors and Acknowledgments](#9-authors-and-acknowledgments)

# 1. Introduction

Expand Down Expand Up @@ -692,12 +694,26 @@ The actual packaging process is currently not documented, for now please take a
look at `ms-windows/osgeo4w/package.cmd`.
## 4.2. Building on Linux with mxe
## 4.2. Building on Linux with mingw64
With this approach you can cross build a Windows binary on Linux using MXE (M cross environment).
You can find the build script and a README.md file in the ms-windows/mxe directory.
With this approach you can cross build a Windows binary on Linux using mingw64
in a Docker container.
For now, Python buildings cannot be built with mxe.
To build on Linux from your QGIS sources directory, launch:
```cmd
ms-windows/mingw/build.sh
```
After a successful build, you will find two packages in the QGIS sources
directory:
- qgis-portable-win64.zip (QGIS for Windows 64bit)
- qgis-portable-win64-debugsym.zip (debug symbols)
This method is also used in the continuous integrations process. After each pull
request the two packages mentioned above are stored as GitHub actions artifacts
and are available for download making it possible to quickly test changes on Windows.
### 4.2.1. Building with Docker
Expand Down Expand Up @@ -1192,3 +1208,6 @@ The following people have contributed to this document:
* Debug Output/Tests Section
* Larry Shaffer 2012, by way of 'Test Friday' Tim Sutton
* MXE/Mingw64 section
* Alessandro Pasotti (2018-2021)

0 comments on commit a537950

Please sign in to comment.