Compile on Windows/fr

Cet page explique pas à pas comment compiler FreeCAD 0.18 ou plus récent dans Windows.

Prérequis
Premièrement, vous devez installer les bibliothèques et programmes suivants:

Requis

 * Git (Il y a plusieurs solutions alternatives telles que GitCola, Tortoise Git, et d'autres.)
 * CMake version 3.11.x - 3.14.x. Remarque: On ne peut généralement pas utiliser la dernière version de CMake. Par conséquent, utilisez uniquement une version de CMake dans la plage spécifiée sur cette page! Il est recommandé d'utiliser l'option "Ajouter CMake au chemin système pour tous les utilisateurs" lors de l'installation de CMake. Ensuite, vous pourrez facilement accéder ultérieurement à CMake également à partir de la ligne de commande/powershell.
 * LibPack (également appelé FreeCADLibs). Ceci est un ensemble de bibliothèques nécessaires à la compilation de FreeCAD sous Windows. Selon la version de FreeCAD que vous souhaitez compiler, vous devez télécharger le LibPack correspondant. Par exemple, pour compiler FreeCAD 0.18, téléchargez la version 32 bits ou la version 64 bits du LibPack for 0.18, afin de compiler la dernière version de développement 0.19, téléchargez LibPack pour la version 0.19 (il n’existe qu'une version 64 bits). Il suffit de télécharger le LibPack pour décompresser et installez-le plus tard.  Note: Il est recommandé d'utiliser la même version de compilationMS Visual Studio (MSVC) pour laquelle LibPack est conçu. Cela garantit la réussite de la compilation et de l’exécution de FreeCAD.exe compilé. Ainsi, vous devriez par exemple pouvoir compiler FreeCAD 0.18 en utilisant LibPack pour 0.19 et MSVC 15, mais vous rencontrerez peut-être des problèmes pour compiler FreeCAD 0.18 en utilisant LibPack pour 0.18 et MSVC 15, car LibPack pour 0.18 est conçu pour être construit avec MSVC 12.

Programmes optionnels

 * Python 3.x. Une installation distincte de python n'est pas obligatoire car LibPack contient Python. Cependant, pour pouvoir tester ultérieurement votre version de FreeCAD, il est utile de disposer d'une installation Python autonome. Il est recommandé d’utiliser non pas la dernière version, mais la version précédente (par exemple, pas Python 3.7 mais 3.6).
 * Une interface graphique pour Git. Plusieurs interfaces sont disponibles, voir cette liste. L'avantage principal d'une interface est qu'il n'est pas nécessaire d'apprendre les commandes Git pour obtenir le code source de FreeCAD ou pour envoyer des correctifs au référentiel GitHub de FreeCAD. Nous décrivons ci-après la gestion du code source à l'aide de l'interface TortoiseGit. Cette interface s’intègre directement à l’explorateur de fichiers Windows et dispose d’une large communauté d’utilisateurs pour obtenir de l’aide en cas de problème.
 * NSIS Ceci est le programme pour générer l'installateur Windows de FreeCAD. (Information: pour FreeCAD 0.17 et les versions antérieures, le programme WiX a été utilisé pour créer le programme d'installation.)

Code source
Vous pouvez maintenant obtenir le code source de FreeCAD:

Utiliser une interface
Lorsque vous utilisez le Git frontend TortoiseGit: Maintenant, le code source est téléchargé et son dossier devient un dossier suivi par Git.
 * 1) Créez un nouveau dossier où placer le code source.
 * 2) Cliquez avec le bouton droit sur ce dossier dans l’explorateur de fichiers Windows et sélectionnez-le dans le menu contextuel Git Clone.
 * 3) Un dialogue apparaîtra. Utilisez-le ici comme URL pour le référentiel FreeCAD https://github.com/FreeCAD/FreeCAD.git et cliquez sur OK.

Utiliser la ligne de commande
Pour créer une branche locale et télécharger le code source, vous devez ouvrir un terminal (invite de commande) et entrez dans le répertoire ou vous désirez placer le code source, puis tapez:

Compiler
Sous Windows, le compilateur par défaut est MS Visual Studio CI utilise la version 2013.

You can get a free version of MSVC (for OpenSource usage) by downloading the Community edition of MS Visual Studio. To do so, use this URL https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=xx  where xx is the version number. So to get MSVC 15 (calso called MSVC 2017), use this URL: https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=15

Pour ceux qui ne veulent pas installer l'énorme Visual Studio uniquement pour avoir un compilateur, voir CompileOnWindows - Réduire l'espace disque.

Note: Despite that the Community edition of MSVC is free, you must create a Microsoft account from withing the MSVC IDE that you can use the IDE for more than 30 days. If you will only compile using the command line, you don't need the IDE and thus no Microsoft account.

