Compile on MinGW/fr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
 
(24 intermediate revisions by one other user not shown)
Line 3: Line 3:
{{TOCright}}
{{TOCright}}


This guide will walk through the steps necessary to build FreeCAD on Windows using the MSYS2/MinGW environment. Basic familiarity with Bash shell commands will be useful for understanding what each step does, but following the guide by rote should result in a working build even if you don't understand exactly what you did to get it.
Ce guide explique les étapes nécessaires pour compiler FreeCAD sous Windows en utilisant l'environnement MSYS2/MinGW. Une connaissance de base avec les commandes du shell Bash sera utile pour comprendre ce que fait chaque étape, mais en suivant le guide, vous devriez obtenir une compilation fonctionnelle même si vous ne comprenez pas exactement ce que vous avez fait pour l'obtenir.


=== Before you start ===
=== Avant de commencer ===


Download and install [https://www.msys2.org MSYS2] if you have not already. When launching MSYS2, use the "MSYS2 MinGW 64-bit" runtime unless you know what you are doing and have a specific reason not to. If you use the UCRT console, make sure to adapt your installation to use the UCRT packages instead.
Téléchargez et installez [https://www.msys2.org MSYS2] si ce n'est pas déjà fait. Lorsque vous lancez MSYS2, utilisez le runtime "MSYS2 MinGW 64-bit" à moins que vous ne sachiez ce que vous faites et que vous ayez une raison spécifique de ne pas le faire. Si vous utilisez la console UCRT, veillez à adapter votre installation pour utiliser les paquets UCRT à la place.


<pre>
<pre>
Line 13: Line 13:
</pre>
</pre>


et ensuite relancer et exécuter
and then relaunching and running


<pre>
<pre>
Line 19: Line 19:
</pre>
</pre>


avant de poursuivre.
before proceeding.


=== Installer les outils de développement de base ===
=== Install basic development tools ===


Dans toutes les étapes suivantes, lorsque l'interpréteur de commandes de MSYS2 vous le demande, acceptez les installations par défaut de tous les éléments en appuyant sur "Entrée".
In all of the following steps, when prompted by MSYS2's shell, accept the default installations of everything by pressing "Enter" when asked.


First, install the mingw-w64 GCC toolchain:
Premièrement, installez la chaîne d'outils GCC mingw-w64 :


<pre>
<pre>
Line 31: Line 31:
</pre>
</pre>


Cette opération prendra probablement plusieurs minutes, car la chaîne d'outils du compilateur est assez volumineuse.
This will probably take several minutes to complete, as the compiler toolchain is quite large.


Install git:
Installez git :


<pre>
<pre>
Line 39: Line 39:
</pre>
</pre>


Close your current console window and relaunch the MSYS2 MinGW 64 console (in a standard installation this will be in your Start menu in the MSYS2 folder).
Fermez votre fenêtre de console en cours et relancez la console MSYS2 MinGW 64 (dans une installation standard, elle se trouve dans votre menu Démarrer dans le dossier MSYS2).


=== Check out the FreeCAD sources ===
=== Vérifier les sources de FreeCAD ===


To get the FreeCAD source code, clone it from the main git repository:
Pour obtenir le code source de FreeCAD, clonez-le depuis le dépôt git principal :


<pre>
<pre>
Line 49: Line 49:
</pre>
</pre>


If you do not want to compile the latest HEAD, once you have the source you can check out a specific tag:
Si vous ne voulez pas compiler le dernier HEAD, une fois que vous avez la source, vous pouvez vérifier une balise spécifique :


<pre>
<pre>
Line 56: Line 56:
</pre>
</pre>


Or a specific pull request (in this example, PR 1234):
Ou une demande spécifique (dans cet exemple, PR 1234) :


<pre>
<pre>
Line 64: Line 64:
</pre>
</pre>


Note that not all versions can be compiled on MSYS2, several changes were required to enable it and these were not present in the 0.19 or earlier versions. For example, the 0.19.3 tag will not be compilable.
Notez que toutes les versions ne peuvent pas être compilées sur MSYS2, plusieurs changements ont été nécessaires pour l'activer et ceux-ci n'étaient pas présents dans la 0.19 ou les versions antérieures. Par exemple, la balise 0.19.3 ne sera pas compilable.


=== Installer les bibliothèques requises ===
=== Install required libraries ===


FreeCAD dépend de nombreuses bibliothèques tierces pour sa fonctionnalité. Elles peuvent être installées individuellement, ou sous la forme d'une seule commande unifiée.
FreeCAD depends on many 3rd-party libraries for its functionality. They may be installed individually, or as a single unified command.


Maintenant, installez les dépendances requises suivantes en utilisant pacman :
Now, install the following required dependencies using pacman:


* mingw-w64-x86_64-opencascade
* mingw-w64-x86_64-opencascade
Line 89: Line 89:
* mingw-w64-x86_64-python-pygit2
* mingw-w64-x86_64-python-pygit2


Ce qui suit est une commande unique pour installer tout ce qui est dans la liste ci-dessus :
The following is a single command to install everything in the list above:


<pre>
<pre>
pacman -S mingw-w64-x86_64-opencascade mingw-w64-x86_64-xerces-c mingw-w64-x86_64-qt5 mingw-w64-x86_64-med mingw-w64-x86_64-swig mingw-w64-x86_64-qtwebkit mingw-w64-x86_64-coin mingw-w64-x86_64-python-pivy mingw-w64-x86_64-pyside2-qt5 mingw-w64-x86_64-python-python-ply mingw-w64-x86_64-python-six mingw-w64-x86_64-python-yaml mingw-w64-x86_64-python-numpy mingw-w64-x86_64-python-matplotlib mingw-w64-x86_64-python-markdown mingw-w64-x86_64-python-pygit2
pacman -S mingw-w64-x86_64-opencascade mingw-w64-x86_64-xerces-c mingw-w64-x86_64-qt5 mingw-w64-x86_64-med mingw-w64-x86_64-swig mingw-w64-x86_64-qtwebkit mingw-w64-x86_64-coin mingw-w64-x86_64-python-pivy mingw-w64-x86_64-pyside2-qt5 mingw-w64-x86_64-python-ply mingw-w64-x86_64-python-six mingw-w64-x86_64-python-yaml mingw-w64-x86_64-python-numpy mingw-w64-x86_64-python-matplotlib mingw-w64-x86_64-python-markdown mingw-w64-x86_64-python-pygit2
</pre>
</pre>


=== Build FreeCAD ===
===Compiler FreeCAD===


Créez un répertoire pour la compilation : notez que ce n'est généralement pas un sous-répertoire du répertoire source (il est souvent utile de pouvoir supprimer soit le répertoire source soit le répertoire de compilation).
Make a directory for the build: note this is typically not a subdirectory of the source directory (it is often useful to be able to delete either the source or the build directory independently).


<pre>
<pre>
Line 104: Line 104:
</pre>
</pre>


Run cMake:
Exécutez cMake :


<pre>
<pre>
Line 110: Line 110:
</pre>
</pre>


Et enfin :
And finally:


<pre>
<pre>

Latest revision as of 16:23, 7 March 2022

Ce guide explique les étapes nécessaires pour compiler FreeCAD sous Windows en utilisant l'environnement MSYS2/MinGW. Une connaissance de base avec les commandes du shell Bash sera utile pour comprendre ce que fait chaque étape, mais en suivant le guide, vous devriez obtenir une compilation fonctionnelle même si vous ne comprenez pas exactement ce que vous avez fait pour l'obtenir.

Avant de commencer

Téléchargez et installez MSYS2 si ce n'est pas déjà fait. Lorsque vous lancez MSYS2, utilisez le runtime "MSYS2 MinGW 64-bit" à moins que vous ne sachiez ce que vous faites et que vous ayez une raison spécifique de ne pas le faire. Si vous utilisez la console UCRT, veillez à adapter votre installation pour utiliser les paquets UCRT à la place.

pacman -Syu

et ensuite relancer et exécuter

pacman -Su

avant de poursuivre.

Installer les outils de développement de base

Dans toutes les étapes suivantes, lorsque l'interpréteur de commandes de MSYS2 vous le demande, acceptez les installations par défaut de tous les éléments en appuyant sur "Entrée".

Premièrement, installez la chaîne d'outils GCC mingw-w64 :

pacman -S --needed base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja

Cette opération prendra probablement plusieurs minutes, car la chaîne d'outils du compilateur est assez volumineuse.

Installez git :

pacman -S git

Fermez votre fenêtre de console en cours et relancez la console MSYS2 MinGW 64 (dans une installation standard, elle se trouve dans votre menu Démarrer dans le dossier MSYS2).

Vérifier les sources de FreeCAD

Pour obtenir le code source de FreeCAD, clonez-le depuis le dépôt git principal :

git clone https://github.com/FreeCAD/FreeCAD

Si vous ne voulez pas compiler le dernier HEAD, une fois que vous avez la source, vous pouvez vérifier une balise spécifique :

cd FreeCAD
git checkout tags/1.0 -b releases/FreeCAD-1-0

Ou une demande spécifique (dans cet exemple, PR 1234) :

cd FreeCAD
git fetch origin pull/1234/head:pr/1234
git checkout pr/1234

Notez que toutes les versions ne peuvent pas être compilées sur MSYS2, plusieurs changements ont été nécessaires pour l'activer et ceux-ci n'étaient pas présents dans la 0.19 ou les versions antérieures. Par exemple, la balise 0.19.3 ne sera pas compilable.

Installer les bibliothèques requises

FreeCAD dépend de nombreuses bibliothèques tierces pour sa fonctionnalité. Elles peuvent être installées individuellement, ou sous la forme d'une seule commande unifiée.

Maintenant, installez les dépendances requises suivantes en utilisant pacman :

  • mingw-w64-x86_64-opencascade
  • mingw-w64-x86_64-xerces-c
  • mingw-w64-x86_64-qt5
  • mingw-w64-x86_64-med
  • mingw-w64-x86_64-swig
  • mingw-w64-x86_64-qtwebkit
  • mingw-w64-x86_64-coin
  • mingw-w64-x86_64-python-pivy
  • mingw-w64-x86_64-python-ply
  • mingw-w64-x86_64-python-six
  • mingw-w64-x86_64-python-yaml
  • mingw-w64-x86_64-python-numpy
  • mingw-w64-x86_64-python-matplotlib
  • mingw-w64-x86_64-pyside2-qt5
  • mingw-w64-x86_64-python-markdown
  • mingw-w64-x86_64-python-pygit2

Ce qui suit est une commande unique pour installer tout ce qui est dans la liste ci-dessus :

pacman -S mingw-w64-x86_64-opencascade mingw-w64-x86_64-xerces-c mingw-w64-x86_64-qt5 mingw-w64-x86_64-med mingw-w64-x86_64-swig mingw-w64-x86_64-qtwebkit mingw-w64-x86_64-coin mingw-w64-x86_64-python-pivy mingw-w64-x86_64-pyside2-qt5 mingw-w64-x86_64-python-ply mingw-w64-x86_64-python-six mingw-w64-x86_64-python-yaml mingw-w64-x86_64-python-numpy mingw-w64-x86_64-python-matplotlib mingw-w64-x86_64-python-markdown mingw-w64-x86_64-python-pygit2

Compiler FreeCAD

Créez un répertoire pour la compilation : notez que ce n'est généralement pas un sous-répertoire du répertoire source (il est souvent utile de pouvoir supprimer soit le répertoire source soit le répertoire de compilation).

mkdir FreeCAD-build
cd FreeCAD-build

Exécutez cMake :

cmake ../FreeCAD

Et enfin :

cmake --build ./