Skip to content
Permalink
Browse files

Merge pull request #41694 from elpaso/fedora-mingw-readme

Update INSTALL after MXE->Fedora-mingw64 switch
  • Loading branch information
elpaso committed Feb 20, 2021
2 parents 0a3b7d3 + 79a3388 commit f14edc3b5f9b7a83ddd59eb37e72e61d750b0bf5
Showing with 73 additions and 55 deletions.
  1. +73 −55 INSTALL.md
@@ -2,57 +2,58 @@ 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
- [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

@@ -692,12 +693,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
@@ -1192,3 +1207,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 f14edc3

Please sign in to comment.