Chemin de Configuration Système
Dans votre système veillez définir les chemins corrects pour les programmes suivants:


 * git (non TortoiseGit, mais git.exe) il est nécessaire pour que Cmake mettre à jour correctement l'information "A propos de FreeCAD" dans le fichier de version.h qui permet à FreeCAD de signaler la bonne version "A propos de FreeCAD" à partir du menu Aide.


 * Optionnellement, vous pouvez inclure libpack dans votre chemin d'accès système. Ceci est utile si vous envisagez de construire de multiples configurations/versions de FreeCAD, vous devrez copier moins de fichiers comme expliqué plus loin dans le processus de construction.


 * You can include the folder of your LibPack in your system PATH variable. This is useful if you plan to build multiple configurations/versions of FreeCAD.
 * If you did not use the option to add CMake to the PATH while installing it, add its installation folder C:\Program Files\CMake\bin to the PATH.
 * If you did not use the option to add TortoiseGit to the PATH while installing it, add its installation folder C:\Program Files\TortoiseGit\bin to the PATH.

Pour ajouter à votre chemin au système:

LibPack
At first you need to setup a build folder:
 * 1) Create a new folder where the compiled FreeCAD should be. It is highly recommended that this folder is not inside the source code folder of FreeCAD.
 * 2) Create there a new subfolder for the LibPack. Give it for example the same name like the LibPack.
 * 3) Extract the LibPack to this subfolder.

CMake
La première étape pour construire FreeCAD avec CMake est de configurer son environnement.

Cela commencera la configuration et échouera à cause de paramètres manquants. Donc maintenant:
 * 1) Recherchez dans CMake la variable 'FREECAD_LIBPACK_DIR'  et spécifiez-y l'emplacement correct dans le dossier LibPack.
 * 2) Recherchez la variable BUILD_QT5 et activez cette option.
 * 3) Cliquez à nouveau sur Configurer

If it fails with the message that Visual Studio could not be found the CMake support in MSVC is not yet installed. To do this:
 * 1)  Open the MSVC IDE
 * 2)  Use the menu Tools -> Get Tools and Features
 * 3)  In the Workloads tab enable Desktop development with C++
 * 4) On the right side you should now see that the component Visual C++ tools for CMake will be installed.
 * 5) Install it.

If there is no error about Visual Studio, everything is fine, but CMake does not yet know all necessary settings. Therefore now:
 * 1) Assure that the search option Advanced is checked.
 * 2) Search in CMake for the variable FREECAD_LIBPACK_DIR and specify there the correct location to the LibPack folder.
 * 3) Search for the variable BUILD_QT5 and enable this option.
 * 4) Click Configure again

Il ne devrait maintenant y avoir aucune erreur. Si oui, cliquez sur Générer. Ceci fait, vous pouvez fermer CMake et continuer à démarrer la compilation de FreeCAD. Cependant, pour la première compilation, maintenez-le ouvert pour le cas où vous souhaitez ou devez modifier certaines options pour le processus de construction:

Options pour le Procédé de Compilation
Le système de construction CMake vous donne la flexibilité nécessaire pour le processus de construction. Cela signifie que vous pouvez activer et désactiver certaines fonctionnalités ou certains modules. (Cela ressemble en quelque sorte à la construction du noyau Linux.)

Voici la description de certains de ces commutateurs:

Compilation de FreeCAD
En fonction de votre configuration actuelle, le processus de compilation de FreeCAD sera légèrement différente. Cela est dû à des différences dans les versions du logiciel et des logiciels disponibles pour chaque système d'exploitation.

Building with Visual Studio 15 2017
This will now take quite a long time.
 * 1) Start the Visual Studio IDE. This can either be done by pressing the button Open Project in the CMake GUI or by double-clicking on the file FreeCAD.sln that you find in your build folder.
 * 2) In the toolbar of the MSVC IDE assure that you use for the first compilation Release.
 * 3) There is a window called Solution explorer. it lists all possible compilation targets. To start a full compilation, right-click on the target ALL_BUILD and then choose Build.

To compile a ready-to use FreeCAD, compile the target INSTALL, see section Running and installing FreeCAD.

If you don't get any errors you are done. Congratulations! You can exit MSVC or keep it open.

Compilation avec Visual Studio 12 2013
Assurez vous de spécifier Visual Studio 12 x64(ou un Compilateur-C que vous utilisez) comme compilateur utilisé par CMake avant de continuer.


 * Démarrez Visual Studio 12 2013 en cliquant sur l'icône du bureau créé lors de son installation.

Fichier → Ouvrir → Projet/Solution
 * Ouvrez le projet par:


 * Ouvrez le fichier FreeCAD_Trunk.sln dans le dossier CMake créé

Cette action peut prendre un certain temps en fonction de votre système
 * Dans Configuration Solutions, en haut de la barre déroulante activez Release X64


 * Build → Build Solution


 * Cela va prendre un certain temps ...

