Compile on Windows/fr: Difference between revisions

From FreeCAD Documentation
mNo edit summary
No edit summary
 
(271 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{docnav/fr
{{Docnav/fr
|[[Tracker/fr|Tracker]]
|[[License/fr|Licence]]
|[[Compile_on_Linux/Unix/fr|Compiler sous Linux/Unix]]
|[[Compile_on_Linux/fr|Compiler sous Linux]]
}}
}}


{{TOCright}}
Cette page explique pas à pas '''comment compiler FreeCAD 0.18 ou plus récent dans Windows'''.


Cette page explique étape par étape '''comment compiler FreeCAD 0.19 ou plus récent sous Windows''' en utilisant le compilateur MSVC de Microsoft. Pour des informations sur l'utilisation de MSYS2/MinGW voir [[Compile_on_MinGW/fr|Compiler sous MinGW]]. Pour les autres plateformes, voir [[Compiling/fr|Compiler]].

<span id="Prerequisites"></span>
== Prérequis ==
== Prérequis ==


La compilation de FreeCAD sous Windows nécessite plusieurs outils et bibliothèques.
Premièrement, vous devez installer les bibliothèques et programmes suivants:


<span id="Required"></span>
===Requis===
===Requis===


* Un compilateur. FreeCAD est testé avec Visual Studio (MSVC)-d'autres compilateurs peuvent fonctionner, mais les instructions d'utilisation ne sont pas incluses ici. Pour plus de détails, voir la section [[#Compilateur|Compilateur]] ci-dessous.
* [http://git-scm.com/ Git] (Il y a plusieurs solutions alternatives telles que GitCola, Tortoise Git, et d'autres.)


* [http://git-scm.com/ Git] (Il existe également des interfaces GUI disponibles pour Git, voir la section suivante.)
* [http://www.cmake.org/cmake/resources/software.html 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.
* [https://cmake.org/download/ CMake] version 3.11.x ou plus récente. </br> ''Astuce :'' Choisir l'option ''Ajouter CMake au chemin du système pour tous les utilisateurs'' lors de l'installation de CMake rendra CMake accessible depuis l'invite de commande Windows, ce qui peut être utile.


* 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 [https://github.com/FreeCAD/FreeCAD-ports-cache/releases/tag/v0.18 LibPack for 0.18], afin de compiler la dernière version de développement 0.19, téléchargez [https://github.com/FreeCAD/FreeCAD/releases/tag/0.19_pre LibPack pour la version 0.19] (il n’existe qu'une version 64 bits).
* [https://github.com/FreeCAD/FreeCAD-LibPack LibPack]. Il s'agit d'un paquetage unique contenant toutes les bibliothèques nécessaires à la compilation de FreeCAD sous Windows. Téléchargez la version du LibPack qui correspond à la version de FreeCAD que vous voulez compiler. Pour compiler FreeCAD 0.20 téléchargez [https://github.com/FreeCAD/FreeCAD-LibPack/releases/tag/2.6 LibPack version 2.6], pour FreeCAD 0.19 téléchargez [https://github.com/FreeCAD/FreeCAD-LibPack/releases/tag/1.0 LibPack version 1.0]. Extrayez LibPack à un endroit approprié. (Si votre ordinateur ne reconnaît pas l'extension .7z, vous devez installer le programme [https://www.7-zip.org 7-zip]).</br> '''Remarque''' : il est fortement recommandé de compiler FreeCAD avec la version du compilateur pour laquelle le LibPack est conçu. Par exemple, vous pourriez rencontrer des problèmes en compilant FreeCAD 0.20 avec MSVC&nbsp;2017 parce que le LibPack est conçu pour être construit avec MSVC&nbsp;2019 ou plus récent.</br>Pour mettre à jour votre LibPack ultérieurement, consultez la section [[#Mise_.C3.A0_jour_de_LibPack|Mise à jour de LibPack]].

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 compilation''MS 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&nbsp;12.


<span id="Optional_programs"></span>
=== Programmes optionnels ===
=== Programmes optionnels ===

* [https://www.python.org/downloads/ 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 [https://en.wikipedia.org/wiki/Comparison_of_Git_GUIs 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.
* Une interface graphique pour Git. Plusieurs interfaces sont disponibles, voir [https://en.wikipedia.org/wiki/Comparison_of_Git_GUIs 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 [https://tortoisegit.org/ 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.
Nous décrivons ci-après la gestion du code source à l'aide de l'interface [https://tortoisegit.org/ TortoiseGit]. Cette interface s'intègre directement dans l'explorateur de fichiers Windows et dispose d'une large communauté d'utilisateurs pour obtenir de l'aide en cas de problème.


* [http://sourceforge.net/projects/nsis/ 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 [http://wixtoolset.org/ WiX] a été utilisé pour créer le programme d'installation.)
* [http://sourceforge.net/projects/nsis/ NSIS] est utilisé pour générer le programme d'installation de FreeCAD Windows.


<span id="Source_code"></span>
===Code source===
===Code source===


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


<span id="Using_a_frontend"></span>
====Utiliser une interface====
====Utiliser une interface====


Lorsque vous utilisez le [https://en.wikipedia.org/wiki/Comparison_of_Git_GUIs Git frontend] TortoiseGit:
Lorsque vous utilisez le [https://en.wikipedia.org/wiki/Comparison_of_Git_GUIs Git frontend] TortoiseGit :
# Créez un nouveau dossier placer le code source.
# Créez un nouveau dossier dans lequel le code source sera téléchargé.
# Cliquez avec le bouton droit sur ce dossier dans l’explorateur de fichiers Windows et sélectionnez-le dans le menu contextuel '''Git Clone'''.
# Cliquez avec le bouton droit de la souris sur ce dossier dans l'explorateur de fichiers Windows et sélectionnez '''Git Clone''' dans le menu contextuel.
# Un dialogue apparaîtra. Utilisez-le ici comme URL pour le référentiel FreeCAD
# Une boîte de dialogue apparaîtra. Dans celui-ci, entrez l'URL du dépôt FreeCAD Git


''https://github.com/FreeCAD/FreeCAD.git''
''https://github.com/FreeCAD/FreeCAD.git''
Line 50: Line 52:
et cliquez sur '''OK'''.
et cliquez sur '''OK'''.


Maintenant, le code source est téléchargé et son dossier devient un dossier suivi par Git.
Le dernier code source sera téléchargé à partir du dépôt FreeCAD Git et le dossier sera suivi par Git.


<span id="Using_the_command_line"></span>
====Utiliser la ligne de commande====
====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:
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 :


{{Code|code=
{{Code|code=
Line 60: Line 63:
}}
}}


===Compiler===
<span id="Compiler"></span>
===Compilateur===


Le compilateur par défaut (recommandé) est MS Visual Studio (MSVC). Bien qu'il soit possible d'utiliser d'autres compilateurs utilisant Cygwin ou MinGW gcc, il n'a pas encore été testé ou porté.
Le compilateur par défaut (recommandé) est MS Visual Studio (MSVC). Bien qu'il soit possible d'utiliser d'autres compilateurs, par exemple gcc via Cygwin ou MinGW, cela n'est pas testé ni couvert ici.


Vous pouvez obtenir une version gratuite de MSVC (pour une utilisation OpenSource) en téléchargeant l'édition "Communauté" de MS Visual Studio. Pour ce faire, utilisez cette URL
Vous pouvez obtenir une version gratuite de MSVC (pour un usage individuel) en téléchargeant l '[https://visualstudio.microsoft.com/vs/community/ édition ''Community'' de MS Visual Studio].

<nowiki> https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=xx </nowiki>

où xx est le numéro de version. Donc, pour obtenir MSVC 15 (appelé également MSVC 2017), utilisez cette URL:

https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=15


Pour ceux qui ne veulent pas installer l'énorme MSVC uniquement pour avoir un compilateur, voir [[CompileOnWindows - Reducing Disk Footprint/fr|CompileOnWindows - Réduire l'espace disque]].
Pour ceux qui ne veulent pas installer l'énorme MSVC uniquement pour avoir un compilateur, voir [[CompileOnWindows - Reducing Disk Footprint/fr|CompileOnWindows - Réduire l'espace disque]].


'''Remarque:''' Bien que l'édition ''Communauté'' de MSVC soit gratuite, vous devez créer un compte Microsoft à partir de l'EDI MSVC pour pouvoir utiliser l'EDI pendant plus de 30 jours. Si vous ne compilez qu'en utilisant la ligne de commande, vous n'avez pas besoin de l'EDI et donc pas de compte Microsoft.
'''Remarque :''' Bien que l'édition ''Community'' de MSVC soit gratuite, pour utiliser l'EDI pendant plus de 30 jours, vous devez créer un compte Microsoft. Si vous ne compilez qu'en utilisant la ligne de commande, vous n'avez pas besoin de l'EDI et donc pas de compte Microsoft.


Comme alternative gratuite et OpenSource IDE, vous pouvez utiliser [https://www.kdevelop.org/download KDevelop]. Vous pouvez utiliser KDevelop pour modifier et écrire du code C ++, mais vous devez utiliser la ligne de commande pour compiler.
Comme alternative gratuite et OpenSource IDE, vous pouvez utiliser [https://www.kdevelop.org/download KDevelop]. Vous pouvez utiliser KDevelop pour modifier et écrire du code C ++, mais vous devez utiliser la ligne de commande pour compiler.


<span id="Optional_system_path_configuration"></span>
===Chemin de Configuration Système optionnel===
===Configuration optionnelle du chemin d'accès au système===


Vous pouvez éventuellement inclure les chemins d'accès à certains dossiers de la variable système PATH. Ceci est utile si vous souhaitez accéder aux programmes de ces dossiers à partir de la ligne de commande/powershell ou si vous souhaitez que des programmes spéciaux soient trouvés par le compilateur ou CMake. En outre, l’ajout de dossiers à PATH peut s’avérer nécessaire si vous n’utilisez pas les options correspondantes lors de l’installation du programme.
Vous pouvez éventuellement inclure les chemins d'accès à certains dossiers de la variable système PATH. Ceci est utile si vous souhaitez accéder aux programmes de ces dossiers à partir de la ligne de commande/powershell ou si vous souhaitez que des programmes spéciaux soient trouvés par le compilateur ou CMake. En outre, l’ajout de dossiers à PATH peut s’avérer nécessaire si vous n’utilisez pas les options correspondantes lors de l’installation du programme.
Line 90: Line 89:
''C:\Program Files\TortoiseGit\bin'' à PATH.
''C:\Program Files\TortoiseGit\bin'' à PATH.


Pour ajouter à votre chemin au système:
Pour ajouter à votre chemin au système :
# Dans le menu Démarrer de Windows, cliquez avec le bouton droit de la souris sur ''Ordinateur'' et choisissez ''Propriétés''.
# Dans le menu Démarrer de Windows, cliquez avec le bouton droit de la souris sur ''Ordinateur'' et choisissez ''Propriétés''.
# Dans la boîte de dialogue qui apparaît, cliquez sur ''Paramètres système avancés''.
# Dans la boîte de dialogue qui apparaît, cliquez sur ''Paramètres système avancés''.
Line 100: Line 99:
== Configuration ==
== Configuration ==


Une fois que vous avez tous les outils, bibliothèques et code source FreeCAD nécessaires, vous êtes prêt à commencer le processus de configuration et de compilation. Ce processus se déroulera en cinq étapes :
===LibPack===
# Exécutez CMake une fois pour examiner votre système et commencer la progression de la configuration (cela signalera qu'il a échoué).

# Ajustez les paramètres CMake nécessaires pour définir les emplacements du LibPack et activer Qt5.
Au début, vous devez configurer un dossier de construction:
# Relancez CMake pour finaliser la configuration (cette fois, cela devrait réussir).
# Créez un nouveau dossier où va se trouver FreeCAD compilé. Il est fortement recommandé que ce dossier ne se trouve pas dans le dossier du code source de FreeCAD.
# Utilisez CMake pour générer le système de build Visual Studio.
# Créez-y un nouveau sous-dossier pour le LibPack. '''Remarque:''' Le nom de ce sous-dossier doit être identique au nom du fichier LibPack. Si par exemple le LibPack a le nom de fichier ''FreeCADLibs_12.1.2_x64_VC15.7z'', vous devez nommer le sous-dossier ''FreeCADLibs_12.1.2_x64_VC15''.
# Utilisez Visual Studio pour créer FreeCAD.
# Extrayez le LibPack dans ce sous-dossier.


===CMake===
===CMake===


Maintenant, vous devez configurer l'environnement de construction à l'aide de CMake:
Tout d'abord, configurez l'environnement de compilation en utilisant CMake :
# Ouvrez l'interface graphique de CMake
# Ouvrez l'interface graphique de CMake
# Spécifiez le dossier source de FreeCAD
# Spécifiez le dossier source de FreeCAD.
# Spécifiez un dossier de compilation. Cela peut être '''compilé''' dans le dossier où vous avez cloné le repo car ce chemin est ignoré par git. N'utilisez pas le dossier source. CMake va créer ce dossier s'il n'existe pas.
# Spécifiez le dossier de construction que vous venez de créer à l'étape précédente.
# Cliquez sur '''Configurer'''
# Cliquez sur '''Configure'''.
# Dans la boîte de dialogue qui apparaît, spécifiez le générateur en fonction de celui que vous souhaitez utiliser. Pour MS Visual Studio standard, utilisez ''Visual Studio xx 2yyy'', où xx correspond à la version du compilateur et à l'année de sa publication. Il est recommandé d'utiliser l'option par défaut ''Utiliser les compilateurs natifs par défaut''.
# Dans la boîte de dialogue qui apparaît, spécifiez le générateur que vous voulez utiliser : dans la plupart des cas, vous utiliserez les valeurs par défaut de cette boîte de dialogue. Pour le MS Visual Studio standard, utilisez ''Visual Studio xx 2yyy'' où xx est la version du compilateur et 2yyy l'année de sa sortie. Il est recommandé d'utiliser l'option par défaut ''Use default native compilers''.


'''Remarque:''' Il est important de spécifier la variante de bit correcte. Si vous avez la variante 64 bits de LibPack, vous devez également utiliser le compilateur x64.
'''Remarque:''' Il est important de spécifier la variante de bit correcte. Si vous avez la variante 64 bits de LibPack, vous devez également utiliser le compilateur x64.


Cela commencera la configuration et échouera à cause de paramètres manquants.
Cela commencera la configuration et ''échouera'' à cause de paramètres manquants. C'est normal, vous n'avez pas encore spécifié l'emplacement du LibPack. Cependant, d'autres problèmes peuvent survenir et nécessiter une action supplémentaire de votre part.


S'il échoue avec le message "Visual Studio est introuvable", la prise en charge de CMake dans MSVC n'est pas encore installée. Pour l'installer:
S'il échoue avec le message Visual Studio est introuvable, la prise en charge de CMake dans MSVC n'est pas encore installée. Pour l'installer :
# Ouvrez l'EDI MSVC
# Ouvrez l'EDI MSVC
# Utilisez le menu OutilsObtenir les outils et fonctionnalités
# Utilisez le menu ToolsGet Tools and Features
# Dans l'onglet ''Workloads'', activez ''Développement de bureau avec C++''
# Dans l'onglet ''Workloads'', activez ''Desktop development with C++''
# Sur le côté droit, vous devriez maintenant voir que le composant ''Outils Visual C++ pour CMake'' sera installé.
# Sur le côté droit, vous devriez maintenant voir que le composant ''Visual C++ tools for CMake'' sera installé.
# Installez-le.
# Installez-le.


Si cela échoue avec un message sur la mauvaise version de Python ou Python manquant, alors :
S'il n'y a pas d'erreur à propos de Visual Studio, tout va bien, mais CMake ne connaît pas encore tous les paramètres nécessaires. Donc maintenant:
# Utilisez la case "Search:" dans CMake pour rechercher la chaîne "Python"
# Assurez-vous que l'option de recherche ''Avancée'' est cochée.
# Si vous y voyez un chemin comme ''C:/Program Files/Python38/python.exe'', CMake a reconnu le Python qui est déjà installé sur votre PC, mais cette version n'est pas compatible avec le LibPack. Étant donné que le LibPack inclut une version compatible de Python, modifiez les paramètres Python suivants dans CMake sur ses chemins (en supposant que le LibPack se trouve dans le dossier ''D:/FreeCAD-build/FreeCADLibs_2_8_x64_VC2019'') :
# Recherchez dans CMake la variable '''FREECAD_LIBPACK_DIR''' et spécifiez-y l'emplacement correct dans le dossier LibPack.
[[File:CMake_Python_settings.png]]
# Recherchez la variable '''BUILD_QT5''' et activez cette option.
# Cliquez à nouveau sur '''Configurer'''


S'il n'y a pas d'erreur concernant Visual Studio ou Python, tout va bien, mais CMake ne connaît pas encore tous les paramètres nécessaires. Donc maintenant :
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:
# Cherchez dans CMake la variable '''FREECAD_LIBPACK_DIR''' et spécifiez l'emplacement du dossier LibPack que vous avez téléchargé plus tôt.
# (''Si vous compilez FreeCAD 0.19'') cherchez la variable '''BUILD_QT5''' et activez cette option.
# (''Si vous prévoyez d'exécuter directement à partir du dossier de compilation comme pour le débogage'') recherchez et activez les options suivantes :
#* '''FREECAD_COPY_DEPEND_DIRS_TO_BUILD'''
#* '''FREECAD_COPY_LIBPACK_BIN_TO_BUILD'''
#* '''FREECAD_COPY_PLUGINS_BIN_TO_BUILD'''
# Cliquez à nouveau sur '''Configure'''.


Il ne devrait plus y avoir d’erreurs. Si vous continuez à rencontrer des erreurs que vous ne pouvez pas diagnostiquer, allez sur le [https://forum.freecadweb.org/viewforum.php?f=4 Forum Install/Compile] de FreeCAD. Si CMake a procédé correctement, cliquez sur '''Generate'''. Une fois cela fait, vous pouvez fermer CMake et démarrer la compilation de FreeCAD à l'aide de Visual Studio. Cependant, pour la première compilation, gardez-le ouvert au cas où vous voudriez ou auriez besoin de changer certaines options pour le processus de construction.

<span id="Options_for_the_build_process"></span>
===Options pour le procédé de compilation===
===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 avec les variables CMake.
Le système de compilation CMake vous permet de contrôler certains aspects du processus de compilation. En particulier, vous pouvez activer et désactiver certaines fonctionnalités ou modules à l'aide des variables CMake.


Voici la description de certaines de ces variables:
Voici la description de certaines de ces variables :


{| class="wikitable" style="text-align:left"
{| class="wikitable" style="text-align:left"
|+ Link table
|-
|-
! Nom de la Variable !! Description !! Défaut
! Nom de la variable !! Description !! Valeur par défaut
|-
|-
| BUILD_XXX || Construisez FreeCAD avec le composant XXX. Si vous ne voulez pas/n'avez pas besoin de compiler, par exemple le plan de travail ''OpenSCAD'', désactivez la variable ''BUILD_OPENSCAD''. FreeCAD n'aura alors pas cet atelier.
| BUILD_XXX || Compile FreeCAD avec le composant XXX. Si vous ne voulez/nécessitez pas compiler par exemple l'atelier ''OpenSCAD'', désactivez la variable ''BUILD_OPENSCAD''. FreeCAD n'aura alors pas cet atelier.
'''Remarque:''' Certains composants sont nécessaires pour d'autres composants. Si vous décochez par exemple ''BUILD_ROBOT'', CMake vous informera qu'alors le composant ''Path'' ne pourra pas être compilé correctement. Vérifiez donc la sortie de CMake après avoir modifié une option BUILD_XXX!

|| ca dépend
'''Remarque:''' Certains composants sont requis pour d'autres composants. Si vous décochez, par exemple, ''BUILD_ROBOT'', CMake vous informera que le composant ''Chemin'' ne peut pas être compilé correctement. Par conséquent, vérifiez la sortie de CMake après avoir modifié une option BUILD_XXX! || dépend
|-
|-
| BUILD_ENABLE_CXX_STD || La version du standard du langage C++. '''C++14''' est la plus élevée possible pour FreeCAD 0.19 alors qu'au moins '''C++17''' est nécessaire pour FreeCAD 0.20. Voir aussi la note dans la section [[#Version_de_Build|Construire avec Visual Studio 15 (2017) et 16 (2019)]]
| CMAKE_INSTALL_PREFIX || Le dossier de sortie lors de la construction de la cible ''INSTALL'', voir aussi la section [[#Exécution et installation de FreeCAD |Exécution et installation de FreeCAD]] || Dossier d'installation de programme par défaut de Windows
|| ca dépend
|-
| BUILD_DESIGNER_PLUGIN|| Pour construire le plugin Qt Designer, voir [[Compile_on_Windows/fr#Le_plugin_Qt_Designer|cette section ci-dessous]] || OFF
|-
| BUILD_FLAT_MESH|| Nécessaire pour avoir une version qui inclut la fonction [[MeshPart_CreateFlatMesh/fr|Développer un objet maillé]]. || OFF
|-
|-
| FREECAD_COPY_DEPEND_DIRS_TO_BUILD || Copie les bibliothèques LibPack nécessaires pour exécuter FreeCAD.exe dans le dossier de construction. Voir aussi la section [[#Exécution et installation de FreeCAD|Exécution et installation de FreeCAD]]. || OFF
| CMAKE_INSTALL_PREFIX || Le dossier de sortie lors de la construction de la cible ''INSTALL'', voir aussi la section [[#Ex.C3.A9cution_et_installation_de_FreeCAD|Exécution et installation de FreeCAD]] || Le dossier d'installation par défaut de Windows
|-
| FREECAD_COPY_DEPEND_DIRS_TO_BUILD || Copie les bibliothèques dépendantes nécessaires à l'exécution de FreeCAD.exe dans le dossier de build. Voir aussi la section [[#Ex.C3.A9cution_et_installation_de_FreeCAD|Exécution et installation de FreeCAD]].</br> '''Remarque :''' les options FREECAD_COPY_XXX n'apparaissent que si les bibliothèques n'ont pas déjà été copiées. Si vous avez seulement besoin de mettre à jour/changer pour une autre version du LibPack, voir la section [[#Mise_.C3.A0_jour_de_LibPack|Mise à jour de LibPack]]. Si vous voulez ramener les options pour une raison quelconque, vous devez supprimer tous les dossiers de votre dossier de construction, à l'exception du dossier LibPack. Dans CMake, supprimez le cache et démarrez comme si vous compiliez pour la première fois. || OFF
|-
|-
| FREECAD_COPY_LIBPACK_BIN_TO_BUILD || Copie les binaires LibPack nécessaires à l'exécution de FreeCAD.exe dans le dossier de compilation. Voir aussi la section [[#Ex.C3.A9cution_et_installation_de_FreeCAD|Exécution et installation de FreeCAD]]. || OFF
| FREECAD_LIBPACK_USE || Activer ou désactiver l'utilisation de FreeCAD LibPack || ON
|-
|-
| FREECAD_COPY_PLUGINS_BIN_TO_BUILD|| Copie les fichiers plugins de Qt nécessaires à l'exécution de FreeCAD.exe dans le dossier de compilation. Voir aussi la section [[#Ex.C3.A9cution_et_installation_de_FreeCAD|Exécution et installation de FreeCAD]]. || OFF
| FREECAD_LIBPACK_DIR || Répertoire où se trouve le LibPack || Le dossier de code source de FreeCAD
|-
|-
| FREECAD_LIBPACK_USE || Active ou désactive l'utilisation du LibPack de FreeCAD || ON
| FREECAD_RELEASE_PDB || Créer des bibliothèques de débogage également pour les versions de revision || ON
|-
| FREECAD_LIBPACK_DIR || Répertoire où se trouve le LibPack || Dossier du code source de FreeCAD
|-
| FREECAD_RELEASE_PDB || Créer des bibliothèques de débogage (*.pdb) également pour les compilations de version. Cela n'affecte pas la vitesse (comme le ferait une vraie compilation de débogage) et peut être très utile pour localiser les crashs dans le code de FreeCAD. En cas de crash de FreeCAD, un fichier ''crash.dmp'' sera créé et pourra être chargé avec MSVC et si vous avez les fichiers PDB correspondants ainsi que le code source de cette version, vous pourrez déboguer le code. Sans les fichiers PDB, il n'est pas possible de déboguer le code et tout ce que le débogueur montre est le nom de la DLL où le crash s'est produit. || ON
|-
| FREECAD_USE_MP_COMPILE_FLAG || Ajoute l'option /MP (multiprocesseur) aux projets Visual Studio, permettant des accélérations sur les CPU multi-cœurs. Cela peut accélérer considérablement les builds sur les processeurs modernes. </br>'''Remarque :''' Si vous désactivez '''FREECAD_USE_PCH''', la compilation peut rapidement surcharger votre espace de tas, même si vous avez 16 Go de RAM. || ON
|-
| FREECAD_USE_PCH || [https://en.wikipedia.org/wiki/Precompiled_header Précompilation des en-têtes] afin de gagner du temps de compilation. || ON
|-
| FREECAD_USE_PYBIND11|| Inclut la bibliothèque [https://github.com/pybind/pybind11 PyBind11]. Nécessaire pour avoir un build qui inclut la fonction [[MeshPart_CreateFlatMesh/fr|Développer un objet maillé]].</br>'''Remarque :''' après l'avoir allumé, vous pourriez obtenir une erreur de configuration. Il suffit de configurer à nouveau et le problème devrait disparaître. || OFF
|}
|}


<span id="Building_FreeCAD"></span>
== Compilation de FreeCAD ==
== Compilation de FreeCAD ==


En fonction de votre compilateur, le processus de construction de FreeCAD sera légèrement différent. Dans les sections suivantes, vous décrivez les flux de travail connus.
En fonction de votre compilateur, le processus de compilation de FreeCAD sera légèrement différent. Dans les sections suivantes, les processus connus sont décrits. Si vous compilez avec Qt Creator, passez à [[#Compilation_avec_Qt_Creator_.28obsol.C3.A8te.29|Compilation avec Qt Creator (obsolète)]], sinon procédez directement :
Si vous construisez avec Qt Creator, passez à [[#Compiler avec Qt Creator|Compiler avec Qt Creator]], sinon, procédez directement:


<div class="mw-collapsible mw-collapsed toccolours">
<div class="mw-collapsible mw-collapsed toccolours">


<span id="Building_with_Visual_Studio_15_(2017)_or_newer"></span>
=== Construire avec Visual Studio 15 2017 ===
=== Compilation avec Visual Studio 15 (2017) ou plus récent ===


<div class="mw-collapsible-content">
<div class="mw-collapsible-content">

<span id="Release_Build"></span>
==== Version de compilation ====


# Démarrez l'IDE Visual Studio. Cela peut être effectué en appuyant sur le bouton ''Ouvrir un projet'' dans l'interface graphique de CMake ou en double-cliquant sur le fichier ''FreeCAD.sln'' que vous trouvez dans votre dossier de construction.
# Démarrez l'IDE Visual Studio. Cela peut être effectué en appuyant sur le bouton ''Ouvrir un projet'' dans l'interface graphique de CMake ou en double-cliquant sur le fichier ''FreeCAD.sln'' que vous trouvez dans votre dossier de construction.
# Dans la barre d’outils de l’EDI MSVC, assurez-vous que vous utilisez pour la première compilation ''Release''.
# Dans la barre d’outils de l’EDI MSVC, assurez-vous que vous utilisez pour la première compilation ''Release''.
# Il y a une fenêtre appelée "Solution" explorateur. Il répertorie toutes les cibles de compilation possibles.
# Il y a une fenêtre appelée ''Solution Explorer''. Elle répertorie toutes les cibles de compilation possibles. Pour démarrer une compilation complète, faites un clic droit sur la cible '''ALL_BUILD''' puis choisissez '''Build'''.
Cela va prendre pas mal de temps.


Pour compiler un FreeCAD prêt à l’emploi, compilez la cible ''INSTALL'', voir la section [[#Ex.C3.A9cution_et_installation_de_FreeCAD|Exécution et installation de FreeCAD]].
Pour démarrer une compilation complète, cliquez avec le bouton droit de la souris sur la cible ''ALL_BUILD'', puis choisissez '''Construire'''.
Cela va maintenant prendre beaucoup de temps.


Si vous n'obtenez aucune erreur, vous avez terminé. '''Félicitations !''' Vous pouvez quitter MSVC ou le garder ouvert.
Pour compiler un FreeCAD prêt à l’emploi, compilez la cible ''INSTALL'', voir la section [[#Exécution et installation de FreeCAD|Exécution et installation de FreeCAD]].


'''Important :''' à partir de Visual Studio 17.4, vous ne pouvez pas utiliser l'optimisation de code activée par défaut pour la cible '''SketcherGui'''. Si vous le faites, les contraintes d'angle seront mal placées dans les esquisses. Pour résoudre ce problème, cliquez avec le bouton droit de la souris sur cette cible dans l'explorateur de solutions MSVC et sélectionnez la dernière entrée '''Properties''' dans le menu contextuel. Dans la boîte de dialogue qui apparaît, allez dans C/C++ → Optimisation et désactivez le paramètre '''Optimization'''. Enfin, recompilez la cible '''ALL_BUILD'''.
Si vous n'obtenez aucune erreur, vous avez terminé. '''Félicitations!''' Vous pouvez quitter MSVC ou le garder ouvert.
</div>
</div>
<div class="mw-collapsible mw-collapsed toccolours">


<span id="Debug_Build"></span>
=== Compilation avec Visual Studio 12 2013 ===
==== Compilation de débogage ====


Pour une version de débogage, il est nécessaire d'utiliser le Python inclus dans le LibPack. Pour assurer cela :
<div class="mw-collapsible-content">
# Recherchez "Python" dans l'interface graphique de CMake
# Si vous y voyez un chemin comme 'C:/Program Files/Python38/python.exe'', CMake a reconnu le Python qui est installé sur votre PC et non celui du LibPack. Dans ce cas, adaptez ces différents paramètres Python dans CMake à cela (en supposant que le LibPack se trouve dans le dossier ''D:\FreeCAD-build\FreeCADLibs_12.5.2_x64_VC17'') :
[[File:CMake_Python_settings.png]]


Comme pré-requis pour la compilation debug, vous devez faire ceci :
Assurez vous de spécifier '''Visual Studio 12 x64'''(ou un Compilateur-C que vous utilisez) comme compilateur utilisé par CMake avant de continuer.
# Copier le contenu du dossier LibPack ''bind'' dans le dossier ''bin'' du dossier de la compilation de FreeCAD (écraser les fichiers existants).
# Copier le contenu du dossier LibPack ''libd'' dans le dossier ''lib'' du dossier de la compilation de FreeCAD.


Maintenant vous pouvez compiler :
*Démarrez Visual Studio 12 2013 en cliquant sur l'icône du bureau créé lors de son installation.
# Démarrez l'IDE de Visual Studio. Cela peut être fait soit en appuyant sur le bouton ''Open Project'' dans la GUI de CMake ou en double-cliquant sur le fichier ''FreeCAD.sln'' que vous trouvez dans votre dossier de compilation.
# Dans la barre d'outils de l'IDE de MSVC, assurez-vous que vous utilisez pour la première compilation ''Debug''.
# Il y a une fenêtre appelée ''Solution Explorer''. Elle liste toutes les cibles de compilation possibles. Pour lancer une compilation complète, cliquez avec le bouton droit de la souris sur la cible '''ALL_BUILD''' et choisissez ensuite '''Build''' dans le menu contextuel.
Cette opération va maintenant prendre beaucoup de temps.


S'il n'y a pas eu d'erreurs de compilation, et si les options '''FREECAD_COPY_*''' mentionnées dans l'[[#CMake|étape configuration avec CMake]] ci-dessus ont été activées, vous pouvez commencer la compilation de débogage :
*Ouvrez le projet par:
# Faites un clic droit sur la cible '''FreeCADMain''' et choisissez ensuite '''Set as Startup Project''' dans le menu contextuel.
Fichier → Ouvrir → Projet/Solution
# Enfin, cliquez dans la barre d'outils sur le bouton avec le triangle vert nommé '''Local Windows Debugger'''.


Cela lancera la version de débogage de FreeCAD et vous pourrez utiliser MSVC IDE pour le déboguer.
*Ouvrez le fichier FreeCAD_Trunk.sln dans le dossier CMake créé


==== Ressource vidéo ====
*Dans Configuration Solutions, en haut de la barre déroulante activez '''Release''' '''X64'''
Tutoriel en anglais qui commence par la configuration dans CMake Gui et continue jusqu'à la commande `Build` dans Visual Studio 16 2019 est disponible non répertorié sur YouTube à [https://youtu.be/s4pHvlDOSZQ Tutorial: Build FreeCAD from source on Windows 10].
Cette action peut prendre un certain temps en fonction de votre système

*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.
</div>
</div>
</div>
</div>
<div class="mw-collapsible mw-collapsed toccolours">
<div class="mw-collapsible mw-collapsed toccolours">


<span id="Building_with_Qt_Creator_(outdated)"></span>
=== Compiler avec Qt Creator ===
=== Compilation avec Qt Creator (obsolète) ===


<div class="mw-collapsible-content">
<div class="mw-collapsible-content">


<span id="Installation_and_configuration_of_Qt_Creator"></span>
==== Installation et configuration de Qt Creator ====
==== Installation et configuration de Qt Creator ====


Line 233: Line 265:
*** Uncheck: Toujours déployer le projet avant de l'exécuter
*** Uncheck: Toujours déployer le projet avant de l'exécuter


<span id="Import_project_and_building"></span>
==== Importer un projet et compiler ====
==== Importer un projet et compiler ====


Line 253: Line 286:
<div class="mw-collapsible mw-collapsed toccolours">
<div class="mw-collapsible mw-collapsed toccolours">


<span id="Command_line_build"></span>
=== Compilation en ligne de commande ===
=== Compilation en ligne de commande ===


Line 268: Line 302:
{{Code|code=msbuild INSTALL.vcxproj /p:Configuration=Release}}
{{Code|code=msbuild INSTALL.vcxproj /p:Configuration=Release}}


Ces étapes peuvent également être automatisées. Voici par exemple une solution pour MSVC 2017:
Ces étapes peuvent également être automatisées. Voici par exemple une solution pour MSVC 2017 :
# Téléchargez le script [https://forum.freecadweb.org/download/file.php?id=92135 compile-FC.txt].
# Téléchargez le script [https://forum.freecadweb.org/download/file.php?id=92135 compile-FC.txt].
# Le renommer en ''compile-FC.bat''
# Le renommer en ''compile-FC.bat''
# Dans l'explorateur de fichiers de Winddows Shift+Cliquez-droit sur votre dossier de construction et utilisez-le dans le menu contextuel ''Invite de commandes ici '.
# Dans l'explorateur de fichiers de Windows, faites Shift+Cliquez-droit sur votre dossier de construction et utilisez-le dans le menu contextuel ''Invite de commandes ici''.
# Exécute la commande
# Exécute la commande


{{Code|code=compile-FC install}}
{{Code|code=compile-FC install}}


Au lieu d'appeler '''compile-FC''' avec l'option ''installer'', vous pouvez aussi utiliser ''déboguer'' ou ''release'':
Au lieu d'appeler '''compile-FC''' avec l'option ''installer'', vous pouvez aussi utiliser ''déboguer'' ou ''release'' :


''déboguer'' &nbsp; - compiler FreeCAD dans la configuration de débogage
''déboguer'' &nbsp; - compiler FreeCAD dans la configuration de débogage
Line 287: Line 321:
</div>
</div>


<span id="Running_and_installing_FreeCAD"></span>
== Exécution et installation de FreeCAD ==
== Exécution et installation de FreeCAD ==


Il existe 2 méthodes pour exécuter la compilation de FreeCAD:
Il existe 2 méthodes pour exécuter la compilation de FreeCAD :


''Method 1'': Vous exécutez FreeCAD.exe que vous trouvez dans votre dossier de construction qui se trouve dans le sous-dossier ''bin''
''Method 1'' : Vous exécutez FreeCAD.exe que vous trouvez dans votre dossier de construction qui se trouve dans le sous-dossier ''bin''


''Method 2'': Vous construisez la cible ''INSTALL''
''Method 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''.
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 la méthode 1, vous devez activer les options '''FREECAD_COPY_*''' mentionnées dans l'[[#CMake|étape configuration avec CMake]] ci-dessus.
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 les variables CMake en option:
# Ouvrez l'interface graphique de CMake.
# Recherchez et cochez la variable ''FREECAD_COPY_DEPEND_DIRS_TO_BUILD''.
# Recherchez et cochez la variable ''FREECAD_COPY_LIBPACK_BIN_TO_BUILD''.
# Cliquez sur '''Configurer'''. A la fin de la configuration, CMake copiera automatiquement les bibliothèques nécessaires du dossier LibPack.


<span id="Troubleshooting"></span>
Pour FreeCAD 0.19, un seul problème nécessite actuellement une action manuelle:
=== Dépannage ===
# Téléchargez le fichier [https://forum.freecadweb.org/download/file.php?id=90273 qwindowsvistastyle.zip] à partir du forum FreeCAD.
# Créez un nouveau sous-dossier nommé ''styles'' dans le dossier ''bin'' (où se trouve FreeCAD.exe).
# Extraire le fichier ZIP dans ce dossier.


Lors de l'exécution de FreeCAD, vous pouvez rencontrer des DLLs manquantes lors de l'utilisation de certains ateliers ou fonctionnalités d'ateliers. Le message d'erreur dans la console de FreeCAD ne vous dira pas quelle DLL est manquante. Pour le savoir, vous devez utiliser un outil externe :
Cela ajoute le style nécessaire pour que FreeCAD ressemble à un programme Win 10 normal. Sinon, il ressemblera à Windows 98.


* Téléchargez la dernière version du programme '''Dependencies''' : [https://github.com/lucasg/Dependencies/releases (choisissez le fichier ''Dependencies_x64_Release.zip'')]
* Dans la [[Python_console/fr|Console Python]] de FreeCAD, exécutez ces commandes :
<nowiki>import os
os.system(r"~DependenciesGui.exe")</nowiki>
'''Note''' : Au lieu du ~, vous devez spécifier le chemin complet du ''DependenciesGui.exe'' sur votre système.
* Faites maintenant glisser le fichier *.pyd de l'atelier avec lequel vous obtenez des DLLs manquantes signalées.

<span id="Updating_the_build"></span>
==Mise à jour de la compilation==
==Mise à jour de la compilation==


Line 316: Line 353:
# Recompilation
# Recompilation


<span id="Updating_the_source_code"></span>
===Mise à jour du code source===
===Mise à jour du code source===


<span id="Using_a_frontend"></span>
====Utiliser une interface====
====Utiliser une interface====


Lorsque vous utilisez le [https://en.wikipedia.org/wiki/Comparison_of_Git_GUIs Git frontend] TortoiseGit:
Lorsque vous utilisez le [https://en.wikipedia.org/wiki/Comparison_of_Git_GUIs Git frontend] TortoiseGit :
# Dans l'explorateur de fichiers Windows faites clic droit sur le dossier de code source FreeCAD et sélectionnez dans le menu contextuel '''Pull'''.
# Dans l'explorateur de fichiers Windows faites clic droit sur le dossier de code source FreeCAD et sélectionnez dans le menu contextuel '''Pull'''.
# Une boîte de dialogue apparaîtra. Sélectionnez la branche de développement que vous souhaitez obtenir. '''master''' est la branche principale. Par conséquent, utilisez la sauf si vous voulez compiler une nouvelle fonctionnalité spéciale à partir d'une branche qui n'a pas encore été fusionnée avec '''maître'''. (Pour plus d'informations sur les branches Git, consultez [[Source_code_management/fr#Processus de développement Git|Processus de développement Git]]).
# Une boîte de dialogue apparaîtra. Sélectionnez la branche de développement que vous souhaitez obtenir. '''master''' est la branche principale. Par conséquent, utilisez la sauf si vous voulez compiler une nouvelle fonctionnalité spéciale à partir d'une branche qui n'a pas encore été fusionnée avec '''maître'''. (Pour plus d'informations sur les branches Git, consultez [[Source_code_management/fr#Processus de développement Git|Processus de développement Git]]).
Line 326: Line 365:
Cliquez enfin sur '''OK'''.
Cliquez enfin sur '''OK'''.


<span id="Using_the_command_line"></span>
====Utiliser la ligne de commande====
====Utiliser la ligne de commande====


Ouvrez un terminal (invite de commande) et accédez au répertoire source. Puis tapez:
Ouvrez un terminal (invite de commande) et accédez au répertoire source. Puis tapez :


{{Code|code=
{{Code|code=
Line 338: Line 378:
===Recompilation===
===Recompilation===


# Ouvrez l'EDI MSVC en double-cliquant sur le fichier ''FreeCAD.sln'' ou sur le fichier ''ALL_BUILD.vcxproj'' dans votre dossier de construction.
# Ouvrez l'EDI MSVC en double-cliquant sur le fichier ''FreeCAD.sln'' ou sur le fichier ''ALL_BUILD.vcxproj'' dans votre dossier de compilation.
# Continuer à l'étape 2 de la section [[#Construire avec Visual Studio 15 2017|Construire avec Visual Studio 15 2017]].
# Continuer à l'étape 2 de la section [[#Compilation_avec_Visual_Studio_15_.282017.29_ou_plus_r.C3.A9cent|Compilation avec Visual Studio 15 (2017) ou plus récent]].


<span id="Updating_the_LibPack"></span>
== Références ==
==Mise à jour de LibPack==


Si une nouvelle version majeure d'une dépendance tierce comme Open Cascade est publiée, ou si une dépendance tierce a des corrections de bogues importantes, un nouveau LibPack est publié. Vous pouvez trouver la dernière version [https://github.com/FreeCAD/FreeCAD-LibPack/releases/ ici].
A voir
* [[Compile_on_Windows_with_VS2013/fr|Compiler dans Windows avec Visual Studio 2013]]
* [[Compiling_(Speeding_up)/fr|Compiling - Speeding up]]


Pour mettre à jour votre LibPack, la recette suivante est la meilleure pratique :
<div class="mw-translate-fuzzy">
# Supprimez le dossier ''bin'' de votre dossier de compilation.
{{docnav/fr
# Passez à votre dossier LibPack local et supprimez tout ce qui s'y trouve.
|[[Tracker/fr|Tracker]]
# Extrayez le contenu du nouveau fichier ZIP LibPack dans le dossier LibPack local existant, mais maintenant vide.
|[[Compile on Linux/fr|Compiler sous Linux]]
# Ouvrez CMake et appuyez sur le bouton '''Configure''' et ensuite sur le bouton '''Generate'''. Cela recrée le dossier ''bin'' que vous venez de supprimer et y copie également les nouveaux fichiers LibPack.
}}
# Dans CMake, cliquez sur le bouton '''Open Project''' et l'IDE MSVC s'ouvrira.
</div>
# Dans l'IDE MSVC, construisez la cible ''INSTALL''.


<span id="Tools"></span>
{{Userdocnavi/fr}}
== Outils ==


Pour rejoindre le développement FreeCAD, vous devez compiler et installer les outils suivants :
[[Category:Developer Documentation/fr]]

<span id="Qt_Designer_plugin"></span>
===Le plugin Qt Designer===

FreeCAD utilise [https://fr.wikipedia.org/wiki/Qt Qt] comme boîte à outils pour son interface utilisateur. Toutes les boîtes de dialogue sont configurées dans des fichiers UI qui peuvent être modifiés à l'aide du programme [https://doc.qt.io/qt-5/qtdesigner-manual.html Qt Designer]. Il fait partie de toute installation Qt et également inclus dans le LibPack. FreeCAD a son propre ensemble de widgets Qt pour fournir des fonctionnalités spéciales comme l'ajout d'une unité aux champs de saisie et pour définir les propriétés des préférences.

====Compilation====

Le plugin ne peut pas être chargé par le Qt Designer s'il a été compilé en utilisant une autre version de Qt que celle sur laquelle votre Qt Designer/Qt Creator est basé. Par conséquent, le plugin doit être compilé en même temps que FreeCAD :

* Dans les options CMake (voir [[Compile_on_Windows/fr#Options_pour_le_proc.C3.A9d.C3.A9_de_compilation|cette section ci-dessus]]) activez l'option BUILD_DESIGNER_PLUGIN et reconfigurez.
* Ouvrez MSVC et construisez la cible '''FreeCAD_widgets'''.

Le résultat est le fichier du plugin '''FreeCAD_widgets.dll''' dans le dossier</br>''~src\Tools\plugins\widget\Release''

<span id="Installation"></span>
==== Installation ====

Pour installer le plugin, copiez la DLL soit vers :
* Si vous utilisez le LibPack : dans le dossier</br>''~\FreeCADLibs_2_8_x64_VC2019\plugins\designer''
* Si vous avez une installation complète de Qt : vous pouvez choisir entre le dossier</br>''C:\Qt\5.15.2\msvc2019_64\plugins\designer''</br>ou</br>''C:\Qt\5.15.2\msvc2019_64\bin\designer'' (vous devez d'abord créer le sous-dossier ''designer''.)</br>(adaptez les chemins à votre installation !).

Enfin, (re)lancez Qt Designer et vérifiez son menu {{MenuCommand|Help → Plugins}}. Si le plugin '''FreeCAD_widgets.dll''' est répertorié comme étant chargé, vous pouvez maintenant concevoir et modifier les fichiers .ui de FreeCAD, sinon vous devez [[#Compilation|compiler]] vous-même la DLL.

Si vous préférez utiliser [https://fr.wikipedia.org/wiki/Qt_Creator Qt Creator] au lieu de Qt Designer, le fichier du plugin doit être placé dans ce dossier : </br>''C:\Qt\Qt5.15.2\Tools\QtCreator\bin\plugins\designer''</br> Puis (re)lancez Qt Creator Qt Creator, passez en mode '''Design''' puis vérifiez le menu {{MenuCommand|Tools → Form Editor → About Qt Designer Plugins}}. Si le plugin '''FreeCAD_widgets.dll''' est répertorié comme étant chargé, vous pouvez maintenant concevoir et modifier les fichiers .ui de FreeCAD. Sinon, vous devez [[#Compilation|compiler]] vous-même la DLL.

<span id="Thumbnail_Provider"></span>
=== Fournisseur de vignettes ===

FreeCAD a la fonctionnalité de fournir des vignettes d'aperçu pour les fichiers *.FCStd. Cela signifie que dans l'explorateur de fichiers Windows, les fichiers *.FCStd sont affichés avec une capture d'écran du modèle qu'il contient. Pour fournir cette fonctionnalité, FreeCAD doit avoir le fichier '''FCStdThumbnail.dll''' installé sur Windows.

<span id="Installation"></span>
==== Installation ====

La DLL est installée de cette façon :
# Téléchargez [https://forum.freecadweb.org/download/file.php?id=13404 ce fichier ZIP] et extrayez-le.
# Ouvrez une invite de commande Windows avec des privilèges d'administrateur (ces privilèges sont obligatoires).
# Accédez au dossier où se trouve la DLL.
# Exécutez cette commande {{Code|code=regsvr32 FCStdThumbnail.dll}}

Vérifiez donc si cela fonctionne, assurez-vous que dans FreeCAD, l'option de préférences '''[[Preferences_Editor/fr#Document|Enregistrer la miniature dans le fichier de projet lors de l'enregistrement du document]]''' est activée et enregistre un modèle. Affichez ensuite dans l'Explorateur Windows le dossier du modèle enregistré à l'aide d'une vue de symboles. Vous devriez maintenant voir une capture d'écran du modèle dans la vue des dossiers.

====Compilation====

Pour compiler le FCStdThumbnail.dll
# Accédez au dossier source FreeCAD </br>''~\src\Tools\thumbs\ThumbnailProvider''
# Ouvrez l'interface graphique de CMake
# Spécifiez là comme dossier source celui dans lequel vous vous trouvez actuellement.
# Utilisez le même dossier que le dossier de construction.
# Cliquez sur '''Configure'''
# Dans la boîte de dialogue qui apparaît, spécifiez le générateur en fonction de celui que vous souhaitez utiliser. Pour le MS Visual Studio standard, utilisez ''Visual Studio xx 2yyy'' où xx est la version du compilateur et 2yyy l'année de sa sortie. Il est recommandé d'utiliser l'option par défaut ''Use default native compilers''.</br>'''Remarque:''' Il est important de spécifier la variante de bit correcte. Si vous avez la variante 64 bits de LibPack, vous devez également utiliser le compilateur x64.
# Cliquez sur '''Generate'''.
# Vous devriez maintenant avoir le fichier '''ALL_BUILD.vcxproj''' dans le dossier ''~\src\Tools\thumbs\ThumbnailProvider''. Double-cliquez dessus et l'IDE MSVC s'ouvrira.
# Dans la barre d'outils de l'EDI MSVC, assurez-vous que vous utilisez la cible de compilation ''Release''.
# Il y a une fenêtre appelée ''Solution Explorer''. Faites un clic droit là-bas sur '''ALL_BUILD''' puis choisissez '''Build'''.
# En conséquence, vous devriez maintenant avoir un '''FCStdThumbnail.dll''' dans le dossier ''~\src\Tools\thumbs\ThumbnailProvider\release'' que vous pouvez installer comme décrit ci-dessus.

<span id="Compiling_Open_Cascade"></span>
== Compilation d'Open Cascade ==

LibPack est livré avec une version d'[https://en.wikipedia.org/wiki/Open_Cascade Open Cascade] qui convient à une utilisation générale. Cependant, dans certaines circonstances, vous pouvez souhaiter compiler avec une autre version d'Open Cascade, comme l'une de leurs versions officielles, ou un fork patché.

Lorsque vous compilez Open Cascade pour FreeCAD, notez qu'il n'y a aucune garantie que FreeCAD fonctionnera avec toutes les versions d'Open Cascade. Notez également que lorsque vous utilisez la bibliothèque Netgen, vous devez utiliser la version NetGen approuvée pour la compilation avec la version d'Open Cascade que vous souhaitez compiler.

Pour compiler :
* Procurez-vous d'abord le code source d'Open Cascade, soit directement depuis [https://github.com/Open-Cascade-SAS/OCCT le dépôt git d'Open Cascade], soit en clonant le fork de quelqu'un d'autre, comme [https://gitlab.com/blobfish/occt le fork "blobfish"] maintenu par un membre du forum FreeCAD [https://forum.freecadweb.org/memberlist.php?mode=viewprofile&u=208 tanderson69].

* Ensuite, ouvrez l'interface graphique de CMake pour configurer le système de compilation d'une manière similaire à la compilation de FreeCAD. Ces options CMake doivent être définies (ou ne pas être définies explicitement) :
{| class="wikitable" style="text-align:left"
|-
! Nom de la variable !! Description !! Valeur par défaut
|-
| 3RDPARTY_DIR|| Le chemin vers les composants tiers. Il est recommandé d'utiliser en entrée le dossier où se trouve votre LibPack utilisé. Laissez explicitement ce champ vide.
|| vide
|-
| 3RDPARTY_DOXYGEN_EXECUTABLE|| Le chemin vers l'exécutable du composant tiers [https://fr.wikipedia.org/wiki/Doxygen Doxygen]. Il est recommandé d'installer Doxygen. CMake le trouvera alors automatiquement.
|| vide
|-
| 3RDPARTY_FREETYPE_DIR|| Le chemin vers le composant tiers nécessaire [https://fr.wikipedia.org/wiki/FreeType Freetype]. Il est recommandé d'utiliser comme entrée le dossier où se trouve votre LibPack utilisé.
|| vide
|-
| 3RDPARTY_RAPIDJSON_DIR|| Uniquement disponible si '''USE_RAPIDJSON''' est utilisé. Le chemin vers le composant tiers [https://rapidjson.org/ RapidJSON]. Il est recommandé de NE PAS utiliser un dossier LibPack existant comme entrée. Vous pouvez utiliser le dossier RapidJSOn d'un LibPack, mais copiez-le dans un nouveau dossier et utilisez ce nouveau dossier comme entrée.
|| vide
|-
| 3RDPARTY_TCL_DIR|| Le chemin vers le composant tiers nécessaire [https://fr.wikipedia.org/wiki/Tool_Command_Language TCL]. Il est recommandé de ne PAS utiliser un dossier LibPack existant comme entrée. Prenez par exemple une des [https://github.com/teclab-at/tcltk/releases ces versions], extrayez-la et prenez-la comme dossier d'entrée pour CMake.
|| vide
|-
| 3RDPARTY_TK_DIR|| Le chemin vers le composant tiers nécessaire [https://fr.wikipedia.org/wiki/Tk_(informatique) TK]. Il est recommandé de ne PAS utiliser un dossier LibPack existant comme entrée. Prenez par exemple une des [https://github.com/teclab-at/tcltk/releases ces versions], extrayez-la et prenez-la comme dossier d'entrée pour CMake.
|| vide
|-
| 3RDPARTY_VTK_DIR|| Uniquement disponible si '''USE_VTK''' est utilisé. Le chemin vers le composant tiers nécessaire [https://fr.wikipedia.org/wiki/VTK VTK]. Il est recommandé d'utiliser le dossier en entrée où se trouve votre LibPack utilisé. Si vous utilisez un autre dossier, assurez-vous que vous n'utilisez pas VTK 9.x ou plus récent.
|Vide
|-
| BUILD_RELEASE_DISABLE_EXCEPTIONS|| Désactive la gestion des exceptions pour les builds de version. Pour FreeCAD vous devez le régler sur '''OFF'''.
|| ON
|-
| INSTALL_DIR|| Le dossier de sortie lors de la construction de la cible ''INSTALL''. Si la construction a réussi, prenez les fichiers de ce dossier pour mettre à jour votre LibPack.
|| Dossier d'installation du programme par défaut de Windows
|-
| INSTALL_DIR_BIN|| Le sous-dossier de sortie pour la DLL lors de la construction de la cible ''INSTALL''. Vous devez le remplacer par '''bin'''.
|| win64/vc14/bin
|-
| INSTALL_DIR_LIB|| Le sous-dossier de sortie pour les fichiers .lib lors de la construction de la cible ''INSTALL''. Vous devez le remplacer par '''lib'''.
|| win64/vc14/lib
|-
| USE_RAPIDJSON|| Pour compiler Open Cascade avec le support de RapidJSON. L'activation de cette option est obligatoire pour obtenir le support du format de fichier [https://fr.wikipedia.org/wiki/GlTF glTF].
|| OFF
|-
| USE_VTK|| Pour compiler Open Cascade avec le support de VTK. L'activation de cette option est optimale. Vous pouvez l'utiliser pour construire le pont VTK d'Open Cascade.
|| OFF
|}

* Ouvrez le projet dans Visual Studio et construisez d'abord les cibles ALL_BUILD puis INSTALL en mode ''Release''.
* Répétez la construction des deux cibles en mode ''Debug''.

Pour compiler FreeCAD en utilisant Open Cascade auto-compilé, vous devez effectuer les opérations suivantes :
* Copiez tous les dossiers de INSTALL_DIR dans votre dossier LibPack (écrasez les fichiers existants).
* Passez au dossier LibPack et allez dans le sous-dossier ''cmake''.
* Ouvrez-y le fichier ''OpenCASCADEDrawTargets.cmake'' avec un éditeur de texte.
* Cherchez-y les chemins absolus vers votre dossier LibPack et supprimez-les. Ainsi, par exemple, le chemin absolu</br>''D:/FreeCADLibs_12.5.4_x64_VC17/lib/freetype.lib''</br>devient simplement </br>''freetype.lib''</br>
* Faites de même pour le fichier ''OpenCASCADEVisualizationTargets.cmake''

<span id="Compiling_Netgen"></span>
== Compilation de Netgen==

LibPack est livré avec une version de [https://ngsolve.org Netgen] qui a été testée pour être construite avec la version Open Cascade du LibPack. Le problème est que chaque nouvelle version de Netgen modifie l'API. De même, chaque nouvelle version d'Open Cascade fait de même. Par conséquent, on ne peut pas changer facilement la version de Netgen.

Cependant, vous pouvez tout de même construire Netgen. C'est une tâche facile :

* Tout d'abord, procurez-vous le code source de Netgen, soit directement à partir de [https://github.com/NGSolve/netgen Dépôt git de Netgen].
* Ensuite, ouvrez l'interface graphique CMake pour configurer le système de compilation de manière similaire à la construction de FreeCAD. Les options CMake suivantes doivent être définies :
{| class="wikitable" style="text-align:left"
|-
! Nom de la variable !! Description !! Valeur par défaut
|-
| CMAKE_INSTALL_PREFIX|| Le dossier de sortie lors de la compilation de la cible ''INSTALL''. Si la compilation a réussi, prenez les fichiers de ce dossier pour mettre à jour votre LibPack.
|| C:/netgen
|-
| OpenCasCade_DIR|| Le chemin vers les fichiers CMake d'Open Cascade. Si vous avez compilé Open Cascade comme décrit dans la section [[#Compilation_d.27Open_Cascade|Compilation d'Open Cascade]], vous pouvez utiliser le sous-dossier ''cmake'' du dossier que vous avez utilisé comme INSTALL_DIR. Sinon, utilisez le sous-dossier ''cmake'' de votre LibPack. Notez que le LibPack doit alors déjà contenir une compilation correcte d'Open Cascade. Indépendamment du dossier que vous utilisez, vous devez maintenant y créer un sous-dossier ''lib'' et y copier les fichiers ''freetype.lib'' et ''freetyped.lib'' de votre LibPack.
|| vide
|-
| USE_GUI|| Mettez-le sur '''OFF'''.
|| ON
|-
| USE_NATIVE_ARCH|| Mettez la valeur '''OFF''' ; ceci n'est nécessaire et important que pour supporter les anciens processeurs qui n'ont pas le jeu d'instructions [https://fr.wikipedia.org/wiki/Advanced_Vector_Extensions AVX2].
|| ON
|-
| USE_OCC|| Mettez-le sur '''ON'''.
|| OFF
|-
| USE_PYTHON|| Mettez-le sur '''OFF'''.
|| ON
|-
| USE_SUPERBUILD|| Mettez-le sur '''OFF'''.
|| ON
|-
| ZLIB_INCLUDE_DIR|| Le chemin vers le composant tiers nécessaire [https://fr.wikipedia.org/wiki/Zlib zlib]. Il est recommandé d'utiliser en entrée le dossier où se trouve votre LibPack utilisé.
|| vide
|-
| ZLIB_LIBRARY_DEBUG|| Le chemin vers le fichier ZLib ''zlibd.lib''. Il est situé dans le sous-dossier ''lib'' de votre dossier LibPack.
|| vide
|-
| ZLIB_LIBRARY_RELEASE|| Le chemin vers le fichier ZLib ''zlib.lib''. Il est situé dans le sous-dossier ''lib'' de votre dossier LibPack.
|| vide
|}

* De plus, vous devez ajouter une nouvelle entrée CMake :
nom : ''CMAKE_DEBUG_POSTFIX'', type : ''string'', contenu : '''_d'''</br>Cela garantit que les noms de fichiers des bibliothèques de débogage ont un autre nom que les bibliothèques de publication et ne peuvent pas être échangés accidentellement par la suite.

* Appuyez sur le bouton ''Configure'' dans CMake pour générer les fichiers *.cmake.
* Seulement nécessaire si des CPU plus anciens doivent être supportés qui n'ont pas le jeu d'instructions AVX2 :
** Recherchez dans votre dossier de construction Netgen le fichier ''netgen-targets.cmake'' et ouvrez-le avec un éditeur de texte. Supprimez le paramètre '';/arch:AVX2'' dans l'option INTERFACE_COMPILE_OPTIONS.
** Appuyez à nouveau sur le bouton ''Configure'' dans CMake.
* Appuyez sur le bouton ''Generate'' dans CMake.
* Ouvrez le projet dans Visual Studio et construisez d'abord les cibles ALL_BUILD et ensuite INSTALL en mode ''Release''.
* Répétez la construction des deux cibles en mode ''Debug''.

Pour compiler FreeCAD en utilisant l'auto-compilation de Netgen, vous devez faire ce qui suit :
* Copiez tous les dossiers de CMAKE_INSTALL_PREFIX dans votre dossier LibPack (écrasez les fichiers existants).

<span id="References"></span>
== Références ==

Voir aussi
* [[Compiling_(Speeding_up)/fr|Compilation (accélération)]].


{{Docnav/fr
|[[License/fr|Licence]]
|[[Compile_on_Linux/fr|Compiler sous Linux]]
}}


{{Userdocnavi{{#translation:}}}}
{{clear}}
[[Category:Developer_Documentation{{#translation:}}]]
[[Category:Developer{{#translation:}}]]

Latest revision as of 20:15, 4 April 2024

Cette page explique étape par étape comment compiler FreeCAD 0.19 ou plus récent sous Windows en utilisant le compilateur MSVC de Microsoft. Pour des informations sur l'utilisation de MSYS2/MinGW voir Compiler sous MinGW. Pour les autres plateformes, voir Compiler.

Prérequis

La compilation de FreeCAD sous Windows nécessite plusieurs outils et bibliothèques.

Requis

  • Un compilateur. FreeCAD est testé avec Visual Studio (MSVC)-d'autres compilateurs peuvent fonctionner, mais les instructions d'utilisation ne sont pas incluses ici. Pour plus de détails, voir la section Compilateur ci-dessous.
  • Git (Il existe également des interfaces GUI disponibles pour Git, voir la section suivante.)
  • CMake version 3.11.x ou plus récente.
    Astuce : Choisir l'option Ajouter CMake au chemin du système pour tous les utilisateurs lors de l'installation de CMake rendra CMake accessible depuis l'invite de commande Windows, ce qui peut être utile.
  • LibPack. Il s'agit d'un paquetage unique contenant toutes les bibliothèques nécessaires à la compilation de FreeCAD sous Windows. Téléchargez la version du LibPack qui correspond à la version de FreeCAD que vous voulez compiler. Pour compiler FreeCAD 0.20 téléchargez LibPack version 2.6, pour FreeCAD 0.19 téléchargez LibPack version 1.0. Extrayez LibPack à un endroit approprié. (Si votre ordinateur ne reconnaît pas l'extension .7z, vous devez installer le programme 7-zip).
    Remarque : il est fortement recommandé de compiler FreeCAD avec la version du compilateur pour laquelle le LibPack est conçu. Par exemple, vous pourriez rencontrer des problèmes en compilant FreeCAD 0.20 avec MSVC 2017 parce que le LibPack est conçu pour être construit avec MSVC 2019 ou plus récent.
    Pour mettre à jour votre LibPack ultérieurement, consultez la section Mise à jour de LibPack.

Programmes optionnels

  • 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 dans l'explorateur de fichiers Windows et dispose d'une large communauté d'utilisateurs pour obtenir de l'aide en cas de problème.

  • NSIS est utilisé pour générer le programme d'installation de FreeCAD Windows.

Code source

Vous pouvez maintenant obtenir le code source de FreeCAD :

Utiliser une interface

Lorsque vous utilisez le Git frontend TortoiseGit :

  1. Créez un nouveau dossier dans lequel le code source sera téléchargé.
  2. Cliquez avec le bouton droit de la souris sur ce dossier dans l'explorateur de fichiers Windows et sélectionnez Git Clone dans le menu contextuel.
  3. Une boîte de dialogue apparaîtra. Dans celui-ci, entrez l'URL du dépôt FreeCAD Git

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

et cliquez sur OK.

Le dernier code source sera téléchargé à partir du dépôt FreeCAD Git et le dossier sera suivi par Git.

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 :

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

Compilateur

Le compilateur par défaut (recommandé) est MS Visual Studio (MSVC). Bien qu'il soit possible d'utiliser d'autres compilateurs, par exemple gcc via Cygwin ou MinGW, cela n'est pas testé ni couvert ici.

Vous pouvez obtenir une version gratuite de MSVC (pour un usage individuel) en téléchargeant l 'édition Community de MS Visual Studio.

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

Remarque : Bien que l'édition Community de MSVC soit gratuite, pour utiliser l'EDI pendant plus de 30 jours, vous devez créer un compte Microsoft. Si vous ne compilez qu'en utilisant la ligne de commande, vous n'avez pas besoin de l'EDI et donc pas de compte Microsoft.

Comme alternative gratuite et OpenSource IDE, vous pouvez utiliser KDevelop. Vous pouvez utiliser KDevelop pour modifier et écrire du code C ++, mais vous devez utiliser la ligne de commande pour compiler.

Configuration optionnelle du chemin d'accès au système

Vous pouvez éventuellement inclure les chemins d'accès à certains dossiers de la variable système PATH. Ceci est utile si vous souhaitez accéder aux programmes de ces dossiers à partir de la ligne de commande/powershell ou si vous souhaitez que des programmes spéciaux soient trouvés par le compilateur ou CMake. En outre, l’ajout de dossiers à PATH peut s’avérer nécessaire si vous n’utilisez pas les options correspondantes lors de l’installation du programme.

  • Vous pouvez inclure le dossier de votre LibPack dans votre variable système PATH. Ceci est utile si vous envisagez de créer plusieurs configurations/versions de FreeCAD.
  • Si vous n'avez pas utilisé l'option permettant d'ajouter CMake à PATH lors de son installation, ajoutez son dossier d'installation

C:\Program Files\CMake\bin à PATH.

  • Si vous n'avez pas utilisé l'option permettant d'ajouter TortoiseGit à PATH lors de son installation, ajoutez son dossier d'installation

C:\Program Files\TortoiseGit\bin à PATH.

Pour ajouter à votre chemin au système :

  1. Dans le menu Démarrer de Windows, cliquez avec le bouton droit de la souris sur Ordinateur et choisissez Propriétés.
  2. Dans la boîte de dialogue qui apparaît, cliquez sur Paramètres système avancés.
  3. Une autre boîte de dialogue s'ouvrira. Cliquez sur l'onglet Avancé sur Variables d'environnement.
  4. Encore une autre boîte de dialogue s'ouvrira. Sélectionnez ensuite la variable Path et cliquez sur Editer.
  5. Une autre boîte de dialogue s'ouvrira. Cliquez ici sur Nouveau et ajoutez le chemin d'accès au dossier de Git ou du LibPack.
  6. Enfin, appuyez sur OK et fermez toutes les boîtes de dialogue en appuyant sur OK.

Configuration

Une fois que vous avez tous les outils, bibliothèques et code source FreeCAD nécessaires, vous êtes prêt à commencer le processus de configuration et de compilation. Ce processus se déroulera en cinq étapes :

  1. Exécutez CMake une fois pour examiner votre système et commencer la progression de la configuration (cela signalera qu'il a échoué).
  2. Ajustez les paramètres CMake nécessaires pour définir les emplacements du LibPack et activer Qt5.
  3. Relancez CMake pour finaliser la configuration (cette fois, cela devrait réussir).
  4. Utilisez CMake pour générer le système de build Visual Studio.
  5. Utilisez Visual Studio pour créer FreeCAD.

CMake

Tout d'abord, configurez l'environnement de compilation en utilisant CMake :

  1. Ouvrez l'interface graphique de CMake
  2. Spécifiez le dossier source de FreeCAD.
  3. Spécifiez un dossier de compilation. Cela peut être compilé dans le dossier où vous avez cloné le repo car ce chemin est ignoré par git. N'utilisez pas le dossier source. CMake va créer ce dossier s'il n'existe pas.
  4. Cliquez sur Configure.
  5. Dans la boîte de dialogue qui apparaît, spécifiez le générateur que vous voulez utiliser : dans la plupart des cas, vous utiliserez les valeurs par défaut de cette boîte de dialogue. Pour le MS Visual Studio standard, utilisez Visual Studio xx 2yyy où xx est la version du compilateur et 2yyy l'année de sa sortie. Il est recommandé d'utiliser l'option par défaut Use default native compilers.

Remarque: Il est important de spécifier la variante de bit correcte. Si vous avez la variante 64 bits de LibPack, vous devez également utiliser le compilateur x64.

Cela commencera la configuration et échouera à cause de paramètres manquants. C'est normal, vous n'avez pas encore spécifié l'emplacement du LibPack. Cependant, d'autres problèmes peuvent survenir et nécessiter une action supplémentaire de votre part.

S'il échoue avec le message Visual Studio est introuvable, la prise en charge de CMake dans MSVC n'est pas encore installée. Pour l'installer :

  1. Ouvrez l'EDI MSVC
  2. Utilisez le menu Tools → Get Tools and Features
  3. Dans l'onglet Workloads, activez Desktop development with C++
  4. Sur le côté droit, vous devriez maintenant voir que le composant Visual C++ tools for CMake sera installé.
  5. Installez-le.

Si cela échoue avec un message sur la mauvaise version de Python ou Python manquant, alors :

  1. Utilisez la case "Search:" dans CMake pour rechercher la chaîne "Python"
  2. Si vous y voyez un chemin comme C:/Program Files/Python38/python.exe, CMake a reconnu le Python qui est déjà installé sur votre PC, mais cette version n'est pas compatible avec le LibPack. Étant donné que le LibPack inclut une version compatible de Python, modifiez les paramètres Python suivants dans CMake sur ses chemins (en supposant que le LibPack se trouve dans le dossier D:/FreeCAD-build/FreeCADLibs_2_8_x64_VC2019) :

S'il n'y a pas d'erreur concernant Visual Studio ou Python, tout va bien, mais CMake ne connaît pas encore tous les paramètres nécessaires. Donc maintenant :

  1. Cherchez dans CMake la variable FREECAD_LIBPACK_DIR et spécifiez l'emplacement du dossier LibPack que vous avez téléchargé plus tôt.
  2. (Si vous compilez FreeCAD 0.19) cherchez la variable BUILD_QT5 et activez cette option.
  3. (Si vous prévoyez d'exécuter directement à partir du dossier de compilation comme pour le débogage) recherchez et activez les options suivantes :
    • FREECAD_COPY_DEPEND_DIRS_TO_BUILD
    • FREECAD_COPY_LIBPACK_BIN_TO_BUILD
    • FREECAD_COPY_PLUGINS_BIN_TO_BUILD
  4. Cliquez à nouveau sur Configure.

Il ne devrait plus y avoir d’erreurs. Si vous continuez à rencontrer des erreurs que vous ne pouvez pas diagnostiquer, allez sur le Forum Install/Compile de FreeCAD. Si CMake a procédé correctement, cliquez sur Generate. Une fois cela fait, vous pouvez fermer CMake et démarrer la compilation de FreeCAD à l'aide de Visual Studio. Cependant, pour la première compilation, gardez-le ouvert au cas où vous voudriez ou auriez besoin de changer certaines options pour le processus de construction.

Options pour le procédé de compilation

Le système de compilation CMake vous permet de contrôler certains aspects du processus de compilation. En particulier, vous pouvez activer et désactiver certaines fonctionnalités ou modules à l'aide des variables CMake.

Voici la description de certaines de ces variables :

Nom de la variable Description Valeur par défaut
BUILD_XXX Compile FreeCAD avec le composant XXX. Si vous ne voulez/nécessitez pas compiler par exemple l'atelier OpenSCAD, désactivez la variable BUILD_OPENSCAD. FreeCAD n'aura alors pas cet atelier.

Remarque: Certains composants sont nécessaires pour d'autres composants. Si vous décochez par exemple BUILD_ROBOT, CMake vous informera qu'alors le composant Path ne pourra pas être compilé correctement. Vérifiez donc la sortie de CMake après avoir modifié une option BUILD_XXX!

ca dépend
BUILD_ENABLE_CXX_STD La version du standard du langage C++. C++14 est la plus élevée possible pour FreeCAD 0.19 alors qu'au moins C++17 est nécessaire pour FreeCAD 0.20. Voir aussi la note dans la section Construire avec Visual Studio 15 (2017) et 16 (2019) ca dépend
BUILD_DESIGNER_PLUGIN Pour construire le plugin Qt Designer, voir cette section ci-dessous OFF
BUILD_FLAT_MESH Nécessaire pour avoir une version qui inclut la fonction Développer un objet maillé. OFF
CMAKE_INSTALL_PREFIX Le dossier de sortie lors de la construction de la cible INSTALL, voir aussi la section Exécution et installation de FreeCAD Le dossier d'installation par défaut de Windows
FREECAD_COPY_DEPEND_DIRS_TO_BUILD Copie les bibliothèques dépendantes nécessaires à l'exécution de FreeCAD.exe dans le dossier de build. Voir aussi la section Exécution et installation de FreeCAD.
Remarque : les options FREECAD_COPY_XXX n'apparaissent que si les bibliothèques n'ont pas déjà été copiées. Si vous avez seulement besoin de mettre à jour/changer pour une autre version du LibPack, voir la section Mise à jour de LibPack. Si vous voulez ramener les options pour une raison quelconque, vous devez supprimer tous les dossiers de votre dossier de construction, à l'exception du dossier LibPack. Dans CMake, supprimez le cache et démarrez comme si vous compiliez pour la première fois.
OFF
FREECAD_COPY_LIBPACK_BIN_TO_BUILD Copie les binaires LibPack nécessaires à l'exécution de FreeCAD.exe dans le dossier de compilation. Voir aussi la section Exécution et installation de FreeCAD. OFF
FREECAD_COPY_PLUGINS_BIN_TO_BUILD Copie les fichiers plugins de Qt nécessaires à l'exécution de FreeCAD.exe dans le dossier de compilation. Voir aussi la section Exécution et installation de FreeCAD. OFF
FREECAD_LIBPACK_USE Active ou désactive l'utilisation du LibPack de FreeCAD ON
FREECAD_LIBPACK_DIR Répertoire où se trouve le LibPack Dossier du code source de FreeCAD
FREECAD_RELEASE_PDB Créer des bibliothèques de débogage (*.pdb) également pour les compilations de version. Cela n'affecte pas la vitesse (comme le ferait une vraie compilation de débogage) et peut être très utile pour localiser les crashs dans le code de FreeCAD. En cas de crash de FreeCAD, un fichier crash.dmp sera créé et pourra être chargé avec MSVC et si vous avez les fichiers PDB correspondants ainsi que le code source de cette version, vous pourrez déboguer le code. Sans les fichiers PDB, il n'est pas possible de déboguer le code et tout ce que le débogueur montre est le nom de la DLL où le crash s'est produit. ON
FREECAD_USE_MP_COMPILE_FLAG Ajoute l'option /MP (multiprocesseur) aux projets Visual Studio, permettant des accélérations sur les CPU multi-cœurs. Cela peut accélérer considérablement les builds sur les processeurs modernes.
Remarque : Si vous désactivez FREECAD_USE_PCH, la compilation peut rapidement surcharger votre espace de tas, même si vous avez 16 Go de RAM.
ON
FREECAD_USE_PCH Précompilation des en-têtes afin de gagner du temps de compilation. ON
FREECAD_USE_PYBIND11 Inclut la bibliothèque PyBind11. Nécessaire pour avoir un build qui inclut la fonction Développer un objet maillé.
Remarque : après l'avoir allumé, vous pourriez obtenir une erreur de configuration. Il suffit de configurer à nouveau et le problème devrait disparaître.
OFF

Compilation de FreeCAD

En fonction de votre compilateur, le processus de compilation de FreeCAD sera légèrement différent. Dans les sections suivantes, les processus connus sont décrits. Si vous compilez avec Qt Creator, passez à Compilation avec Qt Creator (obsolète), sinon procédez directement :

Compilation avec Visual Studio 15 (2017) ou plus récent

Version de compilation

  1. Démarrez l'IDE Visual Studio. Cela peut être effectué en appuyant sur le bouton Ouvrir un projet dans l'interface graphique de CMake ou en double-cliquant sur le fichier FreeCAD.sln que vous trouvez dans votre dossier de construction.
  2. Dans la barre d’outils de l’EDI MSVC, assurez-vous que vous utilisez pour la première compilation Release.
  3. Il y a une fenêtre appelée Solution Explorer. Elle répertorie toutes les cibles de compilation possibles. Pour démarrer une compilation complète, faites un clic droit sur la cible ALL_BUILD puis choisissez Build.

Cela va prendre pas mal de temps.

Pour compiler un FreeCAD prêt à l’emploi, compilez la cible INSTALL, voir la section Exécution et installation de FreeCAD.

Si vous n'obtenez aucune erreur, vous avez terminé. Félicitations ! Vous pouvez quitter MSVC ou le garder ouvert.

Important : à partir de Visual Studio 17.4, vous ne pouvez pas utiliser l'optimisation de code activée par défaut pour la cible SketcherGui. Si vous le faites, les contraintes d'angle seront mal placées dans les esquisses. Pour résoudre ce problème, cliquez avec le bouton droit de la souris sur cette cible dans l'explorateur de solutions MSVC et sélectionnez la dernière entrée Properties dans le menu contextuel. Dans la boîte de dialogue qui apparaît, allez dans C/C++ → Optimisation et désactivez le paramètre Optimization. Enfin, recompilez la cible ALL_BUILD.

Compilation de débogage

Pour une version de débogage, il est nécessaire d'utiliser le Python inclus dans le LibPack. Pour assurer cela :

  1. Recherchez "Python" dans l'interface graphique de CMake
  2. Si vous y voyez un chemin comme 'C:/Program Files/Python38/python.exe, CMake a reconnu le Python qui est installé sur votre PC et non celui du LibPack. Dans ce cas, adaptez ces différents paramètres Python dans CMake à cela (en supposant que le LibPack se trouve dans le dossier D:\FreeCAD-build\FreeCADLibs_12.5.2_x64_VC17) :

Comme pré-requis pour la compilation debug, vous devez faire ceci :

  1. Copier le contenu du dossier LibPack bind dans le dossier bin du dossier de la compilation de FreeCAD (écraser les fichiers existants).
  2. Copier le contenu du dossier LibPack libd dans le dossier lib du dossier de la compilation de FreeCAD.

Maintenant vous pouvez compiler :

  1. Démarrez l'IDE de Visual Studio. Cela peut être fait soit en appuyant sur le bouton Open Project dans la GUI de CMake ou en double-cliquant sur le fichier FreeCAD.sln que vous trouvez dans votre dossier de compilation.
  2. Dans la barre d'outils de l'IDE de MSVC, assurez-vous que vous utilisez pour la première compilation Debug.
  3. Il y a une fenêtre appelée Solution Explorer. Elle liste toutes les cibles de compilation possibles. Pour lancer une compilation complète, cliquez avec le bouton droit de la souris sur la cible ALL_BUILD et choisissez ensuite Build dans le menu contextuel.

Cette opération va maintenant prendre beaucoup de temps.

S'il n'y a pas eu d'erreurs de compilation, et si les options FREECAD_COPY_* mentionnées dans l'étape configuration avec CMake ci-dessus ont été activées, vous pouvez commencer la compilation de débogage :

  1. Faites un clic droit sur la cible FreeCADMain et choisissez ensuite Set as Startup Project dans le menu contextuel.
  2. Enfin, cliquez dans la barre d'outils sur le bouton avec le triangle vert nommé Local Windows Debugger.

Cela lancera la version de débogage de FreeCAD et vous pourrez utiliser MSVC IDE pour le déboguer.

Ressource vidéo

Tutoriel en anglais qui commence par la configuration dans CMake Gui et continue jusqu'à la commande `Build` dans Visual Studio 16 2019 est disponible non répertorié sur YouTube à Tutorial: Build FreeCAD from source on Windows 10.

Compilation avec Qt Creator (obsolète)

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

Les étapes pour compiler à partir de la ligne de commande dépendent du compilateur. Pour MSVC 2017, les étapes sont les suivantes:

  1. Dans le menu Démarrer de Windows, accédez à Visual Studio 2017 → Outils Visual Studio et choisissez Invite de commande du développeur pour VS 2017.
  2. Allez dans votre dossier de construction.
  3. Exécute la commande
msbuild ALL_BUILD.vcxproj /p:Configuration=Release

ou

msbuild INSTALL.vcxproj /p:Configuration=Release

Ces étapes peuvent également être automatisées. Voici par exemple une solution pour MSVC 2017 :

  1. Téléchargez le script compile-FC.txt.
  2. Le renommer en compile-FC.bat
  3. Dans l'explorateur de fichiers de Windows, faites Shift+Cliquez-droit sur votre dossier de construction et utilisez-le dans le menu contextuel Invite de commandes ici.
  4. Exécute la commande
compile-FC install

Au lieu d'appeler compile-FC avec l'option installer, vous pouvez aussi utiliser déboguer ou release :

déboguer   - compiler FreeCAD dans la configuration de débogage

release - compiler FreeCAD dans la configuration de release

install   - compiler FreeCAD dans la configuration de la version et créer une installation

Exécution et installation de FreeCAD

Il existe 2 méthodes pour exécuter la compilation de FreeCAD :

Method 1 : Vous exécutez FreeCAD.exe que vous trouvez dans votre dossier de construction qui se trouve dans le sous-dossier bin

Method 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 la méthode 1, vous devez activer les options FREECAD_COPY_* mentionnées dans l'étape configuration avec CMake ci-dessus.

Dépannage

Lors de l'exécution de FreeCAD, vous pouvez rencontrer des DLLs manquantes lors de l'utilisation de certains ateliers ou fonctionnalités d'ateliers. Le message d'erreur dans la console de FreeCAD ne vous dira pas quelle DLL est manquante. Pour le savoir, vous devez utiliser un outil externe :

import os
os.system(r"~DependenciesGui.exe")

Note : Au lieu du ~, vous devez spécifier le chemin complet du DependenciesGui.exe sur votre système.

  • Faites maintenant glisser le fichier *.pyd de l'atelier avec lequel vous obtenez des DLLs manquantes signalées.

Mise à jour de la compilation

FreeCAD est très activement développé. Par conséquent, son code source change presque quotidiennement. De nouvelles fonctionnalités sont ajoutées et des bugs corrigés. Pour bénéficier de ces modifications du code source, vous devez reconstruire votre FreeCAD. Cette reconstruction se fait en deux étapes:

  1. Mise à jour du code source
  2. Recompilation

Mise à jour du code source

Utiliser une interface

Lorsque vous utilisez le Git frontend TortoiseGit :

  1. Dans l'explorateur de fichiers Windows faites clic droit sur le dossier de code source FreeCAD et sélectionnez dans le menu contextuel Pull.
  2. Une boîte de dialogue apparaîtra. Sélectionnez la branche de développement que vous souhaitez obtenir. master est la branche principale. Par conséquent, utilisez la sauf si vous voulez compiler une nouvelle fonctionnalité spéciale à partir d'une branche qui n'a pas encore été fusionnée avec maître. (Pour plus d'informations sur les branches Git, consultez Processus de développement Git).

Cliquez enfin sur OK.

Utiliser la ligne de commande

Ouvrez un terminal (invite de commande) et accédez au répertoire source. Puis tapez :

git pull https://github.com/FreeCAD/FreeCAD.git master

master est le nom de la branche principale du développement. Si vous voulez obtenir le code d’une autre branche, utilisez son nom au lieu de master.

Recompilation

  1. Ouvrez l'EDI MSVC en double-cliquant sur le fichier FreeCAD.sln ou sur le fichier ALL_BUILD.vcxproj dans votre dossier de compilation.
  2. Continuer à l'étape 2 de la section Compilation avec Visual Studio 15 (2017) ou plus récent.

Mise à jour de LibPack

Si une nouvelle version majeure d'une dépendance tierce comme Open Cascade est publiée, ou si une dépendance tierce a des corrections de bogues importantes, un nouveau LibPack est publié. Vous pouvez trouver la dernière version ici.

Pour mettre à jour votre LibPack, la recette suivante est la meilleure pratique :

  1. Supprimez le dossier bin de votre dossier de compilation.
  2. Passez à votre dossier LibPack local et supprimez tout ce qui s'y trouve.
  3. Extrayez le contenu du nouveau fichier ZIP LibPack dans le dossier LibPack local existant, mais maintenant vide.
  4. Ouvrez CMake et appuyez sur le bouton Configure et ensuite sur le bouton Generate. Cela recrée le dossier bin que vous venez de supprimer et y copie également les nouveaux fichiers LibPack.
  5. Dans CMake, cliquez sur le bouton Open Project et l'IDE MSVC s'ouvrira.
  6. Dans l'IDE MSVC, construisez la cible INSTALL.

Outils

Pour rejoindre le développement FreeCAD, vous devez compiler et installer les outils suivants :

Le plugin Qt Designer

FreeCAD utilise Qt comme boîte à outils pour son interface utilisateur. Toutes les boîtes de dialogue sont configurées dans des fichiers UI qui peuvent être modifiés à l'aide du programme Qt Designer. Il fait partie de toute installation Qt et également inclus dans le LibPack. FreeCAD a son propre ensemble de widgets Qt pour fournir des fonctionnalités spéciales comme l'ajout d'une unité aux champs de saisie et pour définir les propriétés des préférences.

Compilation

Le plugin ne peut pas être chargé par le Qt Designer s'il a été compilé en utilisant une autre version de Qt que celle sur laquelle votre Qt Designer/Qt Creator est basé. Par conséquent, le plugin doit être compilé en même temps que FreeCAD :

  • Dans les options CMake (voir cette section ci-dessus) activez l'option BUILD_DESIGNER_PLUGIN et reconfigurez.
  • Ouvrez MSVC et construisez la cible FreeCAD_widgets.

Le résultat est le fichier du plugin FreeCAD_widgets.dll dans le dossier
~src\Tools\plugins\widget\Release

Installation

Pour installer le plugin, copiez la DLL soit vers :

  • Si vous utilisez le LibPack : dans le dossier
    ~\FreeCADLibs_2_8_x64_VC2019\plugins\designer
  • Si vous avez une installation complète de Qt : vous pouvez choisir entre le dossier
    C:\Qt\5.15.2\msvc2019_64\plugins\designer
    ou
    C:\Qt\5.15.2\msvc2019_64\bin\designer (vous devez d'abord créer le sous-dossier designer.)
    (adaptez les chemins à votre installation !).

Enfin, (re)lancez Qt Designer et vérifiez son menu Help → Plugins. Si le plugin FreeCAD_widgets.dll est répertorié comme étant chargé, vous pouvez maintenant concevoir et modifier les fichiers .ui de FreeCAD, sinon vous devez compiler vous-même la DLL.

Si vous préférez utiliser Qt Creator au lieu de Qt Designer, le fichier du plugin doit être placé dans ce dossier :
C:\Qt\Qt5.15.2\Tools\QtCreator\bin\plugins\designer
Puis (re)lancez Qt Creator Qt Creator, passez en mode Design puis vérifiez le menu Tools → Form Editor → About Qt Designer Plugins. Si le plugin FreeCAD_widgets.dll est répertorié comme étant chargé, vous pouvez maintenant concevoir et modifier les fichiers .ui de FreeCAD. Sinon, vous devez compiler vous-même la DLL.

Fournisseur de vignettes

FreeCAD a la fonctionnalité de fournir des vignettes d'aperçu pour les fichiers *.FCStd. Cela signifie que dans l'explorateur de fichiers Windows, les fichiers *.FCStd sont affichés avec une capture d'écran du modèle qu'il contient. Pour fournir cette fonctionnalité, FreeCAD doit avoir le fichier FCStdThumbnail.dll installé sur Windows.

Installation

La DLL est installée de cette façon :

  1. Téléchargez ce fichier ZIP et extrayez-le.
  2. Ouvrez une invite de commande Windows avec des privilèges d'administrateur (ces privilèges sont obligatoires).
  3. Accédez au dossier où se trouve la DLL.
  4. Exécutez cette commande
    regsvr32 FCStdThumbnail.dll
    

Vérifiez donc si cela fonctionne, assurez-vous que dans FreeCAD, l'option de préférences Enregistrer la miniature dans le fichier de projet lors de l'enregistrement du document est activée et enregistre un modèle. Affichez ensuite dans l'Explorateur Windows le dossier du modèle enregistré à l'aide d'une vue de symboles. Vous devriez maintenant voir une capture d'écran du modèle dans la vue des dossiers.

Compilation

Pour compiler le FCStdThumbnail.dll

  1. Accédez au dossier source FreeCAD
    ~\src\Tools\thumbs\ThumbnailProvider
  2. Ouvrez l'interface graphique de CMake
  3. Spécifiez là comme dossier source celui dans lequel vous vous trouvez actuellement.
  4. Utilisez le même dossier que le dossier de construction.
  5. Cliquez sur Configure
  6. Dans la boîte de dialogue qui apparaît, spécifiez le générateur en fonction de celui que vous souhaitez utiliser. Pour le MS Visual Studio standard, utilisez Visual Studio xx 2yyy où xx est la version du compilateur et 2yyy l'année de sa sortie. Il est recommandé d'utiliser l'option par défaut Use default native compilers.
    Remarque: Il est important de spécifier la variante de bit correcte. Si vous avez la variante 64 bits de LibPack, vous devez également utiliser le compilateur x64.
  7. Cliquez sur Generate.
  8. Vous devriez maintenant avoir le fichier ALL_BUILD.vcxproj dans le dossier ~\src\Tools\thumbs\ThumbnailProvider. Double-cliquez dessus et l'IDE MSVC s'ouvrira.
  9. Dans la barre d'outils de l'EDI MSVC, assurez-vous que vous utilisez la cible de compilation Release.
  10. Il y a une fenêtre appelée Solution Explorer. Faites un clic droit là-bas sur ALL_BUILD puis choisissez Build.
  11. En conséquence, vous devriez maintenant avoir un FCStdThumbnail.dll dans le dossier ~\src\Tools\thumbs\ThumbnailProvider\release que vous pouvez installer comme décrit ci-dessus.

Compilation d'Open Cascade

LibPack est livré avec une version d'Open Cascade qui convient à une utilisation générale. Cependant, dans certaines circonstances, vous pouvez souhaiter compiler avec une autre version d'Open Cascade, comme l'une de leurs versions officielles, ou un fork patché.

Lorsque vous compilez Open Cascade pour FreeCAD, notez qu'il n'y a aucune garantie que FreeCAD fonctionnera avec toutes les versions d'Open Cascade. Notez également que lorsque vous utilisez la bibliothèque Netgen, vous devez utiliser la version NetGen approuvée pour la compilation avec la version d'Open Cascade que vous souhaitez compiler.

Pour compiler :

  • Ensuite, ouvrez l'interface graphique de CMake pour configurer le système de compilation d'une manière similaire à la compilation de FreeCAD. Ces options CMake doivent être définies (ou ne pas être définies explicitement) :
Nom de la variable Description Valeur par défaut
3RDPARTY_DIR Le chemin vers les composants tiers. Il est recommandé d'utiliser en entrée le dossier où se trouve votre LibPack utilisé. Laissez explicitement ce champ vide. vide
3RDPARTY_DOXYGEN_EXECUTABLE Le chemin vers l'exécutable du composant tiers Doxygen. Il est recommandé d'installer Doxygen. CMake le trouvera alors automatiquement. vide
3RDPARTY_FREETYPE_DIR Le chemin vers le composant tiers nécessaire Freetype. Il est recommandé d'utiliser comme entrée le dossier où se trouve votre LibPack utilisé. vide
3RDPARTY_RAPIDJSON_DIR Uniquement disponible si USE_RAPIDJSON est utilisé. Le chemin vers le composant tiers RapidJSON. Il est recommandé de NE PAS utiliser un dossier LibPack existant comme entrée. Vous pouvez utiliser le dossier RapidJSOn d'un LibPack, mais copiez-le dans un nouveau dossier et utilisez ce nouveau dossier comme entrée. vide
3RDPARTY_TCL_DIR Le chemin vers le composant tiers nécessaire TCL. Il est recommandé de ne PAS utiliser un dossier LibPack existant comme entrée. Prenez par exemple une des ces versions, extrayez-la et prenez-la comme dossier d'entrée pour CMake. vide
3RDPARTY_TK_DIR Le chemin vers le composant tiers nécessaire TK. Il est recommandé de ne PAS utiliser un dossier LibPack existant comme entrée. Prenez par exemple une des ces versions, extrayez-la et prenez-la comme dossier d'entrée pour CMake. vide
3RDPARTY_VTK_DIR Uniquement disponible si USE_VTK est utilisé. Le chemin vers le composant tiers nécessaire VTK. Il est recommandé d'utiliser le dossier en entrée où se trouve votre LibPack utilisé. Si vous utilisez un autre dossier, assurez-vous que vous n'utilisez pas VTK 9.x ou plus récent. Vide
BUILD_RELEASE_DISABLE_EXCEPTIONS Désactive la gestion des exceptions pour les builds de version. Pour FreeCAD vous devez le régler sur OFF. ON
INSTALL_DIR Le dossier de sortie lors de la construction de la cible INSTALL. Si la construction a réussi, prenez les fichiers de ce dossier pour mettre à jour votre LibPack. Dossier d'installation du programme par défaut de Windows
INSTALL_DIR_BIN Le sous-dossier de sortie pour la DLL lors de la construction de la cible INSTALL. Vous devez le remplacer par bin. win64/vc14/bin
INSTALL_DIR_LIB Le sous-dossier de sortie pour les fichiers .lib lors de la construction de la cible INSTALL. Vous devez le remplacer par lib. win64/vc14/lib
USE_RAPIDJSON Pour compiler Open Cascade avec le support de RapidJSON. L'activation de cette option est obligatoire pour obtenir le support du format de fichier glTF. OFF
USE_VTK Pour compiler Open Cascade avec le support de VTK. L'activation de cette option est optimale. Vous pouvez l'utiliser pour construire le pont VTK d'Open Cascade. OFF
  • Ouvrez le projet dans Visual Studio et construisez d'abord les cibles ALL_BUILD puis INSTALL en mode Release.
  • Répétez la construction des deux cibles en mode Debug.

Pour compiler FreeCAD en utilisant Open Cascade auto-compilé, vous devez effectuer les opérations suivantes :

  • Copiez tous les dossiers de INSTALL_DIR dans votre dossier LibPack (écrasez les fichiers existants).
  • Passez au dossier LibPack et allez dans le sous-dossier cmake.
  • Ouvrez-y le fichier OpenCASCADEDrawTargets.cmake avec un éditeur de texte.
  • Cherchez-y les chemins absolus vers votre dossier LibPack et supprimez-les. Ainsi, par exemple, le chemin absolu
    D:/FreeCADLibs_12.5.4_x64_VC17/lib/freetype.lib
    devient simplement
    freetype.lib
  • Faites de même pour le fichier OpenCASCADEVisualizationTargets.cmake

Compilation de Netgen

LibPack est livré avec une version de Netgen qui a été testée pour être construite avec la version Open Cascade du LibPack. Le problème est que chaque nouvelle version de Netgen modifie l'API. De même, chaque nouvelle version d'Open Cascade fait de même. Par conséquent, on ne peut pas changer facilement la version de Netgen.

Cependant, vous pouvez tout de même construire Netgen. C'est une tâche facile :

  • Tout d'abord, procurez-vous le code source de Netgen, soit directement à partir de Dépôt git de Netgen.
  • Ensuite, ouvrez l'interface graphique CMake pour configurer le système de compilation de manière similaire à la construction de FreeCAD. Les options CMake suivantes doivent être définies :
Nom de la variable Description Valeur par défaut
CMAKE_INSTALL_PREFIX Le dossier de sortie lors de la compilation de la cible INSTALL. Si la compilation a réussi, prenez les fichiers de ce dossier pour mettre à jour votre LibPack. C:/netgen
OpenCasCade_DIR Le chemin vers les fichiers CMake d'Open Cascade. Si vous avez compilé Open Cascade comme décrit dans la section Compilation d'Open Cascade, vous pouvez utiliser le sous-dossier cmake du dossier que vous avez utilisé comme INSTALL_DIR. Sinon, utilisez le sous-dossier cmake de votre LibPack. Notez que le LibPack doit alors déjà contenir une compilation correcte d'Open Cascade. Indépendamment du dossier que vous utilisez, vous devez maintenant y créer un sous-dossier lib et y copier les fichiers freetype.lib et freetyped.lib de votre LibPack. vide
USE_GUI Mettez-le sur OFF. ON
USE_NATIVE_ARCH Mettez la valeur OFF ; ceci n'est nécessaire et important que pour supporter les anciens processeurs qui n'ont pas le jeu d'instructions AVX2. ON
USE_OCC Mettez-le sur ON. OFF
USE_PYTHON Mettez-le sur OFF. ON
USE_SUPERBUILD Mettez-le sur OFF. ON
ZLIB_INCLUDE_DIR Le chemin vers le composant tiers nécessaire zlib. Il est recommandé d'utiliser en entrée le dossier où se trouve votre LibPack utilisé. vide
ZLIB_LIBRARY_DEBUG Le chemin vers le fichier ZLib zlibd.lib. Il est situé dans le sous-dossier lib de votre dossier LibPack. vide
ZLIB_LIBRARY_RELEASE Le chemin vers le fichier ZLib zlib.lib. Il est situé dans le sous-dossier lib de votre dossier LibPack. vide
  • De plus, vous devez ajouter une nouvelle entrée CMake :

nom : CMAKE_DEBUG_POSTFIX, type : string, contenu : _d
Cela garantit que les noms de fichiers des bibliothèques de débogage ont un autre nom que les bibliothèques de publication et ne peuvent pas être échangés accidentellement par la suite.

  • Appuyez sur le bouton Configure dans CMake pour générer les fichiers *.cmake.
  • Seulement nécessaire si des CPU plus anciens doivent être supportés qui n'ont pas le jeu d'instructions AVX2 :
    • Recherchez dans votre dossier de construction Netgen le fichier netgen-targets.cmake et ouvrez-le avec un éditeur de texte. Supprimez le paramètre ;/arch:AVX2 dans l'option INTERFACE_COMPILE_OPTIONS.
    • Appuyez à nouveau sur le bouton Configure dans CMake.
  • Appuyez sur le bouton Generate dans CMake.
  • Ouvrez le projet dans Visual Studio et construisez d'abord les cibles ALL_BUILD et ensuite INSTALL en mode Release.
  • Répétez la construction des deux cibles en mode Debug.

Pour compiler FreeCAD en utilisant l'auto-compilation de Netgen, vous devez faire ce qui suit :

  • Copiez tous les dossiers de CMAKE_INSTALL_PREFIX dans votre dossier LibPack (écrasez les fichiers existants).

Références

Voir aussi