Si vous ne recevez pas d'erreurs vous avez terminé. Quitter Visual Studio et lancez FreeCAD en double cliquant sur l'icône FreeCAD dans le dossier bin du répertoire de compilation.

Installation et configuration de Qt Creator

 * Téléchargez et installez Qt Creator
 * Outils → Options → Editeur Texte → Behavior tab:
 * File Encodings → Default Encodings:
 * Set to: ISO-8859-1 /...csISOLatin1 (Certain caracteres créent une errors/warnings avec Qt Creator if left set to UTF-8. Cela semble pour corrigé.)
 * Tools → Options → Build & Run:
 * CMake tab
 * Fill Executable box with path to cmake.exe
 * Kits tab
 * Name: MSVC 2008
 * Compiler: Microsoft Visual C++ Compiler 9.0 (x86)
 * Debugger: Détection automatique ...
 * Qt version: None
 * General tab
 * Uncheck: Toujours compiler et déployer le projet
 * Uncheck: Toujours déployer le projet avant de l'exécuter

Importer un projet et compiler

 * File → Open File or Project
 * Open CMakeLists.txt qui est dans le plus haut niveau de la source
 * Ceci démarre CMake
 * Choisissez créer le répertoire et cliquez sur suivant
 * Ensemble de générateurs de NMake Generator (MSVC 2008)
 * Cliquez sur Démarrer CMake. Suivez les instructions décrites ci-dessus pour configurer CMake à votre convenance.

Maintenant FreeCAD est construit
 * Build → Build All
 * Ceci peut prendre du temps...

Une fois terminé, il peut être exécuté: Il y a 2 triangles verts en bas à gauche. Un est pour la mise au point. L'autre est pour l'exécution. Faites votre choix.

Compilation en ligne de commande
The steps how to compile from the command line depends on the compiler. For MSVC 2017 the steps are:
 * 1) In Windows' start menu go to  and choose Developer Command Prompt for VS 2017
 * 2) Change to your build folder.
 * 3) Execute the command  or

Ici un exemple de compilation en ligne de commande:

Exécution et installation de FreeCAD
Il existe 2 méthodes pour exécuter la compilation de FreeCAD:
 * 1) Vous exécutez FreeCAD.exe que vous trouvez dans votre dossier de construction qui se trouve dans le sous-dossier bin
 * 2) Vous construisez la cible INSTALL

La méthode 2 est la plus simple, car elle assure automatiquement que toutes les bibliothèques requises pour exécuter FreeCAD.exe se trouvent dans le bon dossier. FreeCAD.exe et les bibliothèques seront sortis dans le dossier que vous avez spécifié dans la variable CMake CMAKE_INSTALL_PREFIX. Pour FreeCAD 0.19, il n’y a actuellement qu’un problème qui nécessite votre intervention: Cela ajoute le style nécessaire pour que FreeCAD ressemble à un programme Win 10 normal, sinon, il ressemble à Windows 98.
 * 1) Téléchargez le fichier qwindowsvistastyle.zip à partir du forum FreeCAD.
 * 2) Créez un nouveau sous-dossier nommé styles dans le dossier bin.
 * 3) Extraire le fichier ZIP dans ce dossier.

Pour la méthode 1, vous devez placer les bibliothèques dans le dossier bin de votre dossier de construction (où se trouve FreeCAD.exe). Cela peut être facilement fait en utilisant l'option de variable CMake FREECAD_COPY_LIBPACK_BIN_TO_BUILD.

For FreeCAD 0.19 there is currently only one issue that requires manual action:
 * 1) Download the file qwindowsvistastyle.zip from the FreeCAD forum.
 * 2) Create a new subfolder named styles in the bin folder (where the FreeCAD.exe is).
 * 3) Extract the ZIP-file to this folder. This adds the necessary style to make FreeCAD look like a normal Win 10 program. Otherwise it looks like in Windows 98.

Updating the build
FreeCAD is very actively developed. Therefore its source code changes almost daily. New features are added and bugs are fixed. To benefit from these source code changes, you must rebuild your FreeCAD. This is done in two steps:
 * 1) Updating the source code
 * 2) Recompilation

Using a frontend
When using the Git frontend TortoiseGit:
 * 1) Right-click on your FreeCAD source code folder in the Windows file explorer and select in the context menu Pull.
 * 2) A dialog will appear. Select there what development branch you want to get. master is the main branch. Therefore use this unless you want to compile a special new feature from a branch that has not yet been merged to master. (For more about Git branches, see Git development process.) Finally click OK.

Using the command line
Open a terminal (command prompt) and switch there to your source directory. Then type:

where master the the name of the main development branch. If you want to get code from another branch, use its name instead of master.

Recompilation

 * 1) Open the MSVC IDE by double-clicking either on the file FreeCAD.sln or on the file ALL_BUILD.vcxproj in your build folder.
 * 2) Continue with step 2 from section Building with Visual Studio 15 2